自学内容网 自学内容网

JavaSE 总复习:夯实基础,迈向进阶之路

在这里插入图片描述
我的个人主页

一、数据类型与变量

二、控制语句

三、数组
四、面向对象编程(OOP)
五、异常处理
六、常用类库
七、输入输出流
八、总结

在 Java 编程的学习旅程中,JavaSE(Java 标准版)是基石般的存在。它涵盖了丰富的基础知识和核心概念,对深入学习 Java 后端开发、安卓开发等领域起着至关重要的作用。以下将对 JavaSE 的重点知识进行全面复习总结。
(一)基本数据类型
Java 有 8 种基本数据类型,分别是:
整型:byte(1 字节,-128 到 127)、short(2 字节)、int(4 字节)、long(8 字节,需在数值后加L或l)。例如:int num = 10;
浮点型:float(4 字节,需在数值后加F或f)、double(8 字节)。如:double pi = 3.14;
字符型:char(2 字节,用单引号括起来的单个字符)。像char ch = ‘A’;
布尔型:boolean(只有true和false两个值)。
(二)引用数据类型
包括类、接口、数组等。例如创建一个字符串对象:String str = “Hello”;
(三)变量声明与初始化
变量在使用前必须先声明,声明格式为数据类型 变量名。可以在声明时进行初始化,也可以先声明后赋值。例如:

int a;
a = 5;
int b = 10;

(一)条件语句
if - else:根据条件判断执行不同的代码块。

if (condition) {
    // 条件满足时执行的代码
} else {
    // 条件不满足时执行的代码
}

switch - case:用于多分支选择,适用于对某个表达式的多个固定值进行判断。

switch (expression) {
    case value1:
        // 表达式等于 value1 时执行的代码
        break;
    case value2:
        // 表达式等于 value2 时执行的代码
        break;
    default:
        // 表达式不等于任何 case 值时执行的代码
}

(二)循环语句
for 循环:常用于已知循环次数的情况。

for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体
}

例如打印 1 到 10 的数字:

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

while 循环:先判断条件,条件满足时执行循环体。

while (condition) {
    // 循环体
}

do - while 循环:先执行一次循环体,再判断条件。

do {
    // 循环体
} while (condition);

(三)跳转语句
break:用于跳出当前循环或switch语句。
continue:跳过本次循环剩余部分,直接进入下一次循环。

(一)数组的声明与创建
声明一维数组:数据类型[] 数组名; 或 数据类型 数组名[];
创建数组:数组名 = new 数据类型[数组长度]; 例如:int[] arr = new int[5]; 也可以在声明时直接初始化:int[] arr = {1, 2, 3, 4, 5};
(二)二维数组
声明与创建二维数组:数据类型[][] 数组名 = new 数据类型[行数][列数]; 例如:int[][] matrix = new int[3][3]; 同样可以在声明时初始化:int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
(三)数组的遍历
可以使用for循环遍历数组元素。对于一维数组:

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

对于二维数组:

for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
        System.out.println(matrix[i][j]);
    }
}

(一)类与对象
类:是对象的模板,定义了对象的属性(成员变量)和行为(成员方法)。例如:

class Person {
    // 成员变量
    String name;
    int age;

    // 成员方法
    void speak() {
        System.out.println("My name is " + name + ", I'm " + age + " years old.");
    }
}

对象:是类的实例。通过new关键字创建对象:Person p = new Person(); 然后可以访问对象的成员变量和调用成员方法:p.name = “John”; p.age = 25; p.speak();
(二)封装
将类的成员变量设为private,通过public的getter和setter方法来访问和修改成员变量,实现数据的隐藏和封装。例如:

class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

(三)继承
一个类可以继承另一个类,子类继承父类的非private属性和方法。使用extends关键字。例如:

class Student extends Person {
    String school;

    void study() {
        System.out.println("I'm studying in " + school);
    }
}

子类可以重写父类的方法,通过@Override注解来标识。
(四)多态
多态体现为父类引用指向子类对象,在运行时根据对象的实际类型来调用相应的方法。例如:


Person p = new Student();
p.speak(); 

这里p虽然是Person类型,但实际指向Student对象,调用speak方法时会根据Student类中的重写情况来执行。

(一)异常类型
Java 中的异常分为Checked Exception(受检异常,如IOException)和Unchecked Exception(非受检异常,如RuntimeException)。
(二)异常处理机制
使用try - catch - finally语句块来处理异常。try块中放置可能抛出异常的代码,catch块捕获并处理异常,finally块中的代码无论是否发生异常都会执行。例如:


try {
    // 可能抛出异常的代码
    int result = 10 / 0;
} catch (ArithmeticException e) {
    // 处理算术异常
    System.out.println("除数不能为 0");
} finally {
    // 清理资源等操作
    System.out.println("Finally block");
}

还可以使用throws关键字在方法声明中抛出异常,让调用者处理。

(一)字符串类String
String类提供了许多操作字符串的方法,如length()获取字符串长度,charAt()获取指定位置字符,substring()截取子字符串,equals()比较字符串内容等。例如:


String str = "Hello, World!";
System.out.println(str.length());
System.out.println(str.charAt(0));
System.out.println(str.substring(7));

(二)包装类
对应基本数据类型的包装类,如Integer、Double等。可以将基本数据类型转换为包装类对象(装箱),反之亦然(拆箱)。例如:

int num = 10;
Integer integer = Integer.valueOf(num); // 装箱
int num2 = integer.intValue(); // 拆箱

(三)集合框架
List:有序可重复的集合,如ArrayList和LinkedList。ArrayList基于数组实现,随机访问快;LinkedList基于链表实现,插入和删除操作快。


ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
System.out.println(list.get(0));

Set:无序不重复的集合,如HashSet和TreeSet。HashSet基于哈希表实现,TreeSet基于红黑树实现,可以对元素排序。

HashSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(1); // 重复元素不会被添加

Map:键值对集合,如HashMap和TreeMap。HashMap基于哈希表实现,TreeMap基于红黑树实现,可以根据键排序。

HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
System.out.println(map.get("Apple"));

(一)字节流
InputStream和OutputStream是字节流的抽象基类。FileInputStream用于读取文件字节数据,FileOutputStream用于写入文件字节数据。例如:


try {
    FileInputStream fis = new FileInputStream("input.txt");
    int data;
    while ((data = fis.read())!= -1) {
        System.out.print((char) data);
    }
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

(二)字符流
Reader和Writer是字符流的抽象基类。FileReader和FileWriter用于读取和写入字符数据,更适合处理文本文件。例如:

try {
    FileReader fr = new FileReader("input.txt");
    char[] buffer = new char[1024];
    int len;
    while ((len = fr.read(buffer))!= -1) {
        System.out.print(new String(buffer, 0, len));
    }
    fr.close();
} catch (IOException e) {
    e.printStackTrace();
}

八、总结
JavaSE 知识体系庞大而丰富,通过对数据类型、控制语句、数组、面向对象编程、异常处理、常用类库以及输入输出流等方面的复习,我们能更牢固地掌握 Java 编程的基础。这些知识是进一步学习 Java 高级特性和应用开发的必备前提。在实际编程中,不断实践和深入理解这些概念,才能更好地运用 Java 语言解决各种复杂的问题,为后续的学习和项目开发奠定坚实的基础。希望本次复习总结能帮助大家查漏补缺,提升对 JavaSE 的掌握程度,在 Java 编程之路上越走越远。


原文地址:https://blog.csdn.net/2301_80350265/article/details/144010357

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!