zoukankan      html  css  js  c++  java
  • Day03_java基础 运算符

    运算符

    java语言支持如下运算符:

    • 算术运算符:+,-,*,l, %,++,
    • 赋值运算符=
    • 关系运算符:>,<,>=,<=,==,!= instanceof
    • 逻辑运算符: &&,|,!
    • 位运算符:&,|,^, ~,>>,<<,>>>(了解!! ! )
    • 条件运算符?∶
    • 扩展赋值运算符:+=,-=,*=,/=

    算术运算符

    package opertaor;
    
    public class Demo01 {
        public static void main(String[] args) {
            //二元运算符
            //Ctrl+D:复制当前行到下一行
            int a =10;
            int b =20;
            int c =25;
            int d =25;
            System.out.println(a+b);
            System.out.println(a-b);
            System.out.println(a*b);
            System.out.println(a/(double)b );//强制类型转换   0.5
        }
    }
    

    //运行结果

    30
    -10
    200
    0.5
    
    Process finished with exit code 0
    
    package opertaor;
    
    public class Demo04 {
        public static void main(String[] args) {
            //自增自减
            //++  --        自增,自减   一元运算符
            int a =3;
            int b =a++;     //执行完这行代码后,先给b赋值,再自增
            //a++ a=a+1
            System.out.println(a);//4
            int c=++a;  //执行完这行代码前,先自增,再给b赋值
            System.out.println(a);//5
            System.out.println(b);//3
            System.out.println(c);//5
            //幂运算2^3    2*2*2=8   很多运算,我们会使用一些工具类来操作!
            double pow = Math.pow(3, 2);
            System.out.println(pow);
        }
    }
    

    //运行结果

    4
    5
    3
    5
    9.0
    
    Process finished with exit code 0
    

    赋值运算符

    package opertaor;
    
    public class Demo02 {
        public static void main(String[] args) {
            long a=12312321341432L;
            int b=123;
            short c=10;
            byte d=8;
    
            System.out.println(a+b+c+d); //Long
            System.out.println(b+c+d);   //Int
            System.out.println(c+d);    //Int
        }
    }
    

    //运行结果

    12312321341573
    141
    18
    
    Process finished with exit code 0
    

    关系运算符

    package opertaor;
    
    public class Demo03 {
        public static void main(String[] args) {
            //关系运算符返回的结果:正确,错误  布尔值
            int a=10;
            int b=20;
            int c=22;
            //取余,模运算
            System.out.println(c%a);       //c/a        22/10=2.......1
            System.out.println(a>b);
            System.out.println(a<b);
            System.out.println(a==b);
            System.out.println(a!=b);
        }
    }
    

    //运行结果

    2
    false
    true
    false
    true
    
    Process finished with exit code 0
    
    package opertaor;
    
    //逻辑运算
    public class Demo05 {
        public static void main(String[] args) {
            //与(and)    或(or)   非(取反)
            boolean a = true;
            boolean b = false;
    
            System.out.println("a&&b:"+(b&&a));     //逻辑与运算:两个变量都为真,结果才为true
            System.out.println("a||b:"+(a||b));     //逻辑或运算:两个变量有一个为真,则结果才为true
            System.out.println("!(a&&b):"+!(a&&b));     //如果是真,则变为假。
    
            //短路运算
            int c = 5;
            boolean d=(c<4)&&(c++<4);
        }
    }
    

    //运行结果

    a&&b:false
    a||b:true
    !(a&&b):true
    
    Process finished with exit code 0
    

    位运算符

    package opertaor;
    
    public class Demo06 {
        public static void main(String[] args) {
            /*
            A = 0011 1100
            B = 0000 1101
            ------------------------------
            A&B = 0000 1100
            A|B = 0011 1101
            A^B = 0011 0001
            ~B = 1111 0010
    
            2*8 = 16   2*2*2*2
            效率极高
            << 左移   *2
            >> 右移   /2
            0000 0000   0
            0000 0001   1
            0000 0010   2
            0000 0100   4
            0000 1000   8
            0001 0000   16
    
             */
            System.out.println(2<<3);
        }
    
    }
    

    //运行结果

    16
    
    Process finished with exit code 0
    

    条件运算符

    package opertaor;
    
    public class Demo07 {
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            a+=b;   //a=a+b
            System.out.println(a);
            a-=b;   //a=a-b
            System.out.println(a);
            //字符串拼接     +  , String
            System.out.println(""+a+b);
            System.out.println(a+b+"");
        }
    }
    

    //运行结果

    30
    10
    1020
    30
    
    Process finished with exit code 0
    

    三元运算符

    package opertaor;
    //三元运算符
    public class Demo08 {
        public static void main(String[] args) {
            //x?  y : z
            //如果x==true,则结果为y,否则结果为z
            int score = 50;
            String type = score < 60?"不及格":"及格";
            //if
            System.out.println(type);
        }
    }
    
    不及格
    
    Process finished with exit code 0
    
  • 相关阅读:
    Java实现 LeetCode 382 链表随机节点
    Java实现 LeetCode 382 链表随机节点
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 380 常数时间插入、删除和获取随机元素
    Java实现 LeetCode 380 常数时间插入、删除和获取随机元素
    Linux下的iwpriv(iwlist、iwconfig)的简单应用
    OCX控件的注册卸载,以及判断是否注册
    .OCX、.dll文件注册命令Regsvr32的使用
  • 原文地址:https://www.cnblogs.com/lemonlover/p/13984481.html
Copyright © 2011-2022 走看看