java 短路与编译成短路或 java的短路与_整除


上一期将的是java的八大基础类型:int byte short long float double char boolean及这八大基础类型的使用

这一期讲解的是java中运算符的使用,你所知道的运算符又有哪些呢,他们的使用方法你可了解,下面开始今天的内容:

运算符


java 短路与编译成短路或 java的短路与_System_02


1、概述


java 短路与编译成短路或 java的短路与_java_03


逻辑运算符:结果是boolean类型

&  -- 是并且的关系(单与)
    1 & 2 想要得到最终结果是true,对于1和2的要求是:必须都得是true

&& -- 是并且的关系(双与/短路与)
    1 && 2 ,高效,当1结果是false时,2会被短路

|  -- 是或者的关系
    1 | 2 想要得到最终结果是true,对于1和2的要求是:1或者2有一个是true就可以


|| -- 是或者的关系(双或/短路或)
    1 || 2 ,高效,当1的结果是true时,2会短路


2、练习1:平年闰年

输入年号,判断是否是闰年。
两个条件:
1、能被4整除,并且不能被100整除
2、能被400整除


package cn.qile.basic;

import java.util.Scanner;

public class Test4_RunNian {
    public static void main(String[] args) {

        //1、接收用户输入的年号
        System.out.print("请输入年份:");
        int year = new Scanner(System.in).nextInt();

        //2、判断year是平年还是闰年
        String desc = "平年";//设置默认值就是平年

        //if(判断条件){ 满足条件的代码 }
//     1、能被4整除,并且不能被100整除
        if (year % 4 == 0) { //能被4整除
            if (year % 100 != 0) { //不能被100整除
                desc = "闰年"; //修改desc的值为闰年
            }
        }
//     2、能被400整除
        if (year % 400 == 0) {
            desc = "闰年"; //修改desc的值为闰年
        }

//     System.out.println("2000年是闰年");
        //+拼接字符串
        System.out.println(year + "年是" + desc);

    }
}


简化代码

通过 || -- 是或者的关系(双或/短路或)
-- 1 || 2 ,高效,当1的结果是true时,2会短路


//if((小判断条件1  &&  小判断条件2)  ||    大判断条件2){ 修改desc的值为闰年 }
       if(( year%4==0  &&  year%100 != 0 )  ||  year%400 == 0  ){
           desc="闰年";
       }


3、练习2:自增自减


package cn.qile.basic;

//测试自增++自减--
public class Test5_ZiZeng {
    public static void main(String[] args) {
        //符号在前,先变化后使用
        //符号在后,先使用再变化
        int a = 1;
        System.out.println(a++);//1

        int b = 1;
        System.out.println(++b);//2
        System.out.println(++b+a+b++);//8,3+2+3

        //TODO 自减
        int m = 1;
        System.out.println(m--);//1

        int n = 1;
        System.out.println(--n);//0
        System.out.println(--m-n-m--);//0,-1-0-(-1)
    }
}


4、三元运算


package cn.qile.basic;

import java.util.Scanner;

//三元运算符
public class Test6_Max {
    public static void main(String[] args) {

        //两个数里的大值
        int a = 10;
        int b = 6;

        //三元   1  ?  2 :  3
        //最终得到的是2还是3,要看1的结果,如果1成立得到2的结果,如果1不成立,得到3
        int max = a > b ? a : b ;
        System.out.println(max);

        //接收键盘输入的,三个数,取出最大值
        System.out.print("请输入 m =");
        int m = new Scanner(System.in).nextInt();
        System.out.print("请输入 n =");
        int n = new Scanner(System.in).nextInt();
        System.out.print("请输入 o =");
        int o = new Scanner(System.in).nextInt();

        //1、定义变量记录最大值,拿着m和n比,比出来的结果交给变量保存
        int result = m > n ? m : n;

        //2、拿着result和o比,得到的结果才是最大值交给maxValue保存
//     result = result > o ? result : o ;
        int maxValue = result > o ? result : o ;
        System.out.println(maxValue);

        //TODO 优化
        //拿着m和n比 ? m和o比 : n和o比
        int result2 = m > n ? (m > o ? m : o ) : (n > o ? n : o );
        System.out.println(result2);
    }

}


下一期:java入门(四) | 数据类型

将在明日推出,敬请期待

通过原文链接关注【其乐不是码农】,回复【java入门】,提前观看下期内容!!

原文链接:

java入门(三) | 运算符mp.weixin.qq.com

java 短路与编译成短路或 java的短路与_System_04


其乐等待着你的到来!!