Java八种基本数据类型定义与使用

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

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

  1. 逻辑类型(布尔类型):boolean;
  2. 整数类型 :byte、short、int、long;
  3. 浮点类型 :float、double;
  4. 字符类型 :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 initialized
		if(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的最大值与最小值问题,请访问链接:https://mp.csdn.net/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 ; //则系统存储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八种基本数据类型进行的总结,如读者有任何问题,欢迎在下方进行留言,谢谢。

发布了25 篇原创文章 · 获赞 7 · 访问量 2780

猜你喜欢

转载自blog.csdn.net/LagerSwan/article/details/104034723