一、自增自减运算符
++,自增,变量的值加一
--,自减,变量的值减一
++ 和-- 既可以放在变量的后边,也可以放在变量的前边。
单独使用的时候, ++ 和 -- 放在变量的前边还是后边,结果是一样的。
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做 ++ 或者 -- 。
如果放在变量的前边,先拿变量做 ++ 或者 -- ,后拿变量参与操作。
int i = 10;
i++; // 单独使用
System.out.println("i:" + i); // i:11
int j = 10;
++j; // 单独使用
System.out.println("j:" + j); // j:11
int x = 10;
int y = x++; // 赋值运算,++在后边,所以是使用x原来的值赋值给y,x本身自增1
System.out.println("x:" + x + ", y:" + y); // x:11,y:10
int m = 10;
int n = ++m; // 赋值运算,++在前边,所以是使用m自增后的值赋值给n,m本身自增1
System.out.println("m:" + m + ", m:" + m); // m:11,m:11
二、关系运算符
1.== ,a==b,判断 a 和 b 的值是否相等,成立为 true ,不成立为 false
!= ,a!=b,判断 a 和 b 的值是否不相等,成立为 true ,不成立为 false
> ,a>b,判断 a 是否大于 b ,成立为 true ,不成立为 false
>= ,a>=b,判断 a 是否大于等于 b ,成立为 true ,不成立为 false
< ,a<b,判断 a 是否小于 b ,成立为 true ,不成立为 false
<= ,a<=b,判断 a 是否小于等于 b ,成立为 true ,不成立为 false
2.关系运算符的结果是 boolean 类型,要么是 true ,要么是 false 。
不要把 “==” 误写成 “=” , "==" 是判断是否相等, "=" 是赋值。
三、逻辑运算符
& ,逻辑与 ,a&b, a 和 b 都是 true ,结果为 true ,否则为 false
| ,逻辑或 ,a|b, a 和 b 都是 false ,结果为 false ,否则为 true
^ ,逻辑异或 ,a^b, a 和 b 结果不同为 true ,相同为 false
! ,逻辑非 ,!a,结果和 a 的结果相反
短路逻辑运算符
1.&& ,短路与 ,作用和& 相同,但是有短路效果
|| ,短路或 ,作用和| 相同,但是有短路效果
2. 逻辑与 & ,无论左边真假,右边都要执行。
短路与 && ,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或 | ,无论左边真假,右边都要执行。
短路或 || ,如果左边为假,右边执行;如果左边为真,右边不执行。
int x = 3;
int y = 4;
System.out.println((x++ > 4) & (y++ > 5)); // 两个表达都会运算
System.out.println(x); // 4
System.out.println(y); // 5
System.out.println((x++ > 4) && (y++ > 5)); // 左边已经可以确定结果为false,右边不参与运算
System.out.println(x); // 4
System.out.println(y); // 4
四、三元运算符
前几天冬至和张小辉就吃的三元牌的饺子。
格式:关系表达式 ? 表达式1 : 表达式2;
解释:问号前是判断的条件,判断结果为 boolean 型, true 调用表达式 1 , false 调用表达式 2 。
int a = 10;
int b = 20;
int c = a > b ? a : b;
// 判断 a>b 是否为真,如果为真取a的值,如果为假取b的值
五、数据输入
导包--创建scanner对象--接收数据
import java.util.Scanner;
public class Scanner {
public static void main(String[] args) {
//创建对象
Scanner s = new Scanner(System.in);
//接收数据
int x = s.nextInt();
//输出数据
System.out.println("x:" + x);
}
}
六、分支结构之if语句
if (关系表达式) {
语句体1;
} else {
语句体2;
}
可以进行if语句的嵌套,也可以省略else结构。