diff --git a/docs/开发/Java/基本语法.md b/docs/开发/Java/基本语法.md new file mode 100644 index 00000000..1da34918 --- /dev/null +++ b/docs/开发/Java/基本语法.md @@ -0,0 +1,86 @@ +--- +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 +``` + + +