Byte、Short、Int、Long、Float、Double、Char、Boolean
float n0 = 2.7;//错误 2.7F 默认小数double double n1 = 2.7; //2.7 double n2 = 8.1/3;//2.69999999997 byte b1 = 10;//对 int n2 = 1; byte b2 = n2;//错误 原因:如果是变量赋值,判断类型 char c1 = b1;//错误 原因:byte不能自动转换 char
自动类型转换:
当java程序在进行赋值或运行时,精度小的类型自动转换为精度大的数据类型。
byte、short 和char 之间不能相互转换。
char–>int–>long–>float–>double
byte–>short–>int–>long–>float–>double
byte、short、char 三者可以计算,在计算时首先转换成int类型
byte b2 = 1; byte b3 = 2; short s1 = 1; short s2 = b2 + s1;//错误,b2 + s1 => int byte b4 = b2 + b3;//错误,b2 + b3 =>int
boolean 不参与转换
自动提升原则:表达式结果类型自动提升为 *** 作数最大的类型
强制类型转换:加()强制符号只针对最近的 *** 作数有效,忘完会使用() 提升优先级
Byte和short类型在进行运算时,当作int类型处理。
字符编码:ASCII:编码表 一个字节表示,一个128个字符,实际上一个字节可以表示256个字符,只用128个。
Unicode:编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占两个字节,这样浪费空间。
utf-8:编码表,大小可变的编码 字母使用1个字节,汉字 使用3个字节。
gbk:可以表示汉字,而且范围广,字母使用一个字节,汉字2个字节。
gb2312:可以表示汉字,根本gb312 big5码:繁体中文,台湾,香港。 短路与 &&,短路或||,取反! 逻辑与&,逻辑或|,^逻辑异或 2、&逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低。 3、开发中,我们使用的基本是使用与&&,效率高 短路或|| : 条件1||条件2 两个条件只要有一个成立,结果为true,否则为false 逻辑或|: 条件1|条件2 只要有一个条件成立,结果为true 三元运算符: 条件表达式?表达式1:表达式2 二进制:0,1,满2进1,以0b或0B开头。 十进制:0-9,满10进1 八进制:0-7,满8进1,以数字0开头表示 十六进制:0-9以及A(10)-F(15),满16进1,以0x或0X开头表示。此处A-F不区分大小写。 其他进制转十进制: 二进制转十进制:0b1011=1*2^0+2*2^1+0*2^2+1*2^3=11 八进制转十进制:0234=4*8^0+3*8^1+2*8^2=4+24+128=156 十六进制转十进制:0x23A=10*1+3*16+2*16^2=570 十进制转二进制:该数不断除以2 ,直到商为0 为止。然后将每步的余数倒着写。34=0B00100010(一个字节8位,不够8位前面补0) 十进制转八进制:该数不断除以8 ,直到商为0 为止。然后将每步的余数倒着写。 131=0203 十进制转十六进制:该数不断除以16 ,直到商为0 为止。然后将每步的余数倒着写。 237=0xED 二进制转八进制:从低位开始三个为一组 ,转换成对应的八进制数即可。 0b11 010 101=> 0325 二进制转十六进制:从低位开始四个为一组 ,转换成对应的十六进制数即可。 0b11010101=>0xD5 八进制转换成二进制:八进制数的每一位转换成对应的一个三位的二进制数。 0237=0b10011111 十六进制转换成二进制:十六 进制数的每一位转换成对应的一个四位的二进制数。 0x2(0010) 3(0011) B(1011) =0b001000111011 1、算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位 2、算术左移<<:符号位不变,地位补0 3、>>>逻辑右移也叫无符号右移,运算规则是:地位溢出,高位补0 4、特别说明:没有<<<符号 4<<3//4*2*2*2 15>>2//15/2/2 1、二进制的最高位是符号位:0表示正数,1表示负数。(口诀:0->0 ,1->-) 2、正数的原码、反码、补码都一样。(三码合一) 3、负数的反码=它原码符号位不变其他位取反(0->1,1->0) 4、负数的补码=它的反码+1,负数的反码=负数的补码-1. 5、0的反码、补码都是0。 6、Java没有无符号数,换言之,Java中的数都是有符号的。 7、在计算机运算的时候,都是以补码的方式来运算的。 8、当我们看到运算结果的时候,要看它的原码。 欢迎分享,转载请注明来源:内存溢出
1、&&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false。a b a&b a&&b a|b A||b !A A^B truetruetruetruetruetruefalsefalse truefalsefalsefalsetruetruefalsetrue falsetruefalsefalsetruetruetruetrue falsefalsefalsefalsefalsefalestruefalse
输入:Scanner scanner = new Scanner(System.in);
进制:
评论列表(0条)