对象 和 数字
理解 Java 纯面向对象的核心特性
掌握基本数据类型与包装类的区别
熟练进行数字的基本运算与类型转换
核心讲解
Java 是纯粹的面向对象编程语言,“一切皆对象” 是核心理念。同时为了性能和效率,提供了 8 种基本数据类型,对应提供了包装类来实现面向对象的封装。
(1)基本数据类型(8 种)
表格
类型 | 含义 | 大小 | 默认值 | 包装类 |
|---|---|---|---|---|
| 字节整数 | 1 字节 | 0 | Byte |
| 短整数 | 2 字节 | 0 | Short |
| 整数 | 4 字节 | 0 | Integer |
| 长整数 | 8 字节 | 0L | Long |
| 单精度浮点数 | 4 字节 | 0.0f | Float |
| 双精度浮点数 | 8 字节 | 0.0d | Double |
| 字符 | 2 字节 | '\u0000' | Character |
| 布尔值 | 1 位 | false | Boolean |
最常用:
int、double、boolean、char
(2)包装类的作用
基本数据类型不是对象,包装类把它们包装成对象,提供了很多实用方法,同时可以为 null。Java 5 + 支持自动装箱拆箱,基本类型和包装类自动转换。
(3)数字基本运算
算术运算符:
+-*/%++--赋值运算符:
=+=-=*=/=注意:整数相除结果还是整数,向下取整;要小数结果需要转成浮点再除。
(4)类型转换
自动转换:小范围转大范围,自动完成,比如
int→long→double强制转换:大范围转小范围,需要强转,可能损失精度,语法:
(类型)值
代码示例
public class NumberDemo {
public static void main(String[] args) {
// 基本类型
int age = 25;
double price = 19.99;
boolean isStudent = true;
char grade = 'A';
// 包装类(自动装箱)
Integer count = 100;
Double money = 99.9;
// 基本运算
int a = 10;
int b = 3;
System.out.println("加法:" + (a + b));
System.out.println("除法(整数):" + (a / b)); // 3
System.out.println("除法(浮点):" + (a / (double)b)); // 3.333...
// 强制类型转换
double num = 3.99;
int intNum = (int) num; // 3,截断小数
System.out.println("强制转int:" + intNum);
// 包装类常用方法
String numStr = "123";
int n = Integer.parseInt(numStr); // 字符串转int
System.out.println("字符串转数字:" + n);
}
}
常见误区
整数除法忘记转浮点:两个 int 相除默认截断小数,需要至少一个转成 double
long 类型后缀漏写 L:
long num = 10000000000会溢出,要写成10000000000Lfloat 不加 f:
float f = 3.14会报错,默认小数是 double,要加 f 后缀包装类用 == 比较:包装类是对象,值比较要用
equals(),不能用==
课后练习
定义 int、double、boolean 三种变量,赋值并打印
计算 10 除以 3 的整数结果和保留两位小数的浮点结果
将字符串 "456" 转换成 int 数字,再加 10 输出
思考:为什么 Java 既要基本类型又要包装类?
