返回

java编程题目及答案:Java编程题目及答案解析,从基础到进阶的练习指南

来源:网络   作者:   日期:2025-11-10 08:18:09  

基础语法与数据类型

1:交换两个整数的值描述**:编写一个程序,实现两个整数的交换,不能使用临时变量。

答案代码

public class SwapNumbers {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("交换前:a = " + a + ", b = " + b);
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println("交换后:a = " + a + ", b = " + b);
    }
}

解析
使用异或运算(^)实现两个数的交换,异或运算的性质是:

  • a ^ b 得到的结果是 a 和 b 的二进制位不同为1,相同为0。
  • 通过三次异或运算,可以实现两个变量的值交换,而不需要额外的临时变量。

数组与字符串操作

2:求数组中的最大值和最小值描述**:给定一个整数数组,找出其中的最大值和最小值。

答案代码

public class ArrayMinMax {
    public static void main(String[] args) {
        int[] arr = {3, 5, 1, 8, 2};
        int max = arr[0];
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        System.out.println("最大值:" + max);
        System.out.println("最小值:" + min);
    }
}

解析
通过遍历数组,初始化最大值和最小值为数组的第一个元素,然后逐个比较更新即可。


面向对象编程

3:创建一个简单的类,并实现继承和多态描述**:定义一个父类 Animal,以及两个子类 DogCat,每个子类重写 makeSound() 方法,最后通过父类引用调用方法。

答案代码

// 父类
class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}
// 子类 Dog
class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
}
// 子类 Cat
class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Cat meows");
    }
}
public class InheritanceDemo {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        Animal myCat = new Cat();
        myDog.makeSound(); // 输出:Dog barks
        myCat.makeSound(); // 输出:Cat meows
    }
}

解析
通过继承和方法重写,实现了多态性,父类引用可以指向子类对象,并调用子类重写的方法。

java编程题目及答案:Java编程题目及答案解析,从基础到进阶的练习指南


集合框架

4:使用HashMap实现简单的键值对存储描述**:创建一个HashMap,存储学生姓名和对应的学号,然后遍历并输出所有键值对。

答案代码

import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> studentMap = new HashMap<>();
        studentMap.put("Alice", 1001);
        studentMap.put("Bob", 1002);
        studentMap.put("Charlie", 1003);
        for (Map.Entry<String, Integer> entry : studentMap.entrySet()) {
            System.out.println("姓名:" + entry.getKey() + ", 学号:" + entry.getValue());
        }
    }
}

解析
使用 HashMap 存储键值对,通过 entrySet() 方法遍历键值对,获取每个学生的姓名和学号。


异常处理

5:处理文件读取中的异常描述**:编写一个程序,尝试读取一个文件,如果文件不存在,则捕获异常并提示用户。

答案代码

java编程题目及答案:Java编程题目及答案解析,从基础到进阶的练习指南

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReading {
    public static void main(String[] args) {
        String fileName = "nonexistent.txt";
        try {
            BufferedReader reader = new BufferedReader(new FileReader(fileName));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
        } catch (IOException e) {
            System.out.println("文件不存在或读取失败:" + e.getMessage());
        }
    }
}

解析
使用 try-catch 块捕获 IOException,确保在文件读取失败时程序不会崩溃,并给出友好提示。


多线程编程

6:创建两个线程,分别输出不同的内容描述**:创建两个线程,一个线程输出“Hello”,另一个线程输出“World”,并确保输出顺序为“HelloWorld”。

答案代码

class PrintThread extends Thread {
    private String message;
    public PrintThread(String message) {
        this.message = message;
    }
    @Override
    public void run() {
        System.out.println(message);
    }
}
public class ThreadExample {
    public static void main(String[] args) {
        PrintThread thread1 = new PrintThread("Hello");
        PrintThread thread2 = new PrintThread("World");
        thread1.start();
        thread2.start();
    }
}

解析
通过继承 Thread 类并重写 run() 方法,实现多线程,调用 start() 方法启动线程,操作系统会自动调度线程的执行。


Java编程题目是学习和巩固知识的重要方式,通过以上题目,读者可以逐步掌握Java的基础语法、面向对象特性、集合框架、异常处理以及多线程编程等核心知识点,希望这些题目能帮助你在Java学习的道路上更进一步!

如果你需要更多Java编程题目或答案,欢迎继续提问!

分类: 编程
责任编辑: 今题网
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。

文章已关闭评论!