• 三元运算符运算(Day02)



    运算符:用来对常量或者变量连接的符号,称为运算符。
    表达式:用运算符连接起来的整个式子成为表达式。比如:a+10,10+20

    运算符有以下五种:
    1、算术运算符
    2、赋值运算符
    3、关系运算符
    4、逻辑运算符
    5、三元运算符

    算术运算符:+ - * /
    解释:就是连接常量变量做基本的数学运算

    / (除号):如果两个整数相除,得到的结果就是一个整数,取整数部分。
     规律:如果两个整数相除,左边的数小于右边的数,那么得到的结果就是0。

    只要有一边是一个小数,那么得到的结果就是小数。

    注意点:
    浮点类型(小数类型):在进行运算的时候有可能丢失精度。(后期可以处理精度丢失的问题)


    取余(取模):%
    解释:一般用于两个整数的运算,用来判断两个整数是否能够整除
    得到的结果是:两个整数相除,取余数部分
    规律:如果符号左边的数小于右边的数,那么得到的结果就是左边的数。
    用处:判断两个数是否能够整除

    public class Demo05SuanShuYunSuanFu {
        public static void main(String[] args) {
            //+ 加号
            int a = 10;
            int b = 20;
            System.out.println(10 + 30);
            System.out.println(a + b);
            System.out.println(a + 100);
            
            //- 减号
            System.out.println(10 - 30);
            System.out.println(a - b);
            System.out.println(a - 100);
            
            //* 乘号
            System.out.println(10 * 30);
            System.out.println(a * b);
            System.out.println(a * 100);
            System.out.println("================");
            // / 除号:如果两个整数相除,得到的结果就是一个整数,取整数部分
            System.out.println(3/5);//0
            System.out.println(5/3);//1
            //要想得到的数是小数,只要有一边的数是小数,那么得到的结果就是小数
            System.out.println(3.0/5);//0.6
            System.out.println(3/5.0);//0.6
            System.out.println(5.0/3);//1.6666666666666667    
            
            //取余 (取模)%
            System.out.println(3%5);
            System.out.println(5%8);
        }
    }
    package cn.heima.java;
    /**
     * +的多种用法
     * 1、数字相加
     * 2、字符相加:拿字符在计算机底层储存对应的数据值来参与运算的
     * 3、字符串相加:这里的+其实不是加法,而是字符串连接符;
     *        字符串和其他类型的数据作拼接,结果是字符串类型的。
     */
    public class Demo06Perator {
        public static void main(String[] args) {
            //1、整数的加法
            int a = 10;
            int b = 20;
            System.out.println(a+b);
            System.out.println("--------------");
            //2、字符参与加法操作
            char c = '0';
            char c2= 'a';
            System.out.println(a+c);//10+48=58
            System.out.println(a+c2);//10+97=107
            System.out.println(c+c2);//48+97=145
            System.out.println("---------------");
            //3、字符串参与加法操作
            System.out.println("hello"+a);//hello10
            System.out.println("hello"+a+b);//"hello"+10="hello10",然后在和b进行拼接
            System.out.println(a+b+"hello");//从左到右依次计算,先求和,再连接
            
        }    
    }

    ++,--运算

    package cn.heima.java;
    /**
     * ++,--运算符:对变量做加1或者减1操作
     * ++,--既可以写在变量的后面也可以写在变量的前面
     * 单独使用:
     *         ++,--无论时写在变量的前面还是后面,结果是一样的
     * 和其他操作混合使用:
     *         如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--
     *         如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作*/
    public class Demo07Operator {
        public static void main(String[] args) {
            int  a = 10;
            System.out.println("a:" + a);//a:10
            //单独使用
    //        ++a;
    //        System.out.println("a:"+ a);//a:11
    //        a++;
    //        System.out.println("a:" + a);//a:12
            //参与操作使用
            //int b = a++;
            int b = ++a;
            System.out.println("a:" + a);
            System.out.println("b" + b);//11
            
        }
    }

    赋值运算符:

    package cn.heima.java;
    /**
     * 基本的赋值运算符:=
     * 扩展的赋值运算符:+=、-=、*=、/=、%=
     *     把左边和右边的结果赋值给左边
     *     注意:左边不能是常量
     *     隐含了一个强制类型转换*/
    public class Demo08Operator {
        public static void main(String[] args) {
            //把10赋值给int类型的变量a
            int a = 10;
            //+=把左边和右边的数据进行运算,最后赋值给左边,左边的只能时变量
            a += 10; //相当于a = a + 10
            System.out.println("a:" + a);//20
            System.out.println("---------------");
            
            short s = 10;
            //s += 20;//相当于s = s + 20;
            s = (short)(s + 20);
            System.out.println("s:" + s);
            
            int i = 10;
            i *= 10;
            System.out.println("i=" + i);
            
            int b = 20;
            b /= 10;//2 相当于b = b / 10
            System.out.println("b=" + b);
            
            int c = 6;
            c %= 7;//c = c % 7
            System.out.println(c);
        }
    }

    关系运算符:

    package cn.heima.java;
    /**
     * 关系运算符
     * ==,!=,>,<,>=,<=
     * 关系运算符的结果都是boolean型,也就是要么时true,要么是false
     * 注意事项:运算符"=="不能误写成"="
     *
     */
    public class Demo09Operator {
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int c = 10;
            System.out.println(a == b);
            System.out.println(a == c);
            System.out.println("--------------");
            System.out.println(a != b);
            System.out.println(a != c);
            System.out.println("--------------");
            System.out.println(a > b);
            System.out.println(a > c);
            System.out.println("--------------");
            System.out.println(a >= b);
            System.out.println(a >= c);
            
            int x = 3;
            int y = 4;
            System.out.println(x == y);
            System.out.println(x = y);//把y赋值给x,把x的值输出 //4
            boolean bb = (x == y);
            System.out.println(bb);
            //报错:Type mismatch: cannot convert from int to boolean
        //    boolean cc = (x = y);//类型不匹配:不能从int转换为boolean
            int cc = (x = y);
            System.out.println(cc);
        }
    }

    逻辑运算符:

    package cn.heima.java;
    /**
     * 逻辑运算符:
     *     作用:逻辑运算符用于连接布尔型表达式
     *            在Java中不可以写成3<x<6,应该写成 x>3 && x<6
     *     基本使用:&(与),|(或),^(异或),!(非)
     *         与(&):有false则false
     *         或(|):有true则true
     *         异或(^):相同则false,不同则true
     *         非(!):true则false,false则true
     *
     */
    public class Demo10Operator {
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int c = 30;
            System.out.println((a>b)&(a>c));//false & false
            System.out.println((a<b)&(a>c));//true & false
            System.out.println((a>b)&(a<c));//false & true
            System.out.println((a<b)&(a<c));//true & true
            System.out.println("-----------------------------");
            System.out.println((a>b) | (a>c));//false & false
            System.out.println((a<b) | (a>c));//true & false
            System.out.println((a>b) | (a<c));//false & true
            System.out.println((a<b) | (a<c));//true & true
            System.out.println("==============================");
            System.out.println((a>b) ^ (a>c));// false ^ false
            System.out.println((a<b) ^ (a>c)); // true ^ false
            System.out.println((a>b) ^ (a<c)); // false ^ true
            System.out.println((a<b) ^ (a<c)); // true ^ true
            System.out.println("---------------");
            System.out.println((a>b)); // false
            System.out.println(!(a>b)); // !false
            System.out.println(!!(a>b)); // !!false
    
        }
    }

    三元运算符练习:

    package cn.heima.java;
    /**
     * 三元运算符
     * 基本使用:
     *         格式:(关系表达式)?表达式1:表达式2;
     *     如果条件为true,运算后的结果是表达式1;
     *     如果条件为false,运算后的结果是表达式2;
     * 示例:获取两个数中大数
     *     int x = 3,y = 4,z;
     *     z=(x>y)?x:y; //z变量存储的就是两个数的大数
     *
     */
    public class Demo11Operator {
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int c = (a>b) ? a : b;
            System.out.println("c="+ c);    
            
        /*
         * 练习:比较两个数据是否相同
         */
            int aa = 20;
            int bb = 20;
            boolean flag = (aa==bb)?true : false;
            //boolean flag1 = (a == b); //false 正确答案应该是true
            System.out.println(flag);
            
        /*
         * 获取三个整数的最大值
         */
            //定义三个int类型的变量
            int x = 10;
            int y = 20;
            int z = 30;
            //先比较两个整数的大值
            int temp = ((x > y)? x:y);
            int max = ((temp > z)?temp:z);
            System.out.println("max:"+ max);
        }
    }
  • 相关阅读:
    计算时代之大数据-分类阅读时代
    从语言到库到框架,再到API,再到标记最后到DSL语言
    Angular指令1
    宇宙量子计算理论
    Angular实现瀑布流的库angular-deckgrid
    Markdown会干掉Html吗?
    基于Html5缓存的页面P2P技术可行性探讨
    一个艰难的决定
    CentOS7 安装 MariaDB-10.4.7
    MongoDB-4 GridFS 文件存储
  • 原文地址:https://www.cnblogs.com/Haidrens/p/10003461.html
Copyright © 2020-2023  润新知