java-05c基础运算符

java基础

运算符

java-05c基础运算符

二元运算符

package operator;
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);
        System.out.println("=================================================");

        //关系运算符返回的结果:正确,错误,布尔值

        int a1 = 10;
        int b1 = 20;
        int c1 = 21;

        System.out.println(a1>b1);
        System.out.println(a1<b1);
        System.out.println(a1==b1);
        System.out.println(a1!=b1);
        System.out.println(c1%b1);




    }
}

一元运算符

package operator;

public class Demo02 {
    public static void main(String[] args) {
        //++ -- 自增,自减  一元运算符

        int a = 3;
        int b = a++;
        //先赋值,再加加
        System.out.println(a);
        int c = ++a;
        //先加加,再赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 java内使用工具类
        double pow = Math.pow(3,2);
        System.out.println(pow);
    }
}

逻辑运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //与  或  非
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果才为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);  //c还为5,则后半段未执行,即逻辑与运算
        System.out.println(d);
        System.out.println(c);

    }
}

位运算符

package operator;

public class Demo04 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101

        A&B = 0000 1100  与 两个都为1才为1
        A|B = 0011 1101  或 两个都是0才为0
        A^B = 0011 0001  异或   两个相同为0,不同为1
        ~B  = 1111 0010  取反   每位相反

        2*8=16怎么算最快   2*2*2*2
        <<  *2
        >>  /2
        移位运算效率极高

         */
        System.out.println(2<<3);
    }
}

扩展赋值运算符

public class Demo05 {
    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+"");
    }
}

条件运算符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        // x ? y :z
        //如果x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score <60 ?"不及格":"及格";
        System.out.println(type);
    }
}

上一篇:Java 日期类 Date


下一篇:for循环 三角形打印