基本运算符(改)

运算符

基本运算符

int a = 10;//读作把10赋值给a

Ctrl+D:复制当前行到下一行

Alt+Ctrl+A:QQ截图

自增自减运算符

int b = a++;  //执行完这行代码后,先给b赋值,再自增
int c = ++a;  //执行完这行代码后,先自增,再给b赋值

逻辑运算符

短路运算

boolean a = true;
boolean b = false;
boolean c = b&&a;   //若前面b为假,则后面a不用进行判断

判断方法

int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);

位运算

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

字符串连接符

int a = 10;
int b = 20;
System.out.println(""+a+b);      1020

三元运算符

// x ? y : z
// 如果x==true,则结果为y,否则结果为z

备注

可以把类(class)放到包(package)里面,便于分类工作

 

 

 

 

代码

//Java-零基础学习/src/base/Demo06
package base;

public class Demo06 {
   public static void main(String[] args) {
       //二元运算符
       //Ctrl + D:复制当前行到下一行
       int num1 = 10;
       int num2 = 20;

       System.out.println(num1 + num2);
       System.out.println(num1 - num2);
       System.out.println(num1 * num2);
       System.out.println(num1 / (double)num2);
       System.out.println("=========================================");

       //==============================================
       //计算中默认类型转换(cast)
       long num3 = 123123123123123L;
       int num4 = 123;
       short num5 = 10;
       byte num6 = 4;

       //有long类型,结果为long类型(double同理)
       System.out.println(num3 + num4 + num5 + num6);
       //没有long类型,不管有没有int类型,结果都为int类型
       System.out.println(num4 + num5 + num6);
       System.out.println(num5 + num6);
       System.out.println("=========================================");

       //==============================================
       //关系运算符:返回的结果是布尔值(true or false)
       int num7 = 10;
       int num8 = 20;
       int num9 = 21;
       System.out.println(num7 > num8);
       System.out.println(num7 < num8);
       System.out.println(num7 == num8);
       System.out.println(num7 != num8);
       //取余(模运算)
       System.out.println(num9 % num7);
       System.out.println("=========================================");

       //==============================================
       //一元运算符:自增和自减
       int num10 = 3;
       int num11 = num10++;//执行完这段代码后,先给num11赋值,再自增

       System.out.println(num11);
       System.out.println(num10);

       int num12 = ++num10;

       System.out.println(num12);//执行完这段代码后,先自增,再给num12赋值
       System.out.println("=========================================");

       //==============================================
       //幂运算:很多运算,我们会使用一些工具类来操作
       double num13 = Math.pow(3,2);

       System.out.println(num13);
       System.out.println("=========================================");

       //==============================================
       //逻辑运算符:与(and)或(or)非(not)
       boolean f1 = true;
       boolean f2 = false;

       System.out.println(f1 && f2);//逻辑与运算:两个变量都为真,结果才为真
       System.out.println(f1 || f2);//逻辑或运算:两个变量有一个为真,结果就为真
       System.out.println(!(f1));   //逻辑非运算:真变为假,假变为真
       System.out.println("=========================================");

       //==============================================
       //短路运算
       int num14 = 3;
       boolean f3 = (num14 < 2) && (num14++ < 2);

       System.out.println(f3);
       System.out.println(num14);

       boolean f4 = (num14 > 2) || (num14++ < 2);

       System.out.println(f4);
       System.out.println(num14);
       System.out.println("=========================================");

       //==============================================
       //位运算:能用位运算尽量不要使用二元运算,前者与计算机底层相关,效率更高
       /*
       A = 0011 1100
       B = 0000 1101
       =====================
       A & B = 0000 1100
       A | B = 0011 1101
       A ^ B = 0011 0001
       ~B = 1111 0010
       =====================
       << *2
       >> /2
        */
       int num15 = 60;
       int num16 = 13;

       System.out.println(num15 & num16);
       System.out.println(num15 | num16);
       System.out.println(num15 ^ num16);
       System.out.println(~num16);

       int num17 = 2;

       System.out.println(num17 << 3);
       System.out.println("=========================================");

       //==============================================
       //扩展运算符
       //连接符:“+”两边存在String类型后,它会将两侧用String的方式连接起来
       int num18 = 10;
       int num19 = 20;

       num18 += num19;//num18 = num18 + num19

       System.out.println(num18);
       System.out.println("" + num18 + num19);
       System.out.println(num18 + num19 + "");
       System.out.println("=========================================");

       //==============================================
       //三元运算符:x ? y :z
       //如果x为真,则结果为y,否则结果为z
       int score1 = 50;
       int score2 = 70;
       String type1 = score1 < 60 ? "不及格" : "及格";
       String type2 = score2 < 60 ? "不及格" : "及格";

       System.out.println(type1);
       System.out.println(type2);
  }
}
 
posted @ 2021-03-08 18:47  poiuyjoey  阅读(55)  评论(0)    收藏  举报