小白学Java的第七天,感谢狂神

Day07

赋值运算符(拓展)(偷懒运算)

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;a*=b为a=a*b;a/=b为a=a/b
        //System.out.println(a);//a=30

        //字符串连接符   +  ,  有String情况下,若String在首位,则全部类型转换为String进行连接
        System.out.println(a+b);
        System.out.println("书豪"+a+b);//输出结果为:书豪1020  有String情况下,若String在首位,则全部类型转换为String进行拼接
        System.out.println(a+b+"书豪"+a+b);//输出结果为:30书豪1020  若String不在首位,则先计算直到出现String之后的全部转换为String进行拼接

    }
}
//三元运算符  条件运算符  
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果x等于true,则结果为y,否则结果为z
        int score = 80;
        String type = score < 60 ?"不及格":"及格";    //必须掌握
        System.out.println(type);//及格
    }
}

Java运算的优先级

口诀:单目乘除为关系,逻辑三目后赋值

单目运算符:一次作用一个变量的运算符,又叫一元运算符
单目:单目运算符+ –(正负数) ,++ –,!(逻辑非),~(按位取反)
乘除:算数运算符:* / % + - (* / %优先级肯定是大于±的)
为:位运算符:~(按位取反)<<(左移) >>(右移),^(也可以位运算,二进制异或)
关系:关系运算符:> < >= <= == !=
逻辑:逻辑运算符(除!)&& || & | ^
三目:条件运算符A > B ? X : Y
后:无意义,仅仅为了凑字数
赋值:= += -= *= /= %= |= &= ^=

在这里插入图片描述

级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2 得到的结果是 13 “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如
在这里插入图片描述

分析:小括号优先级最高,因此

1、 执行 a + 18 ,结果为 30

2、 执行( a + 18 ) % 4 取模,结果为 2

3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24

例子1:

public class HelloWorld { 
	public static void main(String[] args) { 
		int m = 5; 
		int n = 7; 
		int x=(m*8/(n+2))%m; 
		System.out.println(“m:+ m); 
		System.out.println(“n:+ n); 
		System.out.println(“x:+ x);
	} 
}

运行结果:
m:5
n:7
x:4

例子2:

表达式( 11+ 3* 8 ) / 4 % 3 的结果是?

第一步:计算38,结果为24;第二步:计算11+38,结果为35;第三步:计算(11 + 3 * 8) / 4,结果为8;第四步:计算(11 + 3 * 8) / 4 % 3,结果为2

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页