运算符-2

# 与或非

```java
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

}
}
```

# 位运算

```java
package operator;

public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
=======================
A&B=0000 1100与运算 都为0=0
A|B=0011 1101或 都是0等0 有1为1
A^B=0011 0001 if 相同为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(2<<3);//16
}
}

```

# 拓展运算符与字符串

```java
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);//字符串在前 则前后拼接=1020
System.out.println(a+b+"");//字符串在后 则依旧运算=30
}
}
```

```java
package operator;
//三元运算符
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);
```

# 运算符优先级

其实如果自己写代码的话,如果运算式比较长的时候可以多多使用(),()作为最高优先级使用,不仅不会冗杂,而会更加简单易读。所以下面这些东西主要是看别人代码所需要了解的= =。
Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低。在同一个表达式中运算符优先级高的先执行。

## 具体运算

### 一 算术运算符

没什么好说的,乘除还有%优先级肯定高于加减。特殊的,++和–是比乘除要高的。

### 二 符号位

+(正)-(负)优先级仅次于()、{}、[],注意不要与加减搞混淆。

### 三 逻辑位

基本就是与或非了,!的优先级很高,但是与或就很低了。

### 四 关系运算符

优先级高于与或而低于算数运算符

### 五 位运算符

了解就行

### 六 偷懒运算符

+=和-=和*=、/=缩写运算符,优先级最低

## 总结

| 优先级 | 运算符 |
| :----- | :---------------------------- |
| 1 | ()、[]、{} |
| 2 | !、+(正)、-(负)、~、++、– |
| 3 | *、/、% |
| 4 | +、- |
| 5 | «、»、>>> |
| 6 | <、<=、>、>=、instanceof |
| 7 | ==、!= |
| 8 | & |
| 9 | ^ |
| 10 | \| |
| 11 | && |
| 12 | \|\| |
| 13 | ?: |
| 14 | =、+=、-=、*=、/=、&=、 |

 

posted @   黑白灰世界  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示