数据类型和运算符
数据类型和运算符
标志符
java 对各种变量、方法和类等要素命名时使用的字符序列成为标志符。
Java标识符有如下命名规则:
- 标识符由字母、数字、下划线“_”、美元符号“$”组成,并且首字符不能是数字。
- 不能把Java关键字作为标识符。
- 标识符没有长度限制。
- 标识符对大小写敏感。
关键字
Java关键字对Java编译器有特殊的意义,它们用来表示一种数据类型或者表示程序的结构等,关键字不能用作变量名、方法名、类名和包名。
| abstract | assert | boolean | break | byte |
|---|---|---|---|---|
| case | catch | char | class | continue |
| default | do | double | else | enum |
| extends | final | finally | float | for |
| if | implements | import | instanceof | int |
| interface | long | native | new | package |
| private | protected | public | return | strictfp |
| short | static | super | switch | synchronized |
| this | throw | throws | transient | try |
| void | volatile | while |
变量和常量
变量
// 数据类型 变量名 = 初始化值; (声明、赋值)
int num = 123;
注意
- 同一作用域内同一变量不可重复声明
- 变量必须初始化后才能使用(即必须有值才能使用),否则编译报错
- 变量的值可在同一类型不断变化
- 变量命名符合标识符规范,使用驼峰命名法,首字母小写
- 就近原则
常量
Java语言中,利用final关键字来定义Java常量,其本质为值不可变的变量。
因为Java常量的本质是值不可变的变量,所以在声明的时候,就必须要进行初始化。和变量不同的是,Java常量在程序中将无法再进行赋值,如果强行赋值,程序会抛出错误信息,并拒绝接受这一个新的值
数据类型
Java数据类型分为两大类,即基本数据类型和引用数据类型

Java基本数据类型分为4种,分别是整型、浮点型、字符型和布尔型
| 数据类型 | 字节数 | 位数 | 使 用 说 明 |
|---|---|---|---|
| byte | 1 | 8 | 取值范围:-27~27-1 |
| short | 2 | 16 | 取值范围:-215~215-1 |
| int | 4 | 32 | 取值范围:-231~231-1 |
| long | 8 | 64 | 取值范围:-263~263-1,直接赋值时必须在数字后加上l或L |
| float | 4 | 32 | 取值范围:1.4E-45~3.4E38,直接赋值时必须在数字后加上f或F |
| double | 8 | 64 | 取值范围:4.9E-324~1.8E308 |
| char | 2 | 16 | 使用Unicode编码(2个字节),可存汉字 |
| boolean | — | — | 只有true和false两个取值 |
java运算符
对常量和变量进行操作的符号称为运算符
运算符的优先级(高到低)
| 优先级 | 描述 | 运算符 |
|---|---|---|
| 1 | 括号 | (),[] |
| 2 | 正负号 | +、- |
| 3 | 自增自减,非 | ++、--、! |
| 4 | 乘除,取余 | *、/、% |
| 5 | 加减 | +、- |
| 6 | 移位运算 | <<、>>、>>> |
| 7 | 大小关系 | >、>=、<、<= |
| 8 | 相等关系 | ==、!= |
| 9 | 按位与 | & |
| 10 | 按位异或 | ^ |
| 11 | 按位或 | | |
| 12 | 逻辑与 | && |
| 13 | 逻辑或 | || |
| 14 | 条件运算 | ?: |
| 15 | 赋值运算 | =、+=、-=、*=、/=、%= |
| 16 | 位赋值运算 | &=、|=、<<=、>>=、>>>= |
算符运算符
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余 |
| ++ | 自增 |
| -- | 自减 |
赋值运算符
基本的赋值运算符:=,把=右边的数据赋值给左边。
扩展的赋值运算符:+=、-=,*=,/=,%=,+= 把左边和右边做加法,然后赋值给左边。
关系运算符
| 运算符 | 描述 |
|---|---|
| == | 相等于 |
| != | 不等于 |
| < | 小于 |
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
| instanceof | 检查是否是类的对象 |
逻辑运算符
| 运算符 | 描述 |
|---|---|
| & | 与,都为 true,结果才为 true,否则结果是 false |
| && | 短路与,如果左边的操作数是 false,结果一定为 false,且不再计算右边的操作数 |
| | | 或,都为 false,结果才为 false,只要有一个是 true,结果就是 true |
| || | 短路或,如果左边的操作数是 true,结果一定为 true,且不再计算右边的操作数 |
| ^ | 异或,判断两个操作数是否不同,不同则为 true,相同则为 false |
| ! | 取反,!true 结果是 false,!fasle 结果是 true |
位运算符
| 运算符 | 运算 | 示例 |
|---|---|---|
| << | 左移 | 3<<2=12 |
| >> | 右移 | 3>>1=1 |
| >>> | 无符号右移 | 3>>>1=1 |
| & | 与运算 | 6&3=2 |
| | | 或运算 | 6|3=7 |
| ^ | 与或运算 | 6^3=5 |
| ~ | 反码 | ~6=-7 |
三目运算符
格式:(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;

浙公网安备 33010602011771号