Java中的运算符及其优先级的讲解

赋值运算符(=

将等号”=“右边表达式的结果赋值给左边的变量或final修饰的常量

代码展示:

public class Test{
    public static void main(String[] args){
        int num = 3*5;
        System.out.println(num)// 15
    }
}

练习:实现交换两个变量的值

方式一:定义一个临时变量temp

优点:方便理解,通俗易懂

缺点:需定义临时变量,占用内存

代码展示:

public class VariableTest{
    public static void main(String[] args){
        int num =3,num1 =5;
        int temp = num;
        num = num1;
        num1 = temp;
        System.out.println("num = " + num  + "\n num1 = " + num1);      
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述

方式二:一加两减

优点:不太好理解

缺点:无需定义临时变量,节约内存

代码展示:

public class ChangeValue{
	public static void main(String[] args){
    	int num1 = 1,num2 = 2;
        num1 = num1 + num2;// num1 = 3;
        num2 = num1 - num2 ;// 3-2 = 1; num2 = 1
        num1 = num1 - num2;// 3 - 1 = 2;num =2
        System.out.println("num1 = "+ num1+"\nnum2 = " + num2);
	}    
}

运行截图:
在这里插入图片描述

方式三:使用位运算

优点:操作的是二进制,效率高

缺点:非常不好理解

代码展示:

public class OperationTest010{
    public static void main(String[] args){
        int num1 = 3,num2 = 5;
        num1 = num1 ^ num2;// num1 = 3 ^ 5
        num2 = num1 ^ num2;// num2 = 3 ^ 5 ^ 5 = 3
        num1 = num1 ^ num2;// num1 = 3 ^ 5 ^ 3 = 5
        System.out.println("num1 = " +num1 + "\nnum2= " + num2);
    }
}

运行截图:
在这里插入图片描述

算术运算符分类

  1. 一元运算符,只需一个操作数参与运算
  2. 二元运算符,需两个操作数参与运算
二元运算符

+、-、*、/、%

+功能:

  1. 加法运算
  2. 拼接操作
  3. 表示正数

代码展示:

public class OperationTest1{
    // 编写main方法,程序的入口,写法固定,能被Java虚拟机识别
    public static void main(String[] args){
        // 加法运算
        System.out.println(3+5);
        // 拼接操作
        System.out.println("7758"+458);
        // 表示整数
        System.out.println(+48);
    }
}

运行截图:

在这里插入图片描述

-功能:

  1. 减法运算
  2. 表示负数

代码展示:

public class OperationTest2{
    public static void main(String[] args){
		// 减法运算
        System.out.println(10-5); // 5
        // 表示负数
        System.out.println(-15);// -15
    }
}

运行截图:
在这里插入图片描述

*功能:

  1. 乘法运算

代码展示

public class multiplyTest{
    public static void main(String[] args){
        System.out.println(9*9); // 81
    }
    
}

/功能:

  1. 除法运算

代码展示:

public class divideTest{
    public static void main(String[] args){
        System.out.println(10/5); //2
    }
}

%功能:

  1. 取模|取余运算,用于获取两个数不能整除的余数

    使用场合:判断m是否能被n整除

    若m能被n整除,则m%n的结果为0

    若m不能被n整除,则m%n的结果不为0

    注意:0模任何一个数,结果还是0

    代码展示:

     public class OperationTest{
        public static void main(String[] args){
            System.out.println(0 % 3);// 0
            System.out.println(1 % 3);// 1
            System.out.println(2 % 3);// 2
            System.out.println(3 % 3);// 0
            System.out.println(4 % 3);// 1
        }
    }
    

    运行截图:
    在这里插入图片描述

注意:

  1. 在java中,被除数不能为0,否则会抛出java.lang.ArithmeticException异常

    代码展示:

    public class OperationTest3{
        public static void main(String[] args){
            System.out.println(3/0);
        }
    }
    

    运行截图:
    在这里插入图片描述

    js中,被除数可为0,结果要么为infinity正无穷大|-infinity负无穷大

    代码展示:

    var num1 = 3 / 0;
    var num2 = -3 / 0;
    console.log("value = "+num1+"\ntype = " + typeof(num1));
    console.log("value = "+num2+"\ntype = " + typeof(num2));
    

    运行截图:
    在这里插入图片描述

  2. 在java中,两整数相除,结果要么为long,要么为int,结果一定是一个整数

    代码展示:

    public class OperationTest4{
        public static void main(String[] args){
            System.out.println(5/3); // 1 
        }
    }
    

    运行截图:
    在这里插入图片描述

随堂练习:

  1. 获取用户从控制台输入的整数,判断这个是是奇数还是偶数

    代码展示:

    // 1. 导包
    import java.util.Scanner;
    public class OperationDemo{
        public static void main(String[] args){
            // 2.实例化Scanner对象
            Scanner input = new Scanner(System.in);
            // 提示性文字,为了提高用户体验
            System.out.println("请输入一个整数:");
            int num = input.nextInt();
            if( num % 2 == 0){
                System.out.println(num + "是偶数");
            } else{
                System.out.println(num + "是奇数");
            }
        }
    }
    

    运行截图:
    在这里插入图片描述

  2. 获取987的百位数、十位数和个位数

    代码展示:

    public class OperationDemo1{
        public static void main(String[] args){
            int num = 987;
            System.out.println( "个位" + (num % 10));
            System.out.println("百位" + ( num / 100));
            System.out.println("十位" + (num % 100 / 10));
            System.out.println("十位" + (num / 10 % 10));
        }
    }
    

    运行截图:
    在这里插入图片描述

一元运算符

++,自增运算符,++num|num++等效于: num = num+1

代码展示:

public class OperationTest78{
    public static void main(String[] args){
        int num = 5;
        num++;
        System.out.println(num); // 6
        
        int num1 = 6;
        ++num1;
        System.out.println(num1);// 7
    }
}

运行截图:
在这里插入图片描述

++numnum++ 的区别:

​ 核心:自增运算符和别的操作数一起运算时才有区别

++num 特点:先自增,后运算

num++ 特点:先运算,后自增

代码展示:

public class OperationTest44{
    public static void main(String[] args){
        int num = 3,num2 = 5;
        int sum = num ++ + 5;
        int sum2 =  ++num2 + 1;
        System.out.println("sum = " + sum + "\nnum = " + num + "\nsum2 = " + sum2 + "\nnum2 = " + num2 ); // sum = 8 num = 4 sum2 = 7 num2 = 6
    }
}

运行截图:
在这里插入图片描述

–,自减运算符,--num|num--等效于:num = num -1;

代码展示:

public class OperationDemo40{
    public static void main(String[] args){
        int num = 7;
        num --;
        System.out.println(num);
        
        int num1 = 7;
        -- num1;
        System.out.println(num1);
    }
}

运行截图:
在这里插入图片描述

--numnum--的区别:
​ 核心:自减运算符和别的操作数一起运算时才有区别

--num 特点:先自减,后运算

num-- 特点: 先运算,后自减

​ 代码展示:

public class OperationDemo41{
    public static void main(String[] args){
 		int num = 1;
        int sum =  num-- + 5;
        System.out.println("sum = " + sum + "\nnum = " + num);// sum = 6 num = 0
        
        int num1 = 12;
        int sum1 = -- num1 + 1;
        System.out.println("sum1 = " + sum1 +"\nnum1 = " + num1);// sum = 12 num1 = 11
        
    }
}

​ 运行截图:
在这里插入图片描述

注意事项:

  1. 自增&自减运算符是一个整体,中间不准许有空格

    代码展示:

    // 正确写法
    public class OperationDemo2{
        public static void main(String[] args){
            int num = 3;
            num++;
            System.out.println(num);// 4
        }
    }
    

    运行截图:
    在这里插入图片描述

    代码展示:

    // 下面写法是错误的
    public class OperationDemo2{
        public static void main(String[] args){
            int num = 3;
            num+ +;
            System.out.println(num);
        }
    }
    

    编译错误截图:
    在这里插入图片描述

  2. 固定值常量&final修饰的常量不能做自增自减运算,只有整形变量可以,因为常量只能被赋值一次

    代码展示:

    public class ConstantDemo{
       	public static void main(String[] args){
           	final int num = 12;
           	num++;
           	System.out.println(num);
       	}
    }
    

    编译错误截图:
    在这里插入图片描述
    代码展示:

    public class ConstantDemo1{
       public static void main(String[] args){
           int num = 5--;
           System.out.println(num);
       }
    }
    

    编译错误截图:
    在这里插入图片描述


经典面试题:

  1. int num = 5;

    num = num++;

    请问代码执行完后num的值为多少?

    代码展示:

    public class OperationDemo45{
        public static void main(String[] args){
            int num = 5;
            num = num ++;
            System.out.println("num = " + num);// num = 5;
        }
    }
    

    运行截图:
    在这里插入图片描述

    问:为什么输出结果是5不是6?

    答:这题主要考察了num++底层到底做了什么

    ​ 第一步,定义了一个临时变量temp,用于存储num的原始值

    int temp = num ; // temp = 5

    ​ 第二步,执行“num++”自增操作

    num = num + 1 // num = 6

    ​ 以上两步执行完毕,证明“=”等号右边执行完毕

    ​ 以下这个步骤,执行的是赋值操作

    ​ 第三步:把num的原始值赋值给等号左边的变量

    num = temp; // num = 5


随堂练习:

  1. int a = 3,b = 4;a++ / 3 + --b * 2 - a-- % 6 + b++ * 3 - ++b的值

    代码展示:

    /*
    a = 3
    b = 5
    3 / 3 + 3 * 2 - 4 % 6 + 3 * 3 - 5
    = 7 
    */
    public class GetValue{
        public static void main(String[] args){
            int a = 3,b = 4;
            int value = a++ / 3 + --b * 2   - a-- % 6 + b++ * 3 - ++b;
            System.out.println("value = " + value + "\na = " + a + "\nb = " + b);
        }
    }
    

    运行截图:
    在这里插入图片描述


扩展赋值运算符

本质:是赋值运算符和算术运算符中的二元运算符的综合体

+=m+=nm=(m的数据类型)(m+(n))
-=m-=nm=(m的数据类型)(m-(n))
*=m*=nm=(m的数据类型)(m*(n))
/=m/=nm=(m的数据类型)(m/(n))
%=m%=nm=(m的数据类型)(m%(n))

描述:以上m和n都是变量,n可以是一个表达式,+=、%=、-=、*=、/=操作的是等号“=”右边n表达式的结果

注意事项:

  1. 请问 int sum = 3;sum *= 3 + 2;执行完后,sum的结果是多少?

    答:sum的结果是15.详情看如下代码.

    代码展示:

    public class OperationDemo69{
        public static void main(String[] args){
            int sum = 3;
            sum *= 3 + 2;
            // 等价于sum = sum*(3+2);
            System.out.println("sum = " + sum);
        }
    }
    

    运行截图:
    在这里插入图片描述

    强调:扩展赋值运算符操作的是等号右边表达式的结果

  2. short num = 11;num = num + 1short num = 11; num += 1;哪一个正确呢?

    答:

    short num = 11;num += 1;正确,因为num += 1等价于 num = (short) num + 1;

    short num = 11;num = num + 1错误,因为若两两个操作数中既没有float类型、也没有long类型、也没有double类型,那最终的结果为int类型,这里应该为int类型,而这个num最终为short类型,故会出现编译错误:类型转换错误

    代码展示:

    public class OperationTest79{
        public static void main(String[] args){
            short num = 11;
            num = num + 1;
            System.out.println(num);
        }
    }
    

    编译错误截图:
    在这里插入图片描述

    代码展示:

    public class OperationTest80{
        public static void main(String[] args){
            short num = 11;
            num += 1;
            System.out.println(num);
        }
    }
    

    运行截图:
    在这里插入图片描述

随堂练习:

  1. 获取三个学生的成绩,并计算三个学生成绩的平均分

    要求:使用扩展赋值运算符实现

    // 1. 导包
    import java.util.Scanner;
    public class ScoreTest{
        public static void main(String[] args){
            // 2. 实例化Scanner对象
            Scanner input =  new Scanner(System.in);
            double sum = 0;
            for(int i = 1;i <= 3;i++){
                // 提示性文字,为了提高用户体验
                System.out.println("请输入第"+i+"个学生的成绩");
                sum += input.nextDouble();
            }
           System.out.println("学生的总成绩"+sum + "\n平均分 avgScore = " + sum / 3);
        }
    }
    

    运行截图:
    在这里插入图片描述


比较运算符

包含:> 、>=、<、<=、==、!=

特点:“比价运算符”返回的结果肯定是boolean类型,条件成立返回true,否则返回false

代码展示:

public class BooleanTest1{
    public static void main(String[] args){
        boolean flag = 3>5;
        boolean flag1 = 3<5;
        boolean flag2 = 5==5;
        boolean flag3 = 5!=6;
        boolean flag4 = 5>=7;
        boolean flag5 = 5<=7;
        System.out.println("flag = " + flag + "\n flag1 = "+flag1+"\n  flag2 = "+ flag2+"\n flage3 = "+flag3+"\n flag4 = "+flag4 + "\n flag5 = "+flag5);
    }
}

运行截图:
在这里插入图片描述


==!=的作用:

==:

  1. 比较基本数据类型时,用于判断左右两边的数值是否相同

    代码展示

    public class CompareTest{
        public static void main(String[] args){
            System.out.println(5==5);// true
            System.out.println(5==6);// false
        }
    }
    
  2. 比较引用数据类型时,用于判断两个对象的地址是否相同

    代码展示:

    public class CompareTest{
    	public static void main(String[] args){
        	String name = new String("我的名字叫小编");
            String hobby = new String("我的爱好是打篮球");
            String copyName = name;
            System.out.println(name == copyName);// true
            System.out.println(hobby == name);// false
    	}   
    }
    

    运行截图:
    在这里插入图片描述

!=:用于判断两个数值是否不相同,如果不相同则返回true,否则返回fasle

代码展示:

public class CompareTest1{
	public static void main(String[] args){
    	System.out.println(5 != 5); // false
        System.out.println(5 != 6);// true
	}    
}	

运行截图:
在这里插入图片描述
注意事项:

  1. 注意区分“=”和“==”的区别

    “=”,表示赋值运算符

    “==”,表示比较运算符

  2. 建议使用“==”时,常量放左边,变量放右边

    好处:把问题尽量暴露在编译时,勿暴露在运行时

    代码展示:

    public class CompareTest2{
        public static void main(String[] agrs){
            boolean flag = true;
            //  建议:if(flase = flag)
            if(flag = false){
                System.out.println("flag的值为 true");
            }else{
                System.out.println("flag的值为false");
            }
        }
    }
    

    运行截图:
    在这里插入图片描述

    代码展示:

    public class CompareTest3{
        public static void main(String[] agrs){
            boolean flag = false;
    		if( true == flag){
                System.out.println("flag的值为"+ flag);
            }else{
                System.out.println("flag的值为"+flag);
            }
        }
    
    }
    

    运行截图:
    在这里插入图片描述


逻辑运算符

包含:^、&、&&、||、|、!

特点:参与逻辑运算的数据类型必须是boolean类型,且返回的结果也是boolean类型


& 与运算(二元运算符,有4种可能)(重点

结论:

  1. 只有两边都为true,结果才为true
  2. 只要有两边有一个为false,结果就为false

辅助记忆:小明小红来一趟办公室,两个都来才行,来一个或者都不来都不行

代码展示:

public class LogicTest{
    public static void main(String[] args){
        System.out.println(false&true);// false
        System.out.println(false&false);//false
        System.out.println(true&false);// false
        System.out.println(true&true);//true
    }
}

运行截图:
在这里插入图片描述


|或运算(二元运算符,有四种可能)(重点)

结论:

  1. 只有两边都为fasle,结果才为false
  2. 只要两边有一个为true,结果就为true

辅助记忆:小红小明来一趟办公室,两个中来一个结果就为true,都不来结果才为fasle

代码展示:

public class LogicTest1{
    public static void main(String[] args){
        System.out.println(false|true);// true
        System.out.println(false|false);//false
        System.out.println(true|false);// true
        System.out.println(true|true);//true
    }
}

运行截图:
在这里插入图片描述


^异或运算(二元运算符,有四种可能)

结论:两边相同返回false,两边不相同返回true

代码展示:

public class LogicTest2{
    public static void main(String[] args){
         System.out.println(false ^ true);// true
        System.out.println(false ^ false);//false
        System.out.println(true ^ false);// true
        System.out.println(true ^ true);//fasle
    }
}

运行截图:
在这里插入图片描述


!非(一元运算符,有两种可能)

结论:取反,!true-->false \!false-->true

代码展示:

public class LogicTest3{
    public static void main(String[] args){
        System.out.println(!true);// false
        System.out.println(!false);// true
    }
}

运行截图:
在这里插入图片描述

&&短路与(二元运算符,有四种可能)(重点)

结论:

  1. 只有两边都为true,结果才为true
  2. 只要有一边为false,结果就为false

&&与&的相同点:&和&&的执行结结果都相同

&&与&的不同点:

&&:

  1. 表达式的结果为fasle时,那右表达式不会执行,直接返回表达式的结果(false
  2. 表达式的结果为true时,那表达式一定会执行,并返回表达式的结果

&:

  1. 表达式的结果为fasle时,表达式依旧会执行,并直接返回表达式的结果(false
  2. 表达式的结果为true时,那右表达式一定会执行,并返回表达式的结果

代码展示:

public class LogicTest7{
	public static void main(String[] args){
    	int num = 3;
        boolean flag = 3>5 && (num=10)>5;
        System.out.println(" num = " + num);// num = 3
        int num1 = 4 ;
        boolean flag1 = 3<5 && (num1=10)>5;
        System.out.println("num1 = " + num1);// num1 = 10;
        int num2 = 5;
        boolean flag2 = 3>5 & (num2 = 10)>5;
        System.out.println("num2 = " + num2);//num2 = 10
        int num3 = 6;
        boolean flag3 = 3<5 & (num3 = 10)>5;
        System.out.println("num3 = "+num3);
        // num3 = 10
	}
}

运行截图:
在这里插入图片描述

代码展示:

public class LogicTest{
    public static void main(String[] args){
        System.out.println(false&&true);// false
        System.out.println(false&&false);//false
        System.out.println(true&&false);// false
        System.out.println(true&&true);//true
    }
}

||短路或(二元运算符,有四种可能)(重点)

结论:

  1. 只有两边都为false,结果才为false
  2. 只要有一边为true,结果就为true

|和||的相同点:|和||的执行结结果都相同

||与|的不同点:

||:

  1. 表达式的结果为true时,那·表达式不会执行,并直接返回表达式的结果(true
  2. 表达式的结果为false时,那表达式一定会执行,并返回表达式的结果

|:

  1. 表达式的结果为true时,那表达式依旧会执行,并直接返回表达式的结果(true)
  2. 表达式的结果为false时,那表达式一定会执行,并返回表达式的结果

代码展示:

public class LogicTest7{
	public static void main(String[] args){
    	int num = 3;
        boolean flag = 3>5 || (num=10)>5;
        System.out.println(" num = " + num);// num = 10
        int num1 = 4 ;
        boolean flag1 = 3<5 || (num1=10)>5;
        System.out.println("num1 = " + num1);// num1 = 4;
        int num2 = 5;
        boolean flag2 = 3>5 | (num2 = 10)>5;
        System.out.println("num2 = " + num2);//num2 = 10
        int num3 = 6;
        boolean flag3 = 3<5 | (num3 = 10)>5;
        System.out.println("num3 = "+num3);
        // num3 = 10
	}
}

运行截图:
在这里插入图片描述

代码展示:

public class LogicTest1{
    public static void main(String[] args){
        System.out.println(false||true);// true
        System.out.println(false||false);//false
        System.out.println(true||false);// true
        System.out.println(true||true);//true
    }
}

练习:

  1. 判断一个数是否在[4,6)之间

    代码展示:

    // 1. 导包
    import java.util.Scanner;
    public class LogicTest8{
        public static void main(String[] args){
     		//2 . 实例化Scanner对象
            Scanner input = new Scanner(System.in);
            int num = 0;
            while(true){
                System.out.print("请输入一个数:");
            // 3. 调用方法
            num = input.nextInt();
            
            if(num >= 4 && num < 6){
                System.out.println(num + "在[4,6)之间");
            }else{
               System.out.println(num + "不在[4,6)之间"); 
            }
    }
        }
    }
    

    运行截图:
    在这里插入图片描述

  2. 判断一个数是否在(4,6]之外

    代码展示:

    // 导包
    import java.util.Scanner;
    public class LogicTest9{
        public static void main(String[] args){
           // 实例化Scanner对象
            Scanner input = new Scanner(System.in);
            int num = 0;
            for(;;){
                System.out.println("请输入一个整数:");
                // 调用方法
            	num = input.nextInt();
            	if(num >= 6 || num < 4){
                 	System.out.println(num + "在(4,6]之外");
            	}else{
                    System.out.println(num + "不在(4,6]之外");
                }
            }
        }
    }
    

    运行截图:
    在这里插入图片描述

补充知识:如何表示一个区间范围的数??

[]代表包含,取得到

()代表不包含,取不到

如:

  1. [4,6)获取4至6之间的所有整数,但不包含6
  2. [4.0,6.0)获取4.0至6.0间的所有小数,包含4.0,不包含6.0

位运算

包含:>> 、<<、<<<、^、&、|

若左右两边是数值,做的就是位运算

若左右两边是boolean类型,做的是逻辑运算

&与位运算(二元运算符)

结论:

  • 若两个位都为1,结果才为1
  • 若两个位中有一个为0,那结果就为0

代码展示:

public class OperationTest65{
    public static void main(String[] args){
        int num = 7 & 8;
        System.out.println("num = " + num);
    }
}

画图分析:

在这里插入图片描述

运行截图:
在这里插入图片描述


|或位运算(二元运算符)

结论:

  • 若两个位都为0,结果才为0
  • 若两个位中有一个为1,结果就为1

代码展示:

public class OperationTest66{
    public static void main(String[] args){
        System.out.println(3|5);
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述


^异或位运算(二元运算符,重点

结论:两个位相同则为0,两个位不相同则为1

特点:对m连续异或n两次,返回结果是m本身

代码展示:

public class OperationTest08{
    public static void main(String[] args){
        System.out.println(1 ^ 2 ^ 2);
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述

异或的使用场合:

  1. 常用于加密操作

    模拟:服务端给客服端传递一个加密的数值

    加密:服务端把需传输的数值异或一个数(m)

    解密:客服端把得到的数继续异或m,就可得到解密后的数值

  2. 实现两个变量值的交换

代码展示:

public class OperationTest01{
    public static void main(String[] args){
        System.out.println(9^1);
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述


~非位运算(一元运算符)

结论:位取反,1–>0, 0–>1

代码展示:

public class OperationTest02{
    public static void main(String[] args){
        System.out.println(~1);
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述


<<左移位运算(重点

结论:对m右移n位,等效于m乘以2的n次方

注意:不管操作的是正|负数,左移后,移除高位,低位补0

使用场合:对一个数乘以2,可通过左移一位来实现

代码展示:

public class OperationTest03{
    public static void main(String[] args){
        System.out.println(6 << 1);
    }
}

运行截图:
在这里插入图片描述

画图分析:
在这里插入图片描述

>>右移位运算(重点

结论:对m右移n位,等效于m除以2的n次方

注意事项:正数右移高位补0,负数右移低位高位补1

使用场合:对一个数除以2,可通过右移一位来实现

代码展示:

public class OperationTest09{
    public static void main(String[] args){
        System.out.println(3 >> 1);
    }
}

画图展示:
在这里插入图片描述

运行截图:
在这里插入图片描述


>>>无符号右移

注意:无论对正数还是负数无符号右移运算,高位永远补0

代码展示:

public class UnsignRightMove{
    public static void main(String[] args){
        System.out.println(7>>>1);
    }
}

画图分析:
在这里插入图片描述

运行截图:
在这里插入图片描述

三目运算符(重要)

语法:条件表达式?表达式1:表达式2

注意:"?"和“:”都是英文状态下下符号

执行:当“条件表达式”为true时,执行表达式1,否则执行表达式2

练习:

  1. 判断两个数中的最大值

    代码展示:

    // 方式一:
    public class FindMax{
        public static void main(String[] args){
            int num = 2,num1 = 5,max = 0;
            if(num > num1){
                max = num;
            }else{
                max = num1;
            }
       	System.out.println("最大值为Max = "+ max);
        }
    }
    

    运行截图:
    在这里插入图片描述

    代码展示:

    public class FindMax01{
        public static void main(String args[]){
            int num = 1,num2 = 2,max = 0;
            max = num > num2 ? num : num2;
            System.out.println("最大值max = "+max);
        }
    }
    

    运行截图:

    在这里插入图片描述

运算符的优先级

优先级运算符结合性
1()、[]、% .从左到右
2!、+(正)、-(负)、~、++、–从右到左
3*、%从左到右
4+(加)、-(减)从左到右
5<< 、>> 、>>>从左到右
6<、<=、>、>=从左到右
7== 、 !=从左到右
8&从左到右
9^从左到右
10|从左到右
11&&从左到右
12||从左到右
13?:从右到左
14=、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<、>>、>>>==从右到左

小白注意:先乘除,后加减,若不懂就用小括号

此文章于11月22日编辑完毕,小编也是个初学者,或许有些内容写的有错误的,我对自己的要求是:有错改之,无错加勉。还望大家能在评论区指点迷津,不胜感激,同时也希望大家口下留情!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔走中的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值