--- 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 ``` ## 关键字 | 类别 | | | | | | | | | -------------------- | -------- | ---------- | -------- | ------------ | ---------- | --------- | ------ | | 访问控制 | 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"); } } ```