运算符
1)算术运算符: +,-,*,/,%,++,–
2)关系运算符: >,<,>=,<=,==,!= boolean
3)逻辑运算符: &&,||,! boolean
4)赋值运算符: =,+=,-=,*=,/=,%=
5)拼接运算符: +
6)条件/三目运算符: boolean ? 表达式1 : 表达式2
算术运算符:+,-,*,/,%,++,–
1.1) +,-,*,/ ——四则运算
1.2)% (取余,取模运算)相当于数学中求余数
例:
int a=2%9;
System.out.println(a);//2
int b=5%2;
System.out.println(b);//1
int c=8%4;
System.out.println(c);//0
1.3)++,- -,自增,自减(重点)
1.3.1)单独使用时:++写前写后都一样 a++; ++a;
1.3.2)被使用时:
- 如果++放在后面:代表先赋值后运算
a =1
a++: //a=1赋值给a++这个表达式a++=1,再自增加1 a=a+1===>a=2 - 如果++放在前面:代表先运算后赋值
a+1;
++a //先运算(先将a=a+1输出时a=2),再赋值给a++,这个输出a++也就是2
例:
public static void main(String[] args) {
int a =5;
System.out.println(a++);//a++ 输出的是a的值本身(a++)=5
System.out.println(a); //后+1 a=5+1 = 6
System.out.println(++a); //++在前,是先自增+1 ,6+1 = 7,把7再赋值给++a
System.out.println(a++);//a++输出是变量本身的值,a = 7,(a++) = 7,在自增+1 7+1= 8
System.out.println(++a);//++a 是先+1, 是在8+1 = 9,再把9赋值给++a
System.out.println(a);
int z = 1;
int x = z++; //z=1=>(z++)=1吧z++的值赋值给x(x=1),系统底层默认z+1=2
int c = x++;//x=1=>(x++)=1,把x++的值赋值给c(c=1),系统底层默认x+1=2
int v = c++;//c=1=>(c++)=1,是把c++的值赋值给v(v=1),系统底层默认c+1=2
System.out.println(x); //2
System.out.println(c); //2
System.out.println(v); //1
关系运算符:>,<,>=,<=,==,!= boolean
1)两个==代表判断,一个=代表赋值
2)关系运算符执行的结果是一个boolean类型,结果要么是true要么是false
逻辑运算符:&&,||,! boolean
1)短路与(&&):全真则真,见假则假
2)短路或(||):只要有一方为真,最后的结果就为真
3)短路非(!):运算后的结果和我们变量的结果相反,变量为true时,结果false
赋值运算符: =,+=, -=, *=, /=, %=
赋值运算符
等号 = 用于对变量进行赋值
赋值的时候,是从右到左
int a = 3;
复合赋值运算符
+=, -=, *=, /=, %=
int n = 1;
n+=1; // n=n+1;
复合运算符重点需要注意的一点是:复合运算符包含了一个强制类型转换
int n = 1;
n+=1.5; //2
n = (int)n+1.5;
拼接运算符:+
需要注意的点
1.如果加号两边都是整数或者小数 ,那么他的计算结果是一个数字(按照正常的加减)
2.如果加号左边是字符串右边是数字,那么计算结果是按照拼接计算
3.如果加号左边先是两个数字相加,后跟一个拼接,那么先去计算两个数字的值,然后按照拼接算
System.out.println(10+20+""+30);//3030
System.out.println(""+10+20+30);//102030
System.out.println(10+20+"");//30
条件/三目运算符 boolean ? 表达式1 : 表达式2
三目运算符也叫作条件运算符或者是条件表达式
boolean表达式 ? 表达式1 : 表达式2
1.先去判断boolean表达式的结果
2.如果结果为true,最终的结果是表达式1
2.如果结果为false,最终的结果是表达式2
判断闰年的方法:
public static void main(String[] args) {
int year=2020;
boolean flag=(year%4==0 && year%100!=0) || year%400==0;
String str=flag ? year+"是闰年":year+"是平年";
System.out.println(str);
}
}
明天继续加油!!!