Day07

运算符

Java语言支持如下运算符:

优先级

Day07

使用优先级为 1 的小括号可以改变其他运算符的优先级,即如果需要将具有较低优先级的运算符先运算,则可以使用小括号将该运算符和操作符括起来

算术运算符:+,,*,l,%,++,--。

package operator;

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

       //二元运算符
       int a = 10;
       int b = 10;
       int c = 10;
       int d = 55;
       
       System.out.println(d%b);
       System.out.println(a+b);
       System.out.println(a-b);
       System.out.println(a*b);
       System.out.println(a/(double)b);
  }


}
package operator;

public class Demo02 {
   public static void main(String[] args) {
       long a = 12312313123123L;
       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
       //如果这两个操作或多个操作中有一个long类型那么结果类型位long如果没有long类型结果位int类型(double同理)

  }
}
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 = a + 1 ;
       int c = ++a;//执行完这段代码前,先自增,在给c赋值
       //++ --是相对应的
       System.out.println(a);
       System.out.println(b);
       System.out.println(c);

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

赋值运算符=

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

package operator;
//关系运算符
public class Demo03 {
   public static void main(String[] args) {
       //关系运算符返回的结果;只会有正确和错误(布尔值表示)
       //常用于if
       int a = 10;
       int b = 20;
       int c = 21;

       //取余,也叫做模运算
       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);
  }
}

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

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));//逻辑或运算;有一个变量都为真,则结果为true。
       System.out.println("!(a && b);"+!(a&&b));//如果是真,则变为假。如果是假,则变为真。

       //短路运算;逻辑与第一个变量为假,则会直接输出false,后面就不会进行计算了。
       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。
     A|B = 0011 1101   对应位都为0则为0,否则为1。
     A^B = 0011 0001   对应位相同则为0,不同则为1。
      ~B = 1111 0010   对应位全部取反。

      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(3<<3);

  }
}

条件运算符 ? ∶ 。

 

package operator;
//三元运算符
public class Demo08 {
   public static void main(String[] args) {
       // x ? y ; z
       //如果x==true,则结果为y,否则结果位z
       int score = 100;
       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);
       System.out.println(a+b+"");

  }
}
上一篇:Java异常


下一篇:项目 cg day07