87 lines
4.6 KiB
Markdown
87 lines
4.6 KiB
Markdown
|
---
|
|||
|
id: 基本语法
|
|||
|
title: 基本语法
|
|||
|
sidebar_position: 2
|
|||
|
data: 2022年4月26日
|
|||
|
---
|
|||
|
|
|||
|
## 数据类型
|
|||
|
|
|||
|
![数据类型](https://static.7wate.com/img/2022/04/26/e2015296349fd.png)
|
|||
|
|
|||
|
- 整数型:byte、short、int、long
|
|||
|
- 浮点型:float、double
|
|||
|
- 字符型:char
|
|||
|
- 布尔型:boolean
|
|||
|
|
|||
|
Java 是对**大小写敏感**的语言,类的首字母**应该**大写,包名**尽量**小写。
|
|||
|
|
|||
|
## 运算符
|
|||
|
|
|||
|
### 赋值运算符
|
|||
|
|
|||
|
| 操作符 | 描述 | 例子 |
|
|||
|
| :------ | :----------------------------------------------------------- | :--------------------------------------- |
|
|||
|
| = | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
|
|||
|
| + = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
|
|||
|
| - = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
|
|||
|
| * = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
|
|||
|
| / = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A,C 与 A 同类型时等价于 C = C / A |
|
|||
|
| (%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
|
|||
|
| << = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
|
|||
|
| >> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
|
|||
|
| &= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
|
|||
|
| ^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
|
|||
|
| \| = | 按位或赋值操作符 | C \| = 2等价于C = C \| 2 |
|
|||
|
|
|||
|
### 算数运算符
|
|||
|
|
|||
|
![算数运算符](https://static.7wate.com/img/2022/04/26/25fe089bb6d71.png)
|
|||
|
|
|||
|
算数运算符需要注意的就是**优先级问题**,当表达式中存在多个操作符时,**操作符的优先级顺序决定了计算顺序**,例如先乘除后加减,**()**的优先级最高。
|
|||
|
|
|||
|
### 自增、自减运算符
|
|||
|
|
|||
|
```java
|
|||
|
int a = 1;
|
|||
|
int b = ++a;
|
|||
|
int c = a++;
|
|||
|
```
|
|||
|
|
|||
|
### 比较运算符
|
|||
|
|
|||
|
![运算符](https://static.7wate.com/img/2022/04/26/9663777e364a1.png)
|
|||
|
|
|||
|
比较运算符的运算结果是 boolean 型,运算结果成立时,运算的结果为 true,否则为 false。
|
|||
|
|
|||
|
### 逻辑运算符
|
|||
|
|
|||
|
![逻辑运算符](https://static.7wate.com/img/2022/04/26/80929b128342d.png)
|
|||
|
|
|||
|
![运算结果](https://static.7wate.com/img/2022/04/26/edb8162f888c0.png)
|
|||
|
|
|||
|
### 位运算符
|
|||
|
|
|||
|
按位运算符用来操作整数基本类型中的每个**比特位**,按位操作符会对两个参数中对应的位执行**布尔代数运算**,并最终生成一个结果。假设整数变量 A 的值为 60 和变量 B 的值为 13:
|
|||
|
|
|||
|
| 操作符 | 描述 | 例子 |
|
|||
|
| :----- | :----------------------------------------------------------- | :----------------------------- |
|
|||
|
| & | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
|
|||
|
| \| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A \| B)得到61,即 0011 1101 |
|
|||
|
| ^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
|
|||
|
| 〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
|
|||
|
| << | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
|
|||
|
| >> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
|
|||
|
| >>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
|
|||
|
|
|||
|
### 三元运算符
|
|||
|
|
|||
|
语法为:条件表达式 ?表达式1:表达式2,如果条件表达式结果为 true 则执行表达式 1,否则执行表达式 2。
|
|||
|
|
|||
|
```java
|
|||
|
variable x = (expression) ? value if true : value if false
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|