public static void main(String[] args) {
//目的:学会使用运算符
System.out.println(10%3); //1
System.out.println(10%-3); //1
System.out.println(-10%3); //-1
System.out.println(-10%-3); //-1
System.out.println(11.5%2.0); //1.5
}

public static void main(String[] args) {
System.out.println(5/2); //2
System.out.println((float)5/2);//2.5
System.out.println(5/(float)2);//2.5
System.out.println((float)(5/2));//2.0
}
public static void main(String[] args) {
short a = 2;
// a = a + 2; //报错,因为2是int类型,右边的a会提升到int类型,最终右边的表达式是int类型,而左边是short类型
a += 2; //不报错,因为复合运算符进行了类型的转换
System.out.println(a);
}
比如这个例子中a = a + 2会报错,但是 a+=2不会报错,2在这里是int类型的右边的a会提升到int类型,最终右边的表达式是int类型,而左边是short类型,高数据类型赋值给低,一般需要强制类型转换,而复合运算符可以理解成帮助我们进行了类型的转换。
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a<15比如这个例子a<15
布尔表达式1 && 布尔表达式2
左右表达式必须是boolean类型的结果 public static void main(String[] args) {
//理解&&,逻辑与,也叫短路与
System.out.println(1&&2);
}

通过报错提示,可以进一步验证&&两边的表达式必须是boolean类型。
同时&&也具有短路的功能,比如如果表达式1的值为false,那么表达式2不会执行。
逻辑运算符—||
布尔表达式1 || 布尔表达式2
左右表达式必须是boolean类型的结果
同时||也具有短路的功能,比如如果表达式1的值为true,那么表达式2不会执行。
逻辑运算符—!
逻辑非, !布尔表达式
真变假,假变真
int a = 10;
System.out.println(!a);

!a提示报错,因为a不是一个布尔表达式,修改成布尔表达式运行成功
int a = 10;
System.out.println(!(a==10));
public static void main(String[] args) {
//目标:学习使用Java的条件运算符,即三目运算符
boolean b = (true == true)? true == true ? false : true :true;
System.out.println(b);
}
上述代码的输出结果为false。分析:布尔表达式(true == true)为true,则执行true == true ? false : true,又因为true == true也为true,则整个表达式为:前面的值,即整个表达式的值为false。
其中三目运算符也是条件判断语句的简化写法。