05-Java基础07~10

运算符

  • 算术运算符

    05-Java基础07~10

    public class Demo01 {
        public static void main(String[] args) {
            //算术运算符
            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);
            System.out.println(c%a);//取余,模运算
        }
    }
    
    public class Demo02 {
        public static void main(String[] args) {
            long a = 123123123123123L;
            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
        }
    }
    
    
    public class Demo04 {
        public static void main(String[] args) {
            //++ -- 自增 自减   一元运算符
            int a = 3;
    
            int b = a++;//先给b赋值,再自增
    
            int c = ++a;//先自增,再给c赋值
    
            System.out.println(a);//5
            System.out.println(b);//3
            System.out.println(c);//
    
            //幂运算:使用Math工具类
            double pow = Math.pow(2,3);//2^3
            System.out.println(pow);
        }
    }
    
  • 赋值运算符

    05-Java基础07~10

    public class Demo07 {
        public static void main(String[] args) {
            //扩展赋值运算符
            int a = 10;
            int b = 20;
    
            a+=b;
    
            System.out.println(a);//30
            //字符串连接符:String类型+其他类型,都会转换为String类型
            // String类型必须在前
            System.out.println(""+a+b);
        }
    }
    
  • 关系运算符

    05-Java基础07~10

    public class Demo03 {
        public static void main(String[] args) {
            //关系运算符返回的结果:正确/错误  布尔值
            //if
    
            int a = 10;
            int b = 20;
            int c = 22;
    
            System.out.println(a>b);
            System.out.println(a<b);
            System.out.println(a==b);
            System.out.println(a!=b);
        }
    }
    
  • 逻辑运算符

    05-Java基础07~10

    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 :"+(b || a));//逻辑或运算:两个变量有一个为真,则结果才为true
            System.out.println("!(a && b) :"+!(b && a));//如果是真,则变为假;如果是假,则变为真
    
            //短路运算
            int c = 5;
            boolean d = (c<4)&&(c++<4);//c<4满足条件,不进行下一步操作
            System.out.println(d);//false
            System.out.println(c);//5
        }
    }
    
  • 位运算符

    05-Java基础07~10

    public class Demo06 {
        public static void main(String[] args) {
            /*  A   = 0011 1100
                B   = 0000 1101
    
                A&B = 0000 1100//与:都为1为1,否则为0
                A|B = 0011 1101//或:都为0为0,否则为1
                A^B = 0011 0001//异或:相同为0,不同为1
                ~B  = 1111 0010//取反:相同为1,不同为0
             */
    
            /* 2*8如何运算最快
                2 * 8 = 16:2*2*2*2
            <<:左移
            >>:右移
            2: 0000 0010
            4: 0000 0100
            8: 0000 1000
            16:0001 0000
            效率极高!!!
            */
            System.out.println(2<<3);//16
        }
    }
    
  • 条件运算符

    也被称为三元运算符

    该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

    实例:

    public class Demo08 {
        public static void main(String[] args) {
            //x ? y:z
            //如果x==true,则结果为y,否则为z
            int score = 80;
            String type = score<60 ? "不及格":"及格";
            System.out.println(type);//及格
        }
    }
    
  • 扩展运算符

    位与赋值:

    05-Java基础07~10

运算符优先级

从上到下运算符优先级递减

05-Java基础07~10

上一篇:如何使用SQL ORDER BY子句按升序或降序进行排序


下一篇:408计算机网络07-HTTP 与 HTTPs 的建立连接的过程