• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Java基础:运算符

开发技术 开发技术 6小时前 1次浏览

Java基础:运算符

算术运算符

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl + D :复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 30;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}


Java基础:运算符

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 13246422435L;
        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(b+d);   //Int
    }
}

Java基础:运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:  正确,错误    布尔值
        //if

        int a = 10;
        int b = 15;
        int c = 25;

        //取余   模运算
        System.out.println(c%a);

        System.out.println(a<b);
        System.out.println(a>b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

Java基础:运算符

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++  --    自增,自减  一元运算符
        int a = 3;
        int b = a++;  //执行完这行代码后,先给b赋值,再自增
        //a=a+1;
        System.out.println(a);
        //a=a+1;
        int c = ++a;  //执行完这段代码前,先自增,再给b赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);


        //幂运算 2^3   2*2*2=8  很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2,3);
        System.out.println(pow);
    }
}

Java基础:运算符

逻辑运算符

package operator;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or)   非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a&&b:"+(b&&a)); //逻辑与运算:两个变量都为真,结果才为ture
        System.out.println("a||b:"+(b||a)); //逻辑与运算:两个变量有一个为真,则结果才为ture
        System.out.println("!(a&&b):"+!(b&&a)); //如果为真,则变为假,如果是假则变为真

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}

Java基础:运算符

位运算符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0101 0110
        A&B = 0001 0100
        A|B = 0111 1110
        A^B = 0110 1010
        ~B = 1010 1001

        2*8 = 16    2*2*2*2
        效率极高
        <<  *2
        >>  /2

        0000 0000      0
        0000 0001      1
        0000 0010      2
        0000 0011      3
        0000 0100      4
        0000 1000      8
        0001 0000      16
         */

        System.out.println(2<<3);

    }
}

Java基础:运算符

条件运算符 ?:

package operator;

//三元运算符
public class Demo08 {
    public static void main(String[] args) {
         // x ? y : z
        // 如果x=ture,则结果为y,否则结果为z

        int score = 50;
        String type = score <60 ?"不及格":"及格";  //必须掌握
        //if
        System.out.println(type);
    }
}

Java基础:运算符

扩展赋值运算符

package operator;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a+=b;  //a=a+b
        a-=b;  //a=a-b

        System.out.println(a);

        //字符串连接符  +  ,  String
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}

Java基础:运算符

Java运算符优先级

Java基础:运算符

一个特殊的例子:

public class stlye{
public static void main(String[] args){
    int a=10,b=6;
    System.out.println("改变之前的数:a="+a+",b="+b);
    a-=b++;
    System.out.println("改变之后的数:a="+a+",b="+b);
    }
}

运算结果为:

改变之前的数:a=10,b=6

改变之后的数:a=4,b=7

因为b++运算中先执行++,再返回后置++运算表达式(b++)的返回值(6)给-=运算符。

在这个程序中a-=b++等于a=a-b++=10-6,所以a=4。


程序员灯塔
转载请注明原文链接:Java基础:运算符
喜欢 (0)