算术运算符
关系运算符
逻辑运算符
赋值运算符
三目运算符
字符串拼接运算符
//OperatorTest.java
public class OperatorTest{
public static void main(String[] args){
//算术运算符
int a = 10;
int b = 3;
//++,--
int k = 10;
k++;
++k;
k--;
--k;
//后置++先做赋值运算,再加1.与C++一样。
//前置++先加1,再做赋值运算.与C++一样。
//关系运算符,运算结果一定是boolean类型,不是true就是false。
int a = 10;
int b = 10;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a<=b);
System.out.println(a!=b);
System.out.println(a==b);
//逻辑运算符,&逻辑与,|逻辑或,!逻辑非,&&短路与,||短路或。
//逻辑运算符两边是boolean类型,最终结果为boolean类型。
System.out.println(true & true);
System.out.println(true & false);
System.out.println(false & false);
System.out.println(100 > 90 & 100 > 101);
System.out.println(true | true);
System.out.println(true | false);
System.out.println(false | false);
System.out.println(!true);
System.out.println(!false);
System.out.println(!(100 > 101)); //需要加()
//短路与 && 短路或||
//短路与与逻辑与区别:结果没有不同,只不过&&会发生短路现象
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && false);
//什么是短路现象,什么时候会发生,
int x = 10;
int y = 11;
System.out.println(x > y & x > y++); //短路与:左边为false,右边就不需要执行了。
int m = 10;
int n = 11;
System.out.println(m > n && m > n++);
System.out.println(n);
//从效率方面来说:短路与&&比逻辑与&高一些。
//以后开发中,短路与与逻辑与并存。
//短路或 ,左边为true时。
//赋值运算符:基本赋值运算符(+ - * / %)和扩展赋值运算符(+= *= -= /= %=)。
//赋值运算符右边优先级高。
//i += 10 与 i = i + 10一样吗,不完全一样。
byte x = 10;
x = x + 1; //报错。
x += 1; //正确 //使用扩展赋值运算符永远不会改变运算结果类型。
//条件运算符
//布尔表达式?表达式1:表达式2
boolean sex = false;
//sex ? '男' : '女'; //错误,不是语句。
//100;
//'男';
char c = sex ? '男' : '女';
//字符串连接符:+
//+:求和、字符串拼接。
//两边都是数字:求和,两边任意一边是字符串类型:字符串拼接。
int nianLing = 35;
System.out.println("年龄="+nianLing);
int a = 100;
int b = 200;
System.out.println(a+b);
System.out.println(a+b+"1110");//多个+,自左向右执行。先求和再拼接。3001110;
System.out.println(a+(b+"1110"));//1002001110
System.out.println(a+ "+" + b + "=" + ( a + b ) );
//定义字符串类型变量
String name = "Jack";
System.out.println("登录成功欢迎"+name+"回来");
}
}
public class Homework{
public static void main(String[] args){
int i = 10;
i = i++;
System.out.println(i); //Java:10 C++:11
//在Java中i++,这种表达式赋值给一个临时变量
int k = 10;
k = k++;
--> int tmp = k;
k++;
k = tmp;
//C++:
int k = 10;
k = k++;
--> int tmp = k;
k++;
}
}
网友评论