how2j.cn


工具版本兼容问题
一个变量的类型,决定了该变量可以包含什么样的值。
Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。

这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



9分23秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器



示例 1 : 整型   
示例 2 : 字符型   
示例 3 : 浮点型   
示例 4 : 布尔型   
示例 5 : String类型   
示例 6 : 练习-变量类型   
示例 7 : 答案-变量类型   

整型变量用于存放整数
byte
short
int
long
区别在于不同类型的整型,最大值,最小值不一样
如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误,这个时候就需要进行类型转换,在后面的章节会讲解
整型
public class HelloWorld{ public static void main(String[] args){ byte b = 1; short s = 200; int i = 300; long l = 400; /*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/ byte b2 = 200; } }
public class HelloWorld{
   
  public static void main(String[] args){
	  byte b = 1;
	  short s = 200;
	  int i = 300;
	  long l = 400;

	  /*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/
	  byte b2 = 200;
  }
}
char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
其长度和short一样,也是16位的
只能存放一个字符,超过一个字符就会产生编译错误
public class HelloWorld{ public static void main(String[] args){ char c = '中'; //char 只能存放一个字符,超过一个字符就会产生编译错误 char c2 = '中国'; //报错 char c3 = 'ab'; //报错 } }
public class HelloWorld{
   
  public static void main(String[] args){
	  char c = '中';
	  //char 只能存放一个字符,超过一个字符就会产生编译错误
	  char c2 = '中国'; //报错
	  char c3 = 'ab'; //报错

  }
}
浮点数类型有两种
float 长度为32位
double 长度为64位
注意: 默认的小数值是double类型的
所以 float f = 54.321会出现编译错误,因为54.321的默认类型是 double,其类型 长度为64,超过了float的长度32
在数字后面加一个字母f,直接把该数字声明成float类型
float f2 = 54.321f,
这样就不会出错了
浮点型
public class HelloWorld{ public static void main(String[] args){ double d = 123.45; //该行会出现编译错误,因为54.321是double型的 float f = 54.321; float f2 = 54.321f; } }
public class HelloWorld{
    
  public static void main(String[] args){
      double d = 123.45;
       
      //该行会出现编译错误,因为54.321是double型的
      float f = 54.321;
       
      float f2 = 54.321f;
       
  }
}
布尔型用于表示真假
其长度为1

boolean b1 = true;
boolean b2 = false;


分别代表真假
虽然布尔型真正存放的数据是0(false) 1(true)
但是,不能直接使用0 1 进行赋值
布尔型
public class HelloWorld { public static void main(String[] args) { boolean b1 = true; boolean b2 = false; // 虽然布尔型真正存放的数据是0(false) 1(true) // 但是,不能直接使用0 1 进行赋值 boolean b3 = 1; } }
public class HelloWorld {

	public static void main(String[] args) {

		boolean b1 = true;
		boolean b2 = false;

		// 虽然布尔型真正存放的数据是0(false) 1(true)
		// 但是,不能直接使用0 1 进行赋值
		boolean b3 = 1;

	}
}
String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
String类型是Immutable的,一旦创建就不能够被改变,更多的关于String的学习,请参考String
public class HelloWorld { public static void main(String[] args) { String str = "Hello Java"; } }
public class HelloWorld {
    public static void main(String[] args) {
    	String str = "Hello Java";
    }
}
示例 6 :

练习-变量类型

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
分别为如下值,找到合适的类型来定义
3.14
2.769343
365
12
'吃'
false
"不可描述"

比如3.14就使用double

double a = 3.14;
示例 7 :

答案-变量类型

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

3分4秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


答案并不唯一,以下是参考
public class HelloWorld { public static void main(String[] args) { double pi = 3.14; double e = 2.769343; short days = 365; byte months = 12; char chi = '吃'; boolean die = false; String fucking = "不可描述"; } }
public class HelloWorld {
    public static void main(String[] args) {
    	double pi = 3.14;
    	double e = 2.769343;
    	short days = 365;
    	byte months = 12;
    	char chi = '吃';
    	boolean die = false;
    	String fucking = "不可描述";
    }
}


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2022-06-18 不理解字节的意思
JohnnyJo




我想问一下为什么365是用short;12用的是byte,我是初学者在我的理解中,byte是一个字节不是只能表达1个数字吗,short是2个字节不是只能表达2个数字吗??
public class Test{

	public static void main(String[]args) {
		double a = 3.14;
		double b = 2.769343;
		int c = 365;
		short d = 12;
		char f = '吃';
		boolean e = false ;
		String g = "不可描述";

		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
		System.out.println(f);
		System.out.println(g);
	}
}

							


4 个答案

Rr2577588052
答案时间:2022-07-31
所谓1字节,是8位二进制数,能表示的数从八个零到八个一,一共2^8个数,也就是256个,其中一位拿出来做符号位,还有七位表示绝对大小也就是从0到±127,其中0有±0两个,所以把-0作为-128.

张遥23
答案时间:2022-07-08
//整型变量用于存放整数 //byte -128~127 即-2^7 ---- 2^7-1 长度8 //short -32768~32767 即-2^15 ---- 2^15-1 长度16 //int -2147483648 - 2147483647 即-2^31 ---- 2^31-1 长度32 //long -9223372036854775808~9223372036854775807 即-2^63 ---- 2^63-1 长度64 // 这是我整理的

张遥23
答案时间:2022-07-08
初学我觉得不用考虑这个你只要能确定变量的数值大小,选对的用就可以了

墟竹
答案时间:2022-06-20
底层用的二进制,1个字节为8位二进制数,考虑到正负数的情况,1个字节可以表示-128~127。



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-12-29 关于float
yolanda_hello_java

为什么答案给出的 3.14 2.769343 都是double? float的范围我的理解是包含这两个数的 用float可以吗? 浮点数两个类型的范围是多大,表格中给的没明白




11 个答案

陈子豪
答案时间:2022-08-05
public class Variable { public static void main(String[]args){ double a =3.14; double a2 = 2.769343; short b = 365; byte c = 12; char d = "吃"; boolean e = false; String f = "不可描述"; } }

8866
答案时间:2022-07-18
0805_3
答案时间:2022-06-29
public static void main(String[] args) { double a = 3.14; float b = 2.769343f; int c = 365; byte d = 12; char e = '吃'; boolean f = false; String g = "不可描述"; }

fan541736130
答案时间:2022-06-24
char a = '樊'; double b=3.14; double c=2.769343; float d=2.769343f; short e=365; int q=365; long w=365l; byte r=12; char t ='吃'; boolean o=false; String name="不可描述";

努力学习-早日上岸
答案时间:2022-04-24
关于楼上对于单精浮点型的理解做一点纠正,java中的所有小数(数值而非变量)都是double型,不管小数点后是一位还是两位,若不进行类型转换,都只能用double对变量进行声明并赋值小数。

fyc7015656
答案时间:2022-03-12
行业
答案时间:2022-03-11
赵文熙
答案时间:2022-03-05
public class Item { float we = 3.14f ; double b = 2.769343 ; int x= 365 ; byte t = 12 ; char a= '吃'; boolean d=false ; String s= "不可描述" ; }

是媛宝吖
答案时间:2022-02-22
3.14 --> double 2.769343 --> double 365 --> int 12 --> int '吃' --> char false --> boolean "不可描述" --> String

Ljwstudying
答案时间:2022-02-07
Java中小数都默认是double类型的,如果想要用float类型表示,需要将进行类型转换,例如:float a = 3.14f;

Jn_L
答案时间:2022-01-06
float为单精度浮点类型,而double为双精度浮点类型,可以这样理解吧,如果小数点后只有一位可以用float型,如果后面有两位及以上就用double型;如果小数点后面又两位及以上你还想用float型,比如3.1415,这时你就要这样写 float a = 3.1415f



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2021-10-22 代码报错
2021-09-25 浮点类型范围问题
2021-08-03 long类型的取值范围


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 56 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-变量-基本变量类型 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图