?算术运算符:+,-,*,/,%,++,--
?赋值运算符:=
?扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
?位运算符:&,|,~,^,<<,>>,>>>
?比较运算符:>,>=,<,<=,==
?逻辑运算符:&&,&,||,|,!,^
?三目运算符:?
public class text02 {
public static void main(String[] args) {
float a = 15.0F;
float b = 0.0F;
System.out.println(a/b); //输出结果为 Infinity (无限性的意思)
System.out.println(a%b); //输出结果为 NaN (非数字的意思)
}
}
public class text02 {
public static void main(String[] args) {
int a=1;
int b= 2;
System.out.println(a/b); //结果为0;
System.out.println(a/(double)b); //结果为0.5;
// double c = a/b; //结果为0.0;
//double c = a/(double)b; //结果为0.5;
//分析: 第一个double 是将a/b的整型 int 部分赋值给 double c;
//分析: 第二个double 是先将a/b转换成 double 浮点的运算,再将浮点的运算结果赋值给 double c;
}
}
public class text02 {
public static void main(String[] args) {
long a = 1222222222222L;
int b = 123;
short c = 10;
byte d = 8;
//ctrl + D 快捷复制上一行到下一行;
System.out.println(a+b+c+d); //Long 有Long最后数值为Long型 结果为1222222222363
System.out.println(b+c+d); //Int 没有Long剩下的结果默认Int型 结果为141
System.out.println(c+d); //Int 下行代码实现将默认的Int代码转成其他类型 结果为18
System.out.println((double)(c+d)); //(c+d)整体转成double型 结果为18.0
}
}
比较运算符用于判断两个常量或变量的大小,比较结果是是一个布尔值(true或false)。
比较运算符有:>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)。
代码示例如下:
System.out.println(7>3); //输出true
System.out.println(7<=3); //输出false
注意 自增自减 与 语句 间的顺序
int a = 1;
int b = a++; //先执行b=a=1; 再执行a=a+1;
int c = ++a; //先执行a=a+1; 再执行c=a;
System.out.println(a); //3
System.out.println(b); //1
System.out.println(c); //3
Math 为编译器自带的可用类&库
//调用数学库
Math.abs(-10);
System.out.println(Math.pow(3, 2));
//短路运算
int d=2;
boolean e = (d>4)&&(d++>10); //d>4&& 判断为假,所以不运行(d++>10)
System.out.println(e); //假
System.out.println(d); //d=2
//短路运算的实验
int x = 4;
boolean y = (x++>10)&&(++x>100);
System.out.println(y); //false
System.out.println(x); //x=5 (x++>10)&&判断为假后只执行x++, 不再执行(++x>100)
原理为: 基于计算机的底层二进制的运算
具有 运算效率高的性质
位运算
2*8 = 16 2*2*2*2
<< *2
>> /2
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
类似于幂函数
1--->2--->4--->8 乘二 对应二进制编码 1 的位移
A = 0011 1100
B = 0000 1101
---------------------------
A&B = 0000 1100 与
A|B = 0011 1101 或
A^B = 0011 0001 异或
~b = 1111 0010 非
public class text01 {
public static void main(String[] args) {
int a = 10;
int b = 20;
//字符串的连接
System.out.println(""+a+b); //1020 执行”“将 a 与 b 作字符连接
System.out.println(a+b+""); //30 先执行a+b的加法运算
}
}
public class Demo02 {
public static void main(String[] args) {
//三目运算符
// x ? y: z
//如果 x 为真, 则结果为y; 否则结果为z;
int score = 80;
String type = score>60 ? "及格": "不及格";
System.out.println(type); //输出结果为 及格
}
}
原文:https://www.cnblogs.com/chendanyu/p/15045977.html