标签:als demo 表达 com 支持 += static -- 连接符
Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低。在同一个表达式中运算符优先级高的先执行。下面列出了所有的运算符的优先级以及结合性。
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | ?、?、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、?=、?=、>>>= | 从右向左 |
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a=3;
int b=a++;//执行完代码后,先给b赋值,再自增
//a++ a=a+1;
System.out.println(a);//4
int c=++a;//执行完代码前,先自增,再给c赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//幂运算 2^3 2*2*2 = 8; 很多运算会使用工具类来操作
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
public class Demo01 {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
public class Demo08 {
public static void main(String[] args) {
// x?y:z
//如果x==true,则结果为y,否则结果为z
int score=80;
String type=score>60?"及格":"不及格";//必须掌握
//if
System.out.println(type);//及格
}
}
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);
}
}
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)));//如果是真,则变为假,如果是假则变为真
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5:与运算前件为假就不会执行后件了
}
}
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
-------------------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
2*8=16 2*2*2*2
效率极高!!!
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
……
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);//16
}
}
public class Demo02 {
public static void main(String[] args) {
long a=212121113135131L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//long 有long就为long(同理对于double)
System.out.println(b+c+d);//int
System.out.println(c+d);//int 无论是否有int优先级低于int结果都为int
}
}
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
String c=""+a+b;
String d=a+b+"";
System.out.println(""+a+b);//1020 String
System.out.println(a+b+"");//30 String
}
}
标签:als demo 表达 com 支持 += static -- 连接符
原文地址:https://www.cnblogs.com/Victor0118/p/14349262.html