day05赋值运算符.三元运算符.三元运算符在分页业务逻辑中使用

2018-12-04  本文已影响21人  雷阳洪
赋值运算符
image.png
image.png
//赋值运算符
public class AssigningOperatorDemo 
{
    public static void main(String[] args) 
    {
        //功能就是给变量赋值
        String name;
        name = "Hello";//赋值
        int age = 17;//声明一个int类型变量age,并设置初始值为17
        System.out.println("-------------------");
        /*
            += 赋值符号  中间不能打空格,自带隐式类型转换.
            int a = 5
            a += 10  //等于 a = (int)(a + 10)
        */
        int a = 5;
        a += 10;
        System.out.println(a);//15
        short s = 5;
        s = (short)(s + 5);
        System.out.println(s);
    }
}

比较运算符

image.png
三元运算符
image.png
//三元运算符


public class TernaryOperatorDemo 
{
    public static void main(String[] args) 
    {   //需求:现在给一个小数,需要求出其四舍五入之后的结果,怎么完成该功能?
        /*
            1.先获取3.49的整数部分
            2.再获取3.49的小数部分
            3.最后再把3.49 的小数部分进行比较
                if 小数 >= 0.5 -- 3+1
                if 小数 < 0.5 3
            三元运算符,又称作三目运算符;
            数据类型 变量 = boolean表达式 ? 值1 : 值2;
                如果boolean表达式结果为true,三元表达式结果为值1
                如果boolean表达式结果为false,三元表达式结果为值2
        */
        double num = 3.49;//声明一个小数类型的变量num
        int i = (int)num;//将num强制转换为整数类型,获取3.49的整数部分
        double d = num - i;//获取3.49的小数部分,3.49 - i = 0.49 
        int v = d >= 0.5 ? i + 1 : i;
        System.out.println(v);

        //两个数最大值/最小值
        int a = 1234;
        int b = 125;
        int c = a >= b ? a : b; 
        System.out.println(c);//打印比较出的最大值
        int d1 = a < b ? a : b;
        System.out.println(d1);//打印比较出的最小值
        //判断一个数的是奇数还是偶数
        int num1 = 11;
        String ST = num1 % 2 == 0 ? "偶数" : "奇数"; 
        System.out.println(ST);
    }
}
三元运算符在分页业务逻辑中使用
public class PageDemo 
{
    public static void main(String[] args) 
    {   /*
        需求:给出一共有79条数据,要求每一页最多10条数据.
        计算一共多少页
        */
        //总页数
        int totalcount = 80;//声明一个整数类型的变量totalcount,并且设置一个初始值79;
        int pagesize = 10;//声明一个整数类型的变量pagesize,并且设置一个初始值10;
        /*
            三元运算的语法,x ? y : z
            x : 判断totalcount % pagesize 是否能整除
            y : 如果能整除,就返回整除的数据,给到变量a
            z : 如果不能整除,就返回不能整除的数据+1,再给到变量a
        */
        int a = totalcount % pagesize == 0 ? totalcount / pagesize : totalcount / pagesize + 1;
        System.out.println(a);
        //上一页
        //声明一个当前页变量
        int CurrentPage = 1;
        /*
            三元运算语法  x ? y : z
            当前页为1时需要进行判断,防止页数为0.
            x 判断CurrentPage - 1 是否大于1 ,如果大于就返回y的数据,如果CurrentPage<1,就返回z的数据
        */
        int y = CurrentPage - 1;
        int z = CurrentPage;
        int PreviousPage = CurrentPage - 1 > 1 ? y : z;
        System.out.println(PreviousPage);
        //下一页
        int NextPage = CurrentPage + 1 <= totalcount  ? CurrentPage + 1 : CurrentPage;
        System.out.println(NextPage);
    }
}
逻辑运算符
image.png
image.png
//逻辑运算符
public class LogicalOperatorDemo
{
    /*
        与:
            boolean ret = boolean表达式A 与 boolean表达式B
                当两个boolean表达式都为true时,结果才是true,其他情况全是false
            &:位与
            &&:短路与
            &和&&的区别:
            &:都要进行判断,如果A表达式为false,还要再去判断B表达式,最后返回false
            &&:如果A表达式为false,不会再去判断B表达式,直接返回false
            总结:短路与效率高
        或:
            boolean ret = boolean表达式A 或 boolean表达式B
            当两个boolean表达式其中一个为false时,结果才是false
            只要A表达式为true,或者B表达式为true时,ret都为ture
            |:即使A表达式返回true,还是会执行B表达式,无论B表达式返回什么结果,结果都为true
            ||:
                短路或
                只要A表达式返回true,就不再执行B表达式.
            总结:短路或效率高
    */
    public static void main(String[] args) 
    {
        System.out.println(true & true);
        System.out.println(true & false);
        System.out.println(false & true);
        System.out.println(false & false);
        System.out.println("-------------");
        System.out.println(true && true);
        System.out.println(true && false);
        System.out.println(false && true);
        System.out.println(false && false);

        //System.out.println(false & (1 / 0 == 1));// ArithmeticException: / by zero 证明执行了(1 / 0 ==1)
        System.out.println(false && (1 / 0 == 1));//false 证明(1 / 0 ==1) 没有执行
        System.out.println("-------------");
        System.out.println(true |true);//true
        System.out.println(true |false);//true
        System.out.println(false| true);//true
        System.out.println(false| false);//false
        System.out.println("-------------");
        System.out.println(true ||true);//true
        System.out.println(true ||false);//true
        System.out.println(false|| true);//true
        System.out.println(false|| false);//false
        //System.out.println(false | (1 / 0 == 1));// ArithmeticException: / by zero 证明执行了(1 / 0 ==1)
        System.out.println(true || (1 / 0 == 1));//true 证明(1 / 0 ==1) 没有执行
        System.out.println("-------------");
        
    }
}

上一篇 下一篇

猜你喜欢

热点阅读