Java基础--2.常量,变量,数据类型,运算符
一. 常量
1.1 定义
常量:是指在Java程序中固定不变的数据
1.2 分类
类型 | 含义 | 数据举例 |
---|---|---|
整数常量 | 所有的整数 | 0 , 1, -1 |
小数常量 | 所有的小数 | 0.0, -0.1, 2.55 |
字符常量 | 单引号引起来,有且只有一个字符 | ‘a’,’’,‘好’ |
字符串常量 | 双引号引起来,可以写多个字符,也可以不写 | “a”,“adafd”,“您好”,"" |
布尔常量 | 只有两个值 | true,false |
空常量 | 只有一个值 | null |
二. 变量
2.1 定义
变量:变量是内存中的一小块区域,其值可以在一定范围内变化
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
2.2 变量的组成
a.变量只能在一定范围内变化,通过数据类型来限定
b.通过变量名来找到这块区域
c.变量中需要有数据,初始化值
2.3 变量的格式
数据类型 变量名 = 初始化值;
三. 数据类型
3.1 数据类型分类
基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
引用数据类型:包括 类 、 数组 、 接口
3.2 基本数据类型
数据类型 | 关键字 | 数据类型 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int(默认) | 4个字节 | -2147483648~2147483647 |
长整型 | long | 8个字节 | -2的63次方~2的63次方-1 |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double(默认) | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0-65535 |
布尔类型 | boolean | 1个字节 | true,false |
3.3 变量的定义
数据类型 变量名 = 数据值;
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
3.4 定义变量注意事项
1. 定义的变量,不赋值不能使用。
2.同一个方法中变量名不能重复。
3.变量只在定义时的{}中有效。
四. 数据类型转换
4.1 自动转换
自动转换:将取值范围小的类型 自动提升为 取值范围大的类型 。
转换规则: 范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
4.2 强制转换
强制转换:将取值范围大的类型 强制转换成 取值范围小的类型 。
强制转换格式: 数据类型 变量名 = (数据类型)被转数据值;
强烈注意:
浮点转成整数,直接取消小数点,可能造成数据损失精度。
int 强制转成 short 砍掉2个字节,可能造成数据丢失。
五. 运算符
5.1 定义及分类
**定义:**对变量进行操作的符号
**分类:**算数运算符 , 赋值运算符 , 比较运算符 , 逻辑运算符 , 三元运算符
5.2 算术运算符
符号 | 作用 |
---|---|
+ | 加法运算,字符串拼接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++ , – | 自增自减运算 |
5.2.1 注意事项
1.取余结果符号与左边符号相同
2.运算,变量自己增长1。反之, – 运算,变量自己减少1,用法与 ++ 一致。
独立运算:
变量在独立运算时, 前++ 和 后++ 没有区别 。
变量 前++ :例如 ++i 。
变量 后++ :例如 i++ 。
混合运算:
和其他变量放在一起, 前++ 和 后++ 就产生了不同。
变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a 的结果是2,b的结果是1。
public static void main(String[] args) {
int a = 1;
int b = a++; // 先=赋值,后++
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1
}
3.+ 符号在字符串中的操作:
+ 符号在遇到字符串的时候,表示连接、拼接的含义。
“a”+"b"的结果是“ab”,连接含义
5.3 赋值运算符
赋值运算符:就是将符号右边的值,赋给左边的变量
符号 | 作用 |
---|---|
= | 赋值 |
+= | 加后赋值 |
-= | 减后赋值 |
*= | 乘后赋值 |
/= | 除后赋值 |
%= | 取模后赋值 |
5.4 比较运算符
符号 | 作用 |
---|---|
== | 比较符号两边数据是否相等,相等结果是true。 |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true。 |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true。 |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于或等于结果是true。 |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果小于或等于结果是true。 |
!= | 不等于符号 ,如果符号两边的数据不相等,结果是true。 |
5.5 逻辑运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
& | 与 | false & true | false |
| | 或 | false | true | true |
^ | 异或 | true ^ false | true |
! | 非 | !true | false |
&& | 短路与 | false && true | false |
|| | 短路或 | false || true | true |
5.6 三元运算符
**格式:**数据类型 变量名 = 布尔类型表达式?结果1:结果2;
计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。