数据类型转换java
原码,反码,补码spa
/* byte b = 130;有没有问题?若是我想让赋值正确,能够怎么作?结果是多少呢? */ class DataTypeDemo7 { public static void main(String[] args) { //由于byte的范围是:-128到127。 //而130不在此范围内,因此报错。 //byte b = 130; //咱们可使用强制类型转换 byte b = (byte) 130; //结果是多少呢? System.out.println(b); } }/*
*/code
byte b = (byte)300;
1.获取300的二进制
00000000 00000000 00000001 00101100
由于是正数,原码与反码补码相同
2.强制转换作截取操做,(操做补码)byte是1字节
00101100
3.已知补码求原码(负数补码为反码减1反码为原码0变1,1变0符号位不变)
符号位 数值位
补码 0 0101100
由于是正数,原码与反码补码相同
反码 0 0101100
原码 0 0101100
byte b = (byte)300;
System.out.println(b);//b=44blog
System.out.println('a' + 1);//输出结果是98接口
字符串参与运算,实际上是字符串的链接,(这里的+不是加法运算是字符串链接符)内存
System.out.println("hello"+'a'+1);//helloa1
System.out.println('a'+1+"hello");//98hello (运算‘a’+1,第二个+是字符串链接符)
字符串
System.out.println("5+5="+5+5);//5+5=55 (“”内直接打印后面的两个+是拼接运算)class
运算步骤:1."5+5="字符串直接打印,结果5+5=,2."5+5="+5,前面是字符串5=5= ,后面+5中+为字符串链接符拼接运算,结果5+5=5 3.前面是字符串5+5=5,后面+5中+为字符串链接符拼接运算,结果5+5=55变量
System.out.println(5+5+"=5+5");//10=5+5 (运算5+5,结果是10,拼接“=5+5”)
数据类型