变量及数据类型、类型转换、强制类型转换

Java中的变量及数据类型、类型转换、强制类型转换

Java基础部分(二)

变量与数据类型

1.变量

所谓变量就是值可以变化的量,变量是作为程序运行时的数据。

变量的三要求:变量名、变量类型、变量值。

int a = 2; //定义一个整型变量a且赋值为2。

2.数据类型

常用数据类型 含义 长度 说明
byte 整数 1字节 字节型、取值范围[-128,127]
short 整数 2字节 短整型、取值范围[-2^15, 2^15-1]
int 整数 4字节 整数型、取值范围[-2^31, 2^31-1]
long 整数 8字节 长整型、取值范围[-2^63, 2^63-1]、定义长整型时要在末尾加 l/L
float 小数 单精度 4字节 末尾加f/F
double 小数 双精度 8字节 Java中会将小数默认当作double类型处理
char 字符 2字节 表示单个字符、用时需单引号引起
boolean 布尔 1字节 表示真或假即true/false
string 字符串 看具体字符串长度而定 表示一串字符,用时需双引号引起

3.进制数表示

二进制数:以0b或0B为前缀,0是阿拉伯数字。
八进制数:以0为前缀,0是阿拉伯数字。
十六进制数:以0x或0X为前缀,0是阿拉伯数字。

		int a1 = 28;
		int a2 = 0b11100;//二进制
		int a3 = 0B11100;//二进制
		int a4 = 034;//八进制
		int a5 = 0x1c;//十六进制
		int a6 = 0X1c;//十六进制

都是表示28的数。

4.指数

大写或者小写的e表示幂。

		int a = e2;
		double b = 3.14e-2;

这e2表示10^2, 3.14e-2表示 3.14*10^-2。

5.类型转换

1.自动类型转换(隐式转换)。
条件:a、数据类型要兼容。
b、目标类型要大于原类型(字节长度)

		int a=3;
		long b=a;
		System.out.println(b);

这里输入的是3,长整型,
long类型的长度大于int类型的长度。
若是

		long a=3;
		int b=a;
		System.out.println(b);

则输出会报错。
2.强制类型转换(显示转换)。
语法:
(目标的数据类型)数值;

		double e=12.6;
		int f=(int)e;
		System.out.println(f);
		

系统输出的是12。
这也说明了强制转换会导致数据的丢失和降低精度。
3.char 和 int 之间的转换
char 和 int 都是以二进制类型存储的。

		//将char转换为int
		int x='a'; //隐式转换
		System.out.println(x);

输出的结果是97,这是a的ASCII码。

		//将char转换为int
		int x='a'; //隐式转换
		System.out.println(x);
		//将int转换为char
		char y=(char)x; //必须进行强制类型转换
		System.out.println(y);
		char z=97; //不会报错,97被当作常数来处理
		           //而非整型int(整数和整型是有所不同的)
		System.out.println(z);

运行结果

97
a
a

猜你喜欢

转载自blog.csdn.net/weixin_45387721/article/details/107573991