基本数据类型及类型转换的使用

Java是强类型语言,任何一个变量或常量在Java中必须有确定的数据类型,
Java的数据类型有两种,即基本数据类型引用类型

这里主要介绍基本数据类型,以及使用中常见的类型转换的问题

基本数据类型

在这里插入图片描述
每种类型的范围,默认值

类型 长度(位) 长度(字节) 默认值 表示范围
byte 8 1 0 -128~127(-27~27-1)
short 16 2 0 -32768~32767(-215~215-1)
int 32 4 0 -2147483648~2147483647(-231~231-1)
long 64 8 0 -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807(-263~263-1)
float 32 4 0.0 大约±3.402 823 47E+38F(6~7位有效数字)
double 64 8 0.0 大约±1.797 693 134 862 315 70E+308(15位有效数字)
boolean 8 1 false 表示一个字符,如(‘a’, ‘A’, ‘0’, ‘中’)
char 16 2 空字符(\u0000) 只有两个值true与false

常见问题

基本数据类型之间的转换

  1. 隐式转换(自动类型转换)
    由低到高级分別为:(byte,short,char)int long float double
    低级变量能够自动转换为高级变量
int a=1;
byte b=2;
a=b; //能够自动将低级变量byte转换为高级变量
System.out.println(b);//输出结果为1

注意:

boolean只有tru和false值,不能进行类型转换
char类型向高级类型(整型) 转换时,会转换为对应ASCII码值
byte、short、char 3种类型,它们是平级的,因此不能进行自动类型转换,而需要通过强制类型转换

  1. 显示转换(强制类型转换)
    在需要进行强制转换高级字段上加上(对应的转换类型)进行强制类型转换
		byte c=124;
		int d=1;
		c=(byte)d;
		System.out.println(c);//输出结果1

注意:

需要强制转换的高级类型数值,要在低级类型的范围内
int转换为byte时,如果数值超过byte的范围,如下所示int为156,超过byte的127,则从byte的-128开始往前数,得到结果,反之输入的数为负数,且超过范围从正数开始往回数。

		byte n=124; //-128~127
		int m=156; //超过byte的范围
		n=(byte) m;
		System.out.println(n); //输出-100
	//byte、short、char,这三类平级,这三类转换时,需要强制类型转换
	short i=100;
	char c=(char)i;
	System.out.printIn("output:"+c) ; //输出结果为d
发布了7 篇原创文章 · 获赞 0 · 访问量 95

猜你喜欢

转载自blog.csdn.net/qq_39026607/article/details/105388268