1
0
wiki/docs/开发/Java/基本语法.md

119 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 / = AC 与 A 同类型时等价于 C = C / A |
| = | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C= A等价于C = CA |
| << = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
| >> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
| = | 按位与赋值运算符 | C= 2等价于C = C2 |
| ^ = | 按位异或赋值操作符 | 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 | AB得到12即0000 1100 |
| \| | 如果相对应位都是 0则结果为 0否则为 1 | A \| B得到61即 0011 1101 |
| ^ | 如果相对应位值相同则结果为0否则为1 | A ^ B得到49即 0011 0001 |
| 〜 | 按位取反运算符翻转操作数的每一位即0变成11变成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
```
## 关键字
| 类别 | | | | | | | |
| -------------------- | -------- | ---------- | -------- | ------------ | ---------- | --------- | ------ |
| 访问控制 | private | protected | public | | | | |
| 类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native |
| | new | static | strictfp | synchronized | transient | volatile | |
| 程序控制 | break | continue | return | do | while | if | else |
| | for | instanceof | switch | case | default | | |
| 错误处理 | try | catch | throw | throws | finally | | |
| 包相关 | import | package | | | | | |
| 基本类型 | boolean | byte | char | double | float | int | long |
| | short | null | true | false | | | |
| 变量引用 | super | this | void | | | | |
| 保留字 | goto | const | | | | | |
## 注释
```java
public class HelloWorld {
/*
* 这是第一个Java程序
* 它将打印Hello World
* 这是一个多行注释的示例
*
*/
public static void main(String[] args){
// 这是单行注释的示例
/* 这个也是单行注释的示例 */
System.out.println("Hello World");
}
}
```