一、运算符
System.out.println(10 / 4);//不是2.5,是2
System.out.println(10.0 / 4);//为2.5
double d = 10 / 4;//Java中10/4=2,2=>2.0
System.out.println(d);//为2.0
//%取模,取余,公式:a % b = a - a / b * b
System.out.println(10 % 3);//1
System.out.println(-10 % 3);//-1
System.out.println(10 % -3);//1
//10 % -3 = 10 - 10 / (-3) * (-3) = 10 - (-3) * (-3) = 10 - 9 = 1
System.out.println(-10 % -3);//-1
ps:数据类型为int的两个数运算后结果也为int类型,所以:10/4=2而10.0/2=2.5
1.自增
作为独立的语句使用,i++和++i都等价于i=i+1
作为表达式使用时
前++:++i先自增后赋值;i = 1,a = ++i则先i = i + 1 = 2后a = i =2
后++:i++先赋值后自增;i = 1,a = i++则先a = i = 1后 i = i + 1 = 2
ps:自增即i一定会加1,而前++赋值表达式会为i+1;后++赋值表达式会为i值
同理--,+,-,*一样
题目:


二、关系运算符(比较运算符)
boolean类型,为true或false

三、逻辑运算符
1.逻辑运算符规则:

2.短路与&&和逻辑与&的区别:

例:

而逻辑与&,无论前面是否为false后面的语句都会执行
3.短路或||和逻辑或|的区别:

四、练习题
题1

题2

题3

五、赋值运算符
1.基本赋值运算符 =
int a = 10;
2.复合赋值运算符 +=,-=,*=,/=,%=等
a += b;[等价于 a = a + b]
a -= b;[等价于 a = a - b]
ps:复合赋值运算符会进行类型转换
六、三元运算符
1.基本语法
条件表达式?表达式1:表达式2
2.运算规则:
·如果条件表达式为true,运算后的结果为表达式1
·如果条件表达式为false,运算后的结果为表达式2
3.例:

![]()
4.表达式1和表达式2要为可以赋给接收变量的类型

5.例:
public class TernaryOperator {
public static void main(String[] args) {
//实现找出三个数中的最大值
int n1 = 55;
int n2 = 33;
int n3 = 123;
//思路:1.先找出n1和n2中大的数保存到max1
//2.再找出n3和max1中最大的数保存到max2,最终结果就为max2
int max1 = n1 > n2?n1:n2;
int max2 = n3 > max1?n3:max1;
System.out.println("三个数的最大数为"+max2);
//使用一条语句实现
int max = (n1 > n2?n1:n2)>n3?(n1 > n2?n1:n2):n3;
System.out.println("三个数的最大数为"+max);
}
}
![]()


被折叠的 条评论
为什么被折叠?



