变量与数据类型
-
理解变量与数据类型的核心概念
-
掌握Java的8种基本数据类型及使用场景
-
能够声明变量、赋值并进行简单计算
-
理解类型转换的规则与注意事项
一、课程引入
1.1 什么是变量?
-
类比:变量就像“容器”,用于存储数据(如数字、文字等)
-
核心概念:
-
声明:定义变量(指定类型和名称)
-
赋值:向变量中存入数据
-
使用:通过变量名操作数据
-
1.2 为什么需要数据类型?
-
作用:限制变量存储的数据类型和范围(如整数、小数、字符)
-
Java数据类型的分类:
-
基本数据类型:8种(如
int
,double
,char
) -
引用数据类型:类、数组、接口等(后续讲解)
-
二、变量与基本数据类型
2.1 变量的声明与赋值
语法规则:数据类型 变量名 = 初始值;
案例1:学生成绩存储
int mathScore = 90; // 声明整型变量存储数学成绩
double englishScore = 85.5; // 声明双精度浮点数存储英语成绩
char grade = 'A'; // 声明字符型变量存储等级
boolean isPass = true; // 布尔型变量表示是否及格
常见错误
-
错误1:未初始化变量直接使用
int age; System.out.println(age); // 编译报错:可能尚未初始化变量
-
错误2:变量名重复声明j
int score = 80; int score = 90; // 编译报错:重复定义
2.2 Java的8种基本数据类型
数据类型 | 关键字 | 大小/范围 | 示例 |
---|---|---|---|
整型 | int | 4字节(-2^31 ~ 2^31-1) | int age = 20; |
长整型 | long | 8字节(-2^63 ~ 2^63-1) | long money = 1000000000L; |
单精度浮点 | float | 4字节(约±3.4e38) | float pi = 3.14F; |
双精度浮点 | double | 8字节(约±1.7e308) | double height = 1.75; |
字符型 | char | 2字节(Unicode字符) | char c = 'A'; |
布尔型 | boolean | 1位(true/false) | boolean isRain = false; |
字节型 | byte | 1字节(-128 ~ 127) | byte data = 127; |
短整型 | short | 2字节(-32768 ~ 32767) | short s = 100; |
案例2:不同类型变量的应用场景
-
计算圆的面积(需用
double
)double radius = 5.0; double area = 3.14 * radius * radius;
判断是否成年(需用
boolean
)int age = 18; boolean isAdult = (age >= 18);
2.3 变量命名规范
-
规则:
-
由字母、数字、下划线、美元符组成,不能以数字开头
-
大小写敏感(
age
与Age
不同) -
不能使用Java关键字(如
class
,public
)
-
-
建议:
-
使用有意义的名称(如
studentName
而非s
) -
驼峰命名法(如
totalPrice
)
-
案例3:合法与非法变量名
int student_age; // 合法
double 2total; // 非法(以数字开头)
String public; // 非法(使用关键字)
三、类型转换与运算
3.1 自动类型转换(隐式转换)
-
规则:小范围类型 → 大范围类型(如
int
→double
)
int a = 10;
double b = a; // 自动转换,b=10.0
3.2 强制类型转换(显式转换)
-
语法:
(目标类型) 值
-
风险:可能导致精度丢失或溢出
double price = 9.99;
int intPrice = (int) price; // intPrice=9(丢失小数部分)
案例4:温度转换(华氏度→摄氏度)
double fahrenheit = 77.0;
double celsius = (fahrenheit - 32) * 5 / 9;
System.out.println("摄氏温度:" + celsius); // 25.0
四、综合练习与错误分析
4.1 课堂练习
练习1:计算商品总价
int applePrice = 5; // 苹果单价
int appleCount = 3; // 购买数量
int total = applePrice * appleCount;
System.out.println("总价:" + total + "元");
练习2:混合类型运算
int a = 10;
double b = 3.0;
System.out.println(a / b); // 结果是什么?
4.2 错误代码分析
public class Test {
public static void main(String[] args) {
int number = 10.5; // 错误:类型不匹配
char c = "A"; // 错误:应用单引号
boolean flag = 1; // 错误:boolean只能为true/false
}
}
五、总结与练习
5.1 总结
-
变量三要素:类型、名称、值
-
基本数据类型:8种,注意
int
与double
的区别 -
类型转换:自动转换安全,强制转换需谨慎
5.2 课后任务
-
编写程序计算BMI指数(BMI = 体重kg / (身高m)^2)
-
尝试声明不同数据类型的变量,输出个人信息(如姓名、年龄、身高、是否已婚)
-
预习下一节课:运算符与表达式
5.3 扩展挑战
-
如果声明
short s = 100000;
是否会报错?为什么? -
答案在评论区