二元运算符
整数运算:
如果两个操作数有一个为Long, 则结果也为long
没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
浮点运算:
如果两个操作数有一个为double, 则结果为double.
只有两个操作数都是float, 则结果才为float.

取模运算
其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004
要点:
负数%负数=负数;
负数%正数=负数;
正数%负数=正数;

注:一般都是正整数运算,不用考虑这么细!

一元运算符(++, --)
int a = 3;
int b = a++; //执行完后,b=3。先给b赋值,再自增。
int c = ++a; //执行完后,c=5。先自增,再给b赋值

注意:java中的乘幂处理:
int a = 3^2; //java中不能这么处理, ^是异或符号。
double b = Math.pow(3, 2);
Math类提供了很多科学和工程计算需要的方法和常数。

布尔逻辑表达符
逻辑与:&&和&,逻辑或:||和|,逻辑非:!。
逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。
逻辑与只要有一个为false, 则直接返回false.
逻辑或只要有一个为true, 则直接返回true;
boolean c = 1>2&&2>(3/0);

位运算符
(了解)
~ – 取反 & – 按位与
| – 按位或 ^ – 按位异或
<<:左移运算符, >>:右移运算符 >>>:无符号移位运算符

右移一位相当于除2取商。
左移一位相当于乘2。
int a = 322;
int b = 3<<2; //相当于:322;
int a = 12/2/2;
int b = 12>>2;

字符串连接符
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
int c = 12;
System.out.println(“c=” + c);

三目条件运算符
三目条件运算符,语法格式:
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
举例:
int score = 80; int x = -100;
String type = score < 60 ? “不及格” : “及格”;
int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
System.out.println("type= " + type);
System.out.println("flag= "+ flag);

知识点代码:

public class TestOperator {

public static void main(String[] args){
/*	
	double d = 10.2%3;
	System.out.println(d);
	
	int a = 3;
	int b = a++;   //执行完后,b=3。先给b赋值,再自增。
	int c = ++a;   //执行完后,c=5。先自增,再给b赋值
	System.out.println(a);
	System.out.println(b);
	System.out.println(c);
*/	
//	int c = 3/0;
	
/*	
	boolean c = 1<2&&2>(3/0); 
	System.out.println(c);
*/
/*
	//测试位运算
	int m = 8;
	int n = 4;
	System.out.println(m&n);
	System.out.println(m|n);
	System.out.println(~m);
	System.out.println(m^n);
	
	
    int a = 3*2*2;
	int b = 3<<3;  //相当于:3*2*2;
	int c = 12/2/2;
	int d = 12>>2;
	System.out.println(a);
	System.out.println(b);
	System.out.println(c);
	System.out.println(d);
	
	boolean b1 = true&false;
	System.out.println(b1);
*/	

/*
	//扩展运算符
	int  a = 3;
	a +=5;  //a = a+5;
*/	

/*
	//字符串相连:加号两边只要有一个为字符串,则变为字符串连接符,整个结果为字符串。
	System.out.println(4+"5");
*/	

	int a=3;
	int b=5;
	String str= "";
	/*
	if(a<b){
		str = "a<b";
	}else{
		str = "a>b";
	}
	*/
	str = (a<b)?"a<b":"a>=b";
	System.out.println(str);

	
}

}