初识变量
- 内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化
- 变量的构成包含三个要素:
数据类型
、变量名
、存储的值
- Java 中变量声明的格式:
数据类型 变量名 = 变量值
变量的数据类型
Java中变量的数据类型分为两大类:
- 基本数据类型 :包括
整数类型
、浮点数类型
、字符类型
、布尔类型
- 引用数据类型 :包括
数组
、类
、接口
、枚举
、注解
、记录
基本数据类型转换规则
在Java程序中,不同的基本数据类型(只有7种,不包含 boolean 类型)变量的值经常需要进行相互转换
转换的方式有两种:自动类型提升
和强制类型转换
自动类型提升
规则:将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型
基本数据类型的转换规则如图所示:
强制类型转换
规则:将取值范围大(或容量大)的类型强制转换成取值范围小(或容量小)的类型
自动类型提升是Java自动执行的,而强制类型转换是自动类型提升的逆运算,需要我们自己手动执行
转换格式:数据类型1 变量名 = (数据类型1)被强转数据值
基本数据类型与 String 的运算
- 任意八种基本数据类型的数据与 String 类型只能进行连接
+
运算,且结果一定也是 String 类型 - String 类型不能通过强制类型
()
转换为其他的类型
运算符
运算符的分类:
-
按照
功能
分为:算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda 运算符分类 运算符 算术运算符(7个) +、-、*、/、%、++、-- 赋值运算符(12个) =、+=、-=、*=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等 比较(或关系)运算符(6个) >、>=、<、<=、==、!= 逻辑运算符(6个) &、|、^、!、&&、|| 位运算符(7个) &、|、^、~、<<、>>、>>> 条件运算符(1个) (条件表达式)?结果1:结果2 Lambda运算符(1个) -> -
按照
操作数个数
分为:一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符 (三目运算符)分类 运算符 一元运算符(单目运算符) 正号(+)、负号(-)、++、--、!、~ 二元运算符(双目运算符) 除了一元和三元运算符剩下的都是二元运算符 三元运算符 (三目运算符) (条件表达式)?结果1:结果2
算术运算符
+
号两种用法- 第一种:对于
+
两边都是数值的话,+
就是加法的意思 - 第二种:对于
+
两边至少有一边是字符串的话,+
就是拼接的意思
- 第一种:对于
比较运算符
- instanceof 后面在面向对象具体学习
逻辑运算符
-
区分"&"和"&&":
- 相同点:如果符号左边是true,则二者都执行符号右边的操作
- 不同点:
- & : 如果符号左边是false,则继续执行符号右边的操作
- && :如果符号左边是false,则不再继续执行符号右边的操作
建议:开发中,推荐使用 &&
-
区分"|"和"||":
- 相同点:如果符号左边是false,则二者都执行符号右边的操作
- 不同点:
- | : 如果符号左边是true,则继续执行符号右边的操作
- || :如果符号左边是true,则不再继续执行符号右边的操作
建议:开发中,推荐使用 ||
条件运算符
格式:(条件表达式)? 表达式1:表达式2
- 与if-else的转换关系
凡是可以使用条件运算符的地方,都可以改写为if-else结构
开发中,如果既可以使用条件运算符,又可以使用if-else,推荐使用条件运算符。因为执行效率稍高