变量
变量使用
数据类型 变量名称 = 值
注意:
- 变量要先声明,后使用
- 声明类型变量的数据类型后,只能赋值相应的数据类型
- 同一个作用域范围内,一个变量只能声明一次
- 变量在声明时可以不给初始值,但是使用时变量必须有值
关键字和标识符
关键字
关键字就是被JAVA占用的词,并且存在一定的含义
关键字不可以用来作为 类名、变量名等 负责会报错
abstract | assert | boolean | break | byte | case |
catch | char | class | continue | default | do |
double | else | enum | extends | final | finally |
float | for | if | implements | import | int |
interface | instanceof | long | native | new | package |
private | protected | public | return | short | static |
strictfp | super | switch | synchronized | this | throw |
throws | transient | try | void | volatile |
标识符
标识符就是名字,比如类名、变量名等。
标识符的规则:有数字、字符、下划线、美元符等组成,不能数字开头。
数据在计算机中存储方式
计算机在计算机中怎么存储的
采用二进制,使用0和1按照2进1的规则标识数据来存储
如何算出一个数据的二进制形式
除二取余法
计算机最小存储单位
字节 一个字节等于8个二进制:1B = 8b
字符在计算机中的存储
字符存的是ascii表中的对应数字的二进制值
图片在计算机中的存储方式
图片是依据图片每个色块的RGB(255, 255, 255)值的二进制值来存储的
音频在计算机中的存储方式
音频是依据每个波形图映射图的二进制来存储的
数据类型
基本数据类型
整型
数据类型 | 内存占用 | 数据范围 |
byte | 1 | -128~127 |
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
long | 8 | -9223372036854775807~9223372036854775807 |
浮点型
数据类型 | 内存占用 | 数据范围 |
float | 4 | 1.401298 E -45 ~3.4028235 E +38 |
double | 8 | 4.9000000 E -324 到 1.797693 E +308 |
字符型
数据类型 | 内存占用 | 数据范围 |
char | 2 | 0~65535 |
布尔型
数据类型 | 内存占用 | 数据范围 |
boolean | 1 | true | false |
引用数据类型
字符串
数据类型 | 内存占用 | 数据范围 |
String |
类型转换
自动类型转换
范围小的变量可以直接转换为类型范围大的变量
表达式自动类型转换注意
- 表达式的最终结果类由表达式中的最高类型决定
- 在表达式中,byte、short、char是直接转换成int类型参与运算的
强制类型转换
什么是强制类型转换
- 默认情况下,大范围类型的变量直接赋值给小范围类型变量会报错
- 可以强行将类型范围大的变量、数据赋值给类型范围小的变量
数据类型 变量 = (数据类型)变量、数据
注意
- 可能出现数据丢失
- 小数强制转换为整数会截断小数只保留整数
运算符
算数运算符
符号 | 说明 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
注意
- 如果两个整数做除法,结果一定是整数,因为最高类型是整数(可以*1.0 转换为小数)
- 与字符串做+运算时会被当做连接符,结果还是字符串
自增自减运算符
作用
- ++、-- 对当前变量的值+1 、-1
- 只能操作变量、不能操作字面量
自增自减放在变量前后区别
- 如果单独使用放在前面后面没有区别
- 非单独使用,在变量前,先进行自增或自减在进行赋值
- 非单独使用,在变量后,先赋值在进行自增自减运算
扩展赋值运算符
符号 | 用法 | 作用 | 底层代码形式 |
+= | a+=b | 加后赋值 | a=(a的类型)(a+b) |
-= | a-=b | 减后赋值 | a=(a的类型)(a-b) |
*= | a*=b | 乘后赋值 | a=(a的类型)(a*b) |
/= | a/=b | 除后赋值 | a=(a的类型)(a/b) |
%= | a%=b | 取余后赋值 | a=(a的类型)(a%b) |
关系运算符
符号 | 例子 | 作用 | 结果 |
> | a > b | 判断a是否大于b | 成立返回true,否则返回false |
>= | a >= b | 判断a是否大于等于b | 成立返回true,否则返回false |
< | a < b | 判断a是否小于b | 成立返回true,否则返回false |
<= | a <= b | 判断a是否小于等于b | 成立返回true,否则返回false |
== | a == b | 判断a是否等于b | 成立返回true,否则返回false |
!= | a != b | 判断a是否不等于b | 成立返回true,否则返回false |
逻辑运算符
符号 | 叫法 | 例子 | 运算逻辑 |
& | 逻辑与 | 2>1 & 3>2 | 两个结果都为true,结果为true |
| | 逻辑或 | 2>1 | 3<5 | 有一个为true,结果为true |
! | 逻辑非 | ! (2>1) | 结果为true返回false,结果false返回true |
^ | 逻辑异或 | 2>1 ^ 3>1 | 前后结果相同为false,结果不同返回true |
符号 | 叫法 | 例子 | 运算逻辑 |
&& | 短路与 | 2>10 && 3>2 | 判断结果与&相同,过程不同,左侧为false,右侧不执行 |
|| | 短路或 | 2>1 || 3<5 | 判断结果与|相同,过程不同,左侧为true,右侧不执行 |
三元运算符
格式
条件表达式 ?值1 :值2