一、今日学习内容
今天学习了第二章,主要内容包括:
- 标识符与关键字
- 8种基本数据类型
- 数据类型转换
- 数组的声明、创建和遍历
- 枚举类型
二、重点知识整理
2.1 标识符命名规则
由字母、数字、下划线 _、美元符号 $ 组成
不能以数字开头
不能是Java关键字(如 public、class、int)
区分大小写
命名规范:类名首字母大写(驼峰命名),变量名首字母小写(驼峰命名)
2.2 8种基本数据类型(重点!)
| 类型 | 关键字 | 占用字节 | 取值范围 | 默认值 |
| 字节型 | byte | 1 | -128 ~ 127 | 0 |
| 短整型 | short | 2 | -32768 ~ 32767 | 0 |
| 整型 | int | 4 | 约 ±21亿 | 0 |
| 长整型 | long | 8 | 很大 | 0L |
| 单精度浮点型 | float | 4 | 约 ±3.4e38 | 0.0f |
| 双精度浮点型 | double | 8 | 约 ±1.8e308 | 0.0 |
| 字符型 | char | 2 | 0 ~ 65535 | ‘\u0000’ |
| 布尔型 | boolean | 1(概念上) | true / false | false |
记忆 口诀:byte short int long,float double char boolean
2.3 注意事项
- long类型数值后面要加L
long distance = 12345678900L; - float类型数值后面要加f
float price = 19.99f; - char用单引号,String用双引号
char grade = ‘A’;
String name = “张三”; - 布尔值只能是true或false,不能用0或1代替
boolean isPass = true; // 对
boolean isFail = false; // 对
// boolean isOk = 1; // 错误!
2.4 数据类型转换
自动类型转换(小→大):byte → short → int → long → float → double
java
int a = 100; double b = a; // 自动转换,b = 100.0
强制类型转换(大→小):需要手动写 (类型)
java
double x = 3.14; int y = (int)x; // 强制转换,y = 3(小数部分丢失)
2.5 数组
声明数组
java
int[] scores; // 推荐写法
int scores[]; // 也可以,但不推荐
创建数组
java
// 方式1:先声明后创建
int[] scores;
scores = new int[5];
// 方式2:声明并创建
int[] scores = new int[5];
// 方式3:声明并初始化
int[] scores = {90, 85, 78, 92, 88};
遍历数组
java
int[] arr = {10, 20, 30, 40, 50}; // 普通for循环
for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } // 增强for循环(foreach)
for (int num : arr) { System.out.println(num); }
数组的 length 属性可以获取数组长度,注意是属性不是方法,没有括号。
2.6 枚举类型
枚举用于定义一组常量,比如星期、季节、方向等。
java
// 定义枚举
enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
enum Season {
春, 夏, 秋, 冬 // 可以使用中文
}
// 使用枚举
public class EnumDemo {
public static void main(String[] args) {
Weekday today = Weekday.MONDAY;
Season current = 秋;
System.out.println(“今天是:” + today);
System.out.println(“当前季节:” + current);
// 遍历枚举
for (Season s : Season.values()) {
System.out.println(s);
}
}
}
三、代码示例
示例1:计算平均分
java
public class ScoreAverage {
public static void main (String[] args) {
int[] scores = {85, 90, 78, 92, 88};
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum = sum + scores[i];
}
double average = (double)sum / scores.length;
System.out.println(“总分:” + sum);
System.out.println(“平均分:” + average);
}
}
示例2:使用枚举表示一周计划
java
enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class WeeklyPlan {
public static void main(String[] args) {
Weekday today = Weekday.MONDAY;
switch (today) {
case MONDAY:
System.out.println(“周一:学习Java第一章”);
break;
case TUESDAY:
System.out.println(“周二:学习Java第二章”);
break;
// … 其他日子
default:
System.out.println(“周末:休息”);
}
}
}
四、常见错误与注意点
| 错误写法 | 正确写法 | 说明 |
|int a[] = new int(5); | int[] a = new int[5]; | 数组用方括号,不是圆括号 |
|String str = ‘hello’; | String str = “hello”; | String用双引号,char用单引号 |
| float f = 3.14; | float f = 3.14f; | float后面要加f |
| int x = 3.14; | int x = (int)3.14; | 大转小要强制转换 |
| arr.length() | arr.length | 数组的length是属性,不是方法 |
五、小结
今天学会了:
8种基本数据类型的取值范围和默认值
自动类型转换和强制类型转换
数组的声明、创建和三种遍历方式
枚举的定义和使用
核心:
int是默认的整数类型,double是默认的小数类型
数组下标从0开始,最大下标 = length - 1
枚举可以把一组常量组织在一起,让代码更清晰