1.算术运算符
运算符 | 含义 | 示例 |
+ | 加法 | 5+2=7 |
- | 减法 | 5-2=3 |
* | 乘法 | 5*2=10 |
/ | 除法 | 5/2=2 5.0/2.0=2.5 |
% | 取余 | 5%2=1 |
++ | 自加 | int a=5; a++; a=6; |
-- | 自减 | int a=5; a--; a=4; |
1)取余运算,输出10以内被3整除的整数
1 public class Test {
2 public static void main(String[] args){
3 //输出10以内被3整除的数
4 System.out.print("被3整除的数是:");
5 for(int i=0;i<=10;i++){
6 if(i%3==0){
7 System.out.print(i+" ");
8 }
9 }
10 }
11
12 }
13
14
15 /*
16 运行结果:
17 被3整除的数是:0 3 6 9
18 */
2)++运算
public class Test {
public static void main(String[] args){
int a = 5;
int b = 6;
int c = a++; //a=6
System.out.println(c); //c=5
++a; //a=7
System.out.println(a); //7
int sum = a++ + ++b +b; //7+7+7=21 a=8,b=7
++b; //b=8
System.out.println(sum+a+b); //21+8+8=37
}
}
/*
运行结果:
5
7
37
*/
2.关系运算符
运算符 | 含义 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
boolean | 关系运算符结果为boolean类型 |
3.逻辑运算符
运算符 | 含义 |
&& | 与(短路与) |
|| | 或(短路或) |
! | 非 |
3.1短路逻辑:
- 对于“&&”,当第一个操作数为false时,将不会判断第二个操作数,因此无论第二个操作数为何,最后运算结果一定是false,即见false即false。
- 对于“||”,当第一个操作数为true时,将不会判断第二个操作数,因此无论第二个操作数为何,最后的运算结果一定是true,即见true即true。
1)案例1
public class Test{
public static void main(String[] args){
int x = 2, y = 5;
boolean b = x>0&&x>y;
System.out.println(b);
b = x>0||x>7;
System.out.println(b);
b = !(x>0&&x>y);
System.out.println(b);
}
}
/*
运行结果:
false
true
true
*/
2)案例2:短路逻辑
public class Test {
public static void main(String[] args){
int x = 2, y = 5;
boolean b = x>0||y++>0;
//第一个表达式为true,不进行第二个判断,所以不执行y++,y=5
System.out.println(b); //true
System.out.println(y); //5
b = x>0&&y++>0;
//第一个表达式为false,继续进行第二个表达式判断,所以执行y++,y=6
System.out.println(b); //true
System.out.println(y); //6
}
}
/*
运行结果:
true
5
true
6
*/
4.赋值运算符
运算符 | 含义 |
= | 赋值 |
+= | 加等于 |
-+ | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 取余等于 |
1)赋值运算“=”
“=”称为赋值运算符,用于对变量赋值,除了将右边的表达式计算出来赋给左边以外,还具备一下特点:赋值表达式本身也有值,其本身之值即为所赋之值,如案例1所示。
1)案例1
public class Test {
public static void main(String[] args){
int a,b,c;
a = b = c =100;
System.out.println("a="+a+",b="+b+",c="+c);
}
}
/*
运算结果:
a=100,b=100,c=100
*/
2)案例2
public class Test {
public static void main(String[] args){
int a = 5;
a += 1; //a = a+1
System.out.println(a); //6
a -= 1;
System.out.println(a); //5
a *= 2;
System.out.println(a); //10
a /= 5;
System.out.println(a); //2
a %= 2;
System.out.println(a); //0
}
}
/*
运行结果:
6
5
10
2
0
*/
5.字符串连接运算符
“+”可以实现字符串的连接,同时可以实现字符串与其他数据类型的“相连”。
1)案例:
public class Test {
public static void main(String[] args){
int a = 5;
a *= 5;
String sng = "你好"+"JAVA";
System.out.println("a="+a);
System.out.println(sng);
System.out.println(sng+a);
}
}
/*
运行结果:
a=25
你好JAVA
你好JAVA25
*/
6.三目/条件运算符
三目运算符的结构是:boolean表达式?表达式1:表达式2,表达式1和2的值是同一个类型的,返回值的类型由问号后面表达式决定。
运行规则如下:
- 先计算boolean表达式
- 如果为true,则返回表达式1的值
- 如果为false,则返回表达式2的值
1)案例1
int a = 1, b = 3;
String sng = a>b?"你好":"Hello";
System.out.println(sng); //Hello
2)案例2:判断2017是不是闰年
1 public class Test {
2 public static void main(String[] args){
3 String sng = 2017%400==0||(2017%4==0&&2017%100!=0)?"是闰年":"不是闰年";
4 System.out.println(sng);
5 }
6 }
7
8
9 /*
10 运行结果:
11 不是闰年
12 */