运算符

发布时间 2023-12-02 21:13:40作者: zpanwen

运算符

算数运算符:+,-,*,/,%,++,--

package operator;

public class Demo02 {
   public static void main(String[] args) {
       //有long为long,无long为int

       long a=123123123123L;
       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
       System.out.println((double) c+d);
  }
}
package operator;

public class Demo04 {
   public static void main(String[] args) {
       //++ -- 自增,自减 一元运算符
       int a = 3;

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

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

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

赋值运算符=

关系运算符:>, <, >= , <= , == , !=instanceof

package operator;

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

       int a=10;
       int b=20;
       int c=21;

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

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

逻辑运算符:&&, ||, !

package operator;

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

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

       //短路运算 a&&b中,如果a是假,则直接输出flase,b不运算
       int c=5;
       boolean d=(c<4)&&(c++<4);
       System.out.println(d);
       System.out.println(c);

  }
}

位运算符:&, |, ^, ~, >>, <<, >>>(了解!!!)

package operator;

public class Demo06 {
   public static void main(String[] args) {


   /*
   A=0011 1100
   B=0000 1101
-----------------------
   A&B=0000 1100 //同1为1,不同或同0为0
   A/B=0011 1101 //有一个1为1,无1为0
   A^B=0011 0001 //相同为0,不相同为1
   ~B=1111 0010   //取反

   << *2
   >> /2

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

条件运算符?:

package operator;

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

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

  }
}

扩展赋值运算符:+=, -=, *=, /=

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+"");//字符串在后面,前面会依旧进行运算
  }
}