java是一种强类型语言,类型一旦出错就编译不过去,在这里java一共有
1)整形:int(4字节)short(2字节)long(8字节)
2)浮点型:float(4字节)double(8字节)
3)字符型:char(2字节)
4)布尔类型: boolean(没有明确规定,有些是占一个比特位,有些是占一个字节),返回值只有两个true或者false
5)字节类型:byte(1个字节)
算术运算符(+ - * / %)
在java中要在这里要特别提一下除法(/):
1)int/int结果还是int ,需要使用double进行计算
2)0是不能作为除数的
对于取余运算(%):
在java中出了可以使用int类型外,还可以是double型
System.out.println(11.5 % 2.0);
关系运算符(==,>=等):同C语言一样,但返回值类型为布尔类型
逻辑运算符(&& || |):返回值类型也是布尔类型,在这里需要特别提出逻辑运算符的短路求值。
System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
可以看出在&&运算符中,只要第一个表达式为假,后面就不执行。
||运算符中,只要第一个为真,后面的表达式也不执行。
位运算符(& | ~ ^)
这里的位主要指的是二进制位,对二进制位进行上诉操作,同C语言一样
移位运算符(<<, >>, >>>)
左移与右移同C语言一致,在java中还有有一个>>>(无符号右移),最右侧不要,最左侧补零
int a = 0xffffffff; System.out.printf("%x\n", a >>> 1); // 运行结果(注意, 是按十六进制打印的) 7fffffff
条件运算符(java中唯一的三目运算符)
表达式1?表达式2:表达式3
表达式1为true,则结果为表达式2,若为false,结果为表达式三的运算结果