byte b =(byte)255;//运行结果 == -1byte b =(byte)0x5634;//运行结果 == 0x34long l =3;//隐式转换,先默认转化为int型,在默认转化为long型,因为没有超过int型,所以编译不会报错long l =666666666666666//编译会报错,因为超过整数默认类型int型
正确的写法
long l =666666666666666L;//编译不会报错
以下两种写法中,加L比不加L编译速度快,因此我们在定义声明时要加上L
long l =-3;
long l =-3L;
三、基本的运算符
赋值运算符
运算符
描述
=
赋值
单目运算符
运算符
描述
+
正号
-
负号
!
非
单目运算符高于多目运算符
算术运算符
运算符
描述
+
加法
-
减法
*
乘法
/
除法
%
取模(取余数)
自增自减运算符
运算符
描述
++
自增,变量值加1
–
自减,变量值减1
注意:a++先调用再+1,++a先+1再调用 5. 关系运算符
运算符
描述
>
大于
<
小于
>=
大于等于
<=
小于等于
==
等于
! =
不等于
逻辑运算符
运算符
描述
&
按位与
&&
短路与
l
按位或
ll
短路或
位运算符
运算符
描述
<<
左移
>>
右移
&
按位与
l
按位或
^
异或
下方为Java运算符优先级表 以下需要注意
int b =4;i =3;
只要把b/i中一个参数转换为folat型,就可以做类型转换
System.out.println((float)b/i);//转换的是b
System.out.println(b/(float)i));//转换的是i
System.out.println((float)(b/i));//转换的(b/i)的结果
先碰到++或--,就先自增或自减,若先碰到标识符就先用标识符的字面量然后再加1
左移1代表原来的数×2右移1代表原来的数/2byte b =-128;//10000000-111111111
System.out.println(b>>1);//结果为-64,还是负数
System.out.println(b>>8);//结果为-1
三目运算符
boolean foo =false;int b =0;int c =1;int d = foo?b:c;//?判断前面的为false还是true,如果是false选择后面的c,如果是true选择前面的bint d = b>c?b:c;//找出b和c中的最大值并赋值给d
System.out.println(d);