数据类型

Java是强类型语言,针对每一种数据都提供了类型

Java Script是弱语言,只有var(因为要适用于浏览器,而浏览器具有很高的容错性)

八大基本数据类型
数据类型字节大小(最高位符号位不计入2^x计算)取值范围
byte1(0000 0000)-128~127
short2(0000 0000 0000 0000)-32768~32767
int4(4*8bit)-231~231-1
long8(8*8bit)-263~263-1
float4浮点数与整数存储方式不同
double8浮点数与整数存储方式不同
char2(无负数)0~65535(2^16)
boolean1(0000 0000;0000 0001)false;ture
char类型
  1. 当用单引号包含数字时,该数字表示字符,若直接输出结果为该数字,若进行运算则先自动转为该数字对应的ASCII码数值再运算
  2. 当不用单引号包含数字时,该数字即为ASCII码,若直接输出则结果为对应字符,若运算则由该数进行
强制类型转换

将范围小的类型赋值给范围大的类型,不需要强转。如小水杯的水倒入到大水杯中(自动类型转换)
将范围大的类型赋值给范围小的类型,需要强制类型转换。如将大水杯的水倒入小水杯中。

注意:强制类型转换可能出现两种情况
a.精度丢失

​ 例如:

		int x= (int)12.5;
		System.out.println(x);

解析:结果i的值为12,小数点的数据丢失

b.数据溢出

​ 例如:

	byte b = (byte)128;//byte类型最大为127
  	System.out.println(b);

解析:结果为 -128,数据溢出



变量计算问题和常量计算问题
  • char,short,byte在参与运算的时候会自动转换为int类型来计算

​ 例如:

	byte by=10;

​	short ss1=20;

​	short ss2=by+ss1; //正确:short ss2=(short)(by+ss1);
					
	System.out.println(ch2);

解析:int类型转换错误。由于(by+ss1)为变量,转为int类

  • 变量相加,系统无法判断具体的结果

    常量相加,在编译时期,系统就会计算结果

​ 例如:

	char ch1='a';

​	byte by=1;

​	char ch2=ch1+by;

​	System.out.println(ch2);

解析:int类型转换错误。由于(ch1+by)为变量,转为int类型,int取值范围大于char

​ 例如:

	char ch1='a';

​	byte by=1;

​	char ch2='a'+1;

​	System.out.println(ch2);

解析:b。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值