失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java八种基本数据类型定义与取值范围

Java八种基本数据类型定义与取值范围

时间:2023-01-05 19:54:19

相关推荐

Java八种基本数据类型定义与取值范围

基本数据类型也称为简单数据类型,Java语言中有八种基本数据类型,

分别为 boolean、byte、short、char、int、long、float、double,这八种基本数据类型通常分为四大类型;

逻辑类型(布尔类型):boolean;整数类型 :byte、short、int、long;浮点类型 :float、double;字符类型 :char;

以下进行逐一介绍这八种基本数据类型:

一、逻辑类型(布尔类型):boolean ;

特点:

声明与使用布尔类型的变量时,只能对其赋予true、false;在声明的同时也可以直接赋予初值;逻辑类型的变量在声明时没有默认值,所以当没有进行赋予初值时,是不能输出与使用的;

public class Basic_data_type {public static void main(String[] args) {//Java八种基本数据类型//一、逻辑类型:Boolean;(也称为布尔类型)boolean test1 = false , test2 = true , test3 ;//报错:The local variable test3 may not have been initializedif(test3){System.out.println("测试Boolean类型3:"+test3);}System.out.println("测试Boolean类型1:"+test1);System.out.println("测试Boolean类型2:"+test2);}}

二、整数类型:byte ;

特点:

1、Java中不存在byte型常量的表示法(常量后缀),但可以把一定范围内的int型常量赋值给byte型变量;

常量的表示法指:在常量的后缀加上特定的字母 ;

如:整数类型中的long和浮点类型中的double等,他们在声明一个变量并赋予初值时,可以加上常量后缀来表示常量的数据类型。long test1 = 100L; double test2 = 2.22D ; 其中的L于D就是以上说的常量后缀了,使用小写l、d也是可以的;

2、byte型变量,Java为其分配了1个字节内存,占8位,因此在对byte型变量赋值时范围要在-128~127之间;(-2^7~2^7-1)

3、当需要强调一个整数是byte类型时,可以使用强制类型转换;

如:int test4 = (byte)128; // 虽然128超出了byte的范围,但是它会自动将128转换成范围之间的-128;所以test3的值为-128而不是128;

public class Basic_data_type {public static void main(String[] args) {//Java八种基本数据类型//一、整数类型:byte ;byte test2 = -128;double test1 = 2.22D ;long test3 = 30L ;int test4 = (byte)128;System.out.println("测试byte类型1:"+test1);System.out.println("测试byte类型2:"+test2);System.out.println("测试byte类型3:"+test3);System.out.println("测试byte类型4:"+test4);}}

二、整数类型:short;

特点:

1、Java中不存在short型常量的表示法(常量后缀),但可以把一定范围内的int型常量赋值给short型变量,和byte是一样的;

2、short型变量,Java为其分配了2个字节内存,占16位,

因此在对short型变量赋值时范围要在-32768~32767之间;(-2^15~2^15-1)

如:short a =32767,b=-32768,c ;

3、当需要强调一个整数是short类型时,可以使用强制类型转换;(与byte是一样的道理)

如:int test2 = (short)32768; // 虽然32768超出了short的范围,但是它会自动将32768转换成范围之间的-32768;所以test2 的值为-32768而不是32768;

二、整数类型:int;

特点:

1、Java中不存在int型常量的表示法(常量后缀);

2、int型变量,Java为其分配了4个字节内存,占32位,

因此在对int型变量赋值时范围要在-2147483648~2147483647之间;(-2^31~2^31-1)

如:int a = 2147483647,b=-2147483648,c ;

二、整数类型:long;

特点:

1、Java中存在long型常量的表示法(常量后缀),如:long test = 100L;

2、long型变量,Java为其分配了8个字节内存,占64位,

因此在对long型变量赋值时范围要在-9223372036854775808~9223372036854775807之间;(-2^63~2^63-1)

如:long test_max=9223372036854775807 //因为long是64位的,所以直接使用9223372036854775807 赋值是错误的 ;

* 需要详细了解long的最大值与最小值问题,请访问链接:/postedit/104056886

总结以上四种整数类型之间取值范围规律:

byte :-2^7~2^7-1 ; short :-2^15~2^15-1 ; int:-2^31~2^13-1 ;long:-2^63~2^63-1

从short开始2的次幂都是 7*2+1 = 15 、15*2+1 = 31、31*2+1 = 63 进行依次计算的;

三、浮点类型:float(单精度类型);

特点:

1、Java中存在float型常量的表示法(常量后缀),而且在声明并赋予初值时,常量后面必须要有后缀l或者L,否则会因为常量默认是double类型而报错,如:float test = 100.123; //错误Type mismatch: cannot convert from double to float

2、float型变量,Java为其分配了4个字节内存,占34位,

因此在对float型变量赋值时范围要是 (1.4E-45 ~ 3.4028235E38) 和 (-3.4028235E38 ~ -1.4E-45 )之间;

如:folat test = 22.76f , test1 = 1234.123f , test2 = 1.4E-45F ; //其中 1.4E-45 指 (1.4 * 10 的 -45 次方)

3、float变量在存储float型数据时默认保留8位有效数字,有效数字是从常量的第一数字开始算起

如:float test3 = 1234.123456789f ; //则系统存储的是:1234.1234 ;

*当存在0开头的赋值时,则从与数字相邻的第一个0开始算起,一共取8位;

如:float test4 = 0.0123456789 ; //则系统存储0.01234567 ;float test4 = 0.00123456789 ; //则系统存储0.001234567 ;

三、浮点类型:double (双精度类型);

特点:

1、Java中存在float型常量的表示法(常量后缀),使用d或者D来表示,也可以省略该后缀;

如:double test = 23.332d , test1 = 11.111D , test2 = 45.454 ;

2、double型变量,Java为其分配了8个字节内存,占64位,因此在对double型变量赋值时范围要是 :

(4.9E-324 ~ 1.7976931348623157E308) 和 (-1.7976931348623157E308 ~ -4.9E-432 )之间;

3、double变量在存储double型数据时默认保留16位有效数字,有效数字是从常量的第一数字开始算起,相当于float类型存储的有效数字长度更长,进行计算有效数字时,与上面float是一样的;(排除因为去掉16位后的小数大于5,而出现向前进位的情况;如:double test1 = 0.4000000059604640044 , test2 = 0.4000000059604640089; //test1与test2的存储输出结果是不一样的)

四、字符类型:char ;

特点:

1、Java中不存在char型常量的表示法(常量后缀);赋值时用 'a'、'B'、'!'、'好'、'11'、'\n'、'\t' 等,即用单引号扩起 Unicode表中的任意一个字符;

2、char型变量,Java为其分配了2个字节内存,占16位,在对char型变量赋值时范围要是 :0~65535 ; char是没有负数的;

如:char test = 'A' , test1 = '为' , test2 = 97 ;

3、有些字符是不能通过键盘输入到字符串或者程序中的,这时可以使用转义的字符常量;

如:\n(换行)、\b(退格)、\t(水平制表)、\'(单引号)、\''(双引号)、\\(反斜线)等;

public class Basic_data_type {public static void main(String args[]) {//Java八种基本数据类型//一、字符类型:char ;char test = 'A' , test1 = '家',test2 = 65 ;int test3 = '家';int test4 = (char)23478;System.out.println("测试\'char\'类型test:"+test);System.out.println("测试char\t类型test1:"+test1);System.out.println("测试\\char\\类型test2:"+test2+"\n");System.out.println("测试\''char\''类型test3:"+test3);System.out.println("测试\''char\''类型test4:"+(char)test4);}}

以上是本人对Java八种基本数据类型进行的总结,如读者有任何问题,欢迎在下方进行留言。

如果觉得《Java八种基本数据类型定义与取值范围》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。