运算符

运算符

  1. Java中支持的运算符:
  • 基本运算符: + , -, * ,/, %, ++, --
  • 赋值运算符: =
  • 扩展赋值运算符:+=, -=, *=, /=
  • 关系运算符: >, <, >=, <=, ==, !=
  • 逻辑运算符:&&,||,!
  • 位运算符:&, |, ^, ~, >>, <<,>>>(了解!)
  • 条件运算符: ?

2.赋值运算符:

​ 作用:将等号右侧的值赋给等号左侧

public class Test{
  public static void main(String[] args){
      //交换数字
      int num1=1;
      int num2=2;
  
      System.out.println("交换前: "+num1+"\t"+num2);
      //输出交换前的两个数
  
      //引入中间变量
      int t;
      t = num1;
      num1 = num2;
      num2 = t;
      //输出交换后的两个数:
      System.out.println("交换后: "+num1+"\t"+num2);
    }
}
public class Test{
  public static void main(String[] args){
    //实现三个数求和;
    int num1 = 10;
    int num2 = 20;
    int num3 = 30;
    
    //求和
    //int sum = num1+num2+num3;
    
    int sum = 0;
    sum += num1;
    sum += num2;
    sum += num3;
    
    System.out.println("和为: " +sum);
    
  }
}

3.关系运算符:

public class Test{
  public static void main(String[] args){
  //关系运算符最终的结果都是布尔值
  System.out.println(4>9);//false
                System.out.println(4<9);//true
                System.out.println(4>=9);//false
                System.out.println(4<=9);//true
                System.out.println(4==9);//false
                System.out.println(4!=9);//true
                System.out.println((5<9)!=(6==8));//true
  }
}

4.逻辑运算符:

进行逻辑运算的,运算符左右连接的都是 布尔类型的操作数,最终表达式的结果是布尔值:要么是true,要么false

public class Test{
        public static void main(String[] args){
                // 逻辑与 :& 规律:只要有一个操作数是false,那么结果一定是false
                System.out.println(true&true);
                System.out.println(true&false);
                System.out.println(false&false);
                System.out.println(false&true);
                
                // 短路与:&& 规律:效率高一些,只要第一个表达式是false,那么第二个表达式就不用计算了,结果一定是false
                System.out.println(true&&true);
                System.out.println(true&&false);
                System.out.println(false&&false);
                System.out.println(false&&true);
                
                // 逻辑或:| 规律:只要有一个操作数是true,那么结果一定是true
                System.out.println(true|true);
                System.out.println(true|false);
                System.out.println(false|false);
                System.out.println(false|true);
                
                // 短路或:|| 规律:效率高一些,只要第一个表达式是true,那么第二个表达式就不用计算了,结果一定是true
                System.out.println(true||true);
                System.out.println(true||false);
                System.out.println(false||false);
                System.out.println(false||true);
                
                //逻辑非:! 规律:相反结果
                System.out.println(!true);//false
                System.out.println(!false);//true
                
                //逻辑异或:^ 规律:两个操作数相同,结果为false,不相同,结果为true
                System.out.println(true^true);
                System.out.println(true^false);
                System.out.println(false^false);
                System.out.println(false^true);
        }
}
public class Test{
        public static void main(String[] args){
                int i=8;
                System.out.println((5>7)&&(i++==2)); //false
                System.out.println(i); //8 
                
                
                int a=8;
                System.out.println((5>7)&(a++==2)); //false
                System.out.println(a); //9
                
                
                int m=8;
                System.out.println((5<7)&&(m++==2)); //false
                System.out.println(m); //9
                
                int b=2;
                System.out.println((5<7)&(b++==2)); //true
                System.out.println(b); //3
                
                int c=2;
                System.out.println((5<7)&(++c==2)); //false
                System.out.println(c); //3
        }
}

5.三目运算符:

a?b:c

其中a是一个布尔类型的表达式,返回结果要么是true要么false,通过a的结果决定最终表达式的结果:

如果a的结果是true,那么表达式最终结果为b

如果a的结果是false,那么表达式最终结果为c

import java.util.*;//*代表所有
public class Test{
        public static void main(String[] args){
                //实现功能:男孩女孩选择晚饭吃什么,如果意见一致,听男生的,如果意见不一致,听女生的
                
                //1.要让男孩女孩选择晚饭吃什么:
                Scanner sc = new Scanner(System.in);
                System.out.println("请选择今晚吃什么:1.火锅 2.烧烤 3.麻辣烫 4.西餐");
                System.out.println("请男孩选择:");
                int boyChoice = sc.nextInt();
                System.out.println("请女孩选择:");
                int girlChoice = sc.nextInt();
                //2.判断:
                System.out.println(boyChoice==girlChoice?"听男孩的":"听女孩的");
        }
}

6.优先级

posted @ 2020-11-23 23:13  小幸福Y  阅读(67)  评论(0编辑  收藏  举报