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

119 lines
6.4 KiB
Markdown
Raw Normal View History

2022-04-26 15:04:18 +08:00
---
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 | | | | | |
## 注释
2022-04-26 15:04:18 +08:00
```java
public class HelloWorld {
/*
* 这是第一个Java程序
* 它将打印Hello World
* 这是一个多行注释的示例
*
*/
public static void main(String[] args){
// 这是单行注释的示例
/* 这个也是单行注释的示例 */
System.out.println("Hello World");
}
}
```
2022-04-26 15:04:18 +08:00