day02

运算符

算术运算符

符号 作用 说明
+ 参看小学一年级
- 参看小学一年级
* 参看小学二年级,与"×"相同
/ 参看小学二年级,与"÷"相同
% 取余 获取的是两个数据做除法的余数

赋值运算符

自增自减运算符

关系运算符

符号 说明
== 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

逻辑运算符

逻辑运算符,是用来连接关系表达式的运算符。也可以直接连接布尔类型的常量或变量。

符号 作用 说明
& 逻辑与 a&b,a和b都是true,结果为true,否则为false
| 逻辑或 a|b,a和b都是false,结果为false,否则为true
^ 逻辑异或 a^b,a和b结果不同为true,相同为false
! 逻辑非 !a,结果和a的结果正好相反
/**
 * &	逻辑与	a&b,a和b都是true,结果为true,否则为false
 * |	逻辑或	a|b,a和b都是false,结果为false,否则为true
 * ^	逻辑异或	a^b,a和b结果不同为true,相同为false
 * !	逻辑非	!a,结果和a的结果正好相反
 */
public class OperatorDemo01 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;

        // & 两个全true才为true,有一个false就false
        System.out.println(a < b & c < b); //true true  t
        System.out.println(a > b & c < b); //false true f
        System.out.println(a < b & c > b); //true false f
        System.out.println(a > b & c > b); //false false f

        System.out.println("------------------");

        // | 两个为false才false,有一个为true就true
        System.out.println(a < b | c < b); //true true t
        System.out.println(a > b | c < b); //false true t
        System.out.println(a < b | c > b); //true false t
        System.out.println(a > b | c > b); //false false f

        System.out.println("------------------");

        // ^ 两个相同为false,两个不同为true
        System.out.println(a < b ^ c < b); // true true f
        System.out.println(a > b ^ c > b); // false false f
        System.out.println(a > b ^ c < b); // false true t
        System.out.println(a < b ^ c > b); // true false t

        System.out.println("------------------");

        boolean flag = true;
        System.out.println(!flag); //f
        System.out.println(!!flag); //t
        System.out.println(!!!flag); //f
    }
}

短路逻辑运算符

符号 作用 说明
&& 短路与 作用和&相同,但是有短路效果
|| 短路或 作用和|相同,但是有短路效果

注意事项

  • 逻辑与&,无论左边真假,右边都要执行。
  • 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
  • 逻辑或|,无论左边真假,右边都要执行。
  • 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
public class OperatorDemo02 {
    public static void main(String[] args) {
        //定义变量
        int a = 10;
        int b = 20;
        int c = 10;

        //&& 有false则false
        System.out.println(a < b && c < b); //t t t
        System.out.println(a > b && c < b); //f t f
        System.out.println(a < b && c > b); //t f f
        System.out.println(a > b && c > b); //f f f

        System.out.println("------------------");

        //|| 有true则true
        System.out.println(a < b || c < b); //t t t
        System.out.println(a > b || c < b); //f t t
        System.out.println(a < b || c > b); //t f t
        System.out.println(a > b || c > b); //f f f

        System.out.println("------------------");
        int i = 10;
        System.out.println(false&&i++ > 0); //f
        System.out.println(i); //10
    }
}

三元运算符

数据输入

scanner

流程控制

if

switch

for

while

上一篇:从零开始学Java - Day02


下一篇:实训实习第一周day02