一. 数据类型
1.数据类型分为基本类型和引用数据类型。
基本类型有八大,分别是六个数值型:整形(byte,short,int,long)、浮点型(float,double)、一个字符型(char)、一个布尔型(boolean)。
引用数据类型:String .
图中为数据类型
2.基本类型
(1)字节类型变量 byte
byte数据类型是8位、有符号的,以二进制补码表示的整数;
最小值是-128(-2^7);最大值是127(2^7-1);默认值为0 。
基本语法格式:
代码示例:
(2)短整型变量 short
short数据类型是16位、有符号的以二进制补码表示的整数
最小值是-32768(-2^15);最大值是32767(2^15 - 1);默认值是0。
基本语法格式:
代码示例:
(3)整型变量 int
int数据类型是32位、有符号的以二进制补码表示的整数
最小值是-2,147,483,648(-;2^31);最大值是2,147,483,647(2^31 - 1);默认值是0。
基本语法格式:
代码示例:
注意:
1. int 表示变量的类型是一个整型
2. 变量名是变量的标识. 后续都是通过这个名字来使用变量
3. Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值.
4. 初始化操作是可选的, 但是建议创建变量的时候都显式初始化.
5. 最后不要忘记分号, 否则会编译失败.
6. // 表示注释. 注释作为代码的解释说明部分, 不参与编译运行.
(4)长整型变量 long
long 数据类型是 64 位、有符号的以二进制补码表示的整数
最小值是 -9,223,372,036,854,775,808(-2^63);最大值是 9,223,372,036,854,775,807(2^63 -1);
默认值为0L;
注:这种类型主要使用在需要比较大整数的系统上;
基本语法格式:
代码示例:
(5) 单精度浮点型变量 float
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值。
基本语法格式:
代码示例:
(6)双精度浮点型变量 double
double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数
浮点数的默认类型为double类型;
double类型同样不能表示精确的值。
基本语法格式:
代码示例:
代码1 :
在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分),如果想要得到小数结果,则需要用double类型计算。
代码2:
(7) 布尔类型变量 boolean
boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
基本语法格式:
代码示例:
注意:
1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
(8)字符类型变量 char
char类型是一个单一的 16 位 Unicode 字符
最小值是 \u0000(即为0);最大值是 \uffff(即为65,535);
char 数据类型可以储存任何字符。
基本语法格式:
代码示例:
(9)字符串类型变量 String
基本语法格式:
代码示例:
注意:1. Java 使用 双引号 + 若干字符 的方式表示字符串字面值.
2. 字符串中的一些特定的不太方便直接表示的字符需要进行转义。
转义字符 | 解释 |
\n | 换行 |
\t | 水平制表符 |
\' | 单引号 |
\'' | 双引号 |
\\ | 反斜杠 |
代码:
二. 类型转换
Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验。
下面我们可以看一下代码:
long 表示的范围更大, 可以将 int 赋值给 long, 但是不能将 long 赋值给 int. double 表示的范围更大, 可以将 int 赋值给 double, 但是不能将 double 赋值给 int.。
不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行。
int和boolean是毫不相干的两种类型,不能相互赋值。例:
强制类型转换
使用 (类型) 的方式可以将 double 类型强制转成 int. 但是
1. 强制类型转换可能会导致精度丢失. 如刚才的例子中, 赋值之后, 10.5 就变成 10 了, 小数点后面的部分被忽略。
2. 强制类型转换不是一定能成功, 互不相干的类型之间无法强转。
三.运算符
Java的运算符分为:
算术运算符 、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
1.算术运算符
基本四则运算符 + - * / % , 值得注意的是除法 .
(1) ) int / int 结果还是 int, 需要使用 double 来计算.。
(2) 0不能作为除数。
(3)% 表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模 。
(4)增量赋值运算符 += -= *= /= %=
(5) 自增/自减运算符 ++ --
2.关系运算符
关系运算符主要有六个: == != < > =
注意: 关系运算符的表达式返回值都是 boolean类型。
3.逻辑运算符
逻辑运算符主要有三个: && || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean 。
·(1) 逻辑与 &&
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false
(2)逻辑或 ||
规则: 两个操作数都为 false, 结果为 false, 否则结果为 true
逻辑非 !
规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数)
4.位运算符
Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个: & | ~ ^
5.移位运算
移位运算符有三个: << >> >>> 都是按照二进制位来运算.
6.条件运算符
条件运算符只有一个: 表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式 3 的值. 也是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法
// 求两个整数的最大值
7.运算符的优先级
代码
先计算(2*3),在计算1+(2*3)
此时明显是先计算的 10 < 20 和 20 < 30, 再计算 &&. 否则 20 && 20 这样的操作是语法上有误的(&& 的操作数只能是 boolean).
总结:开始了这一段旅程,就要坚持下去。愿以梦为马,不负韶华。加油。
整理于 2022年4月13日