Java 新手入门试题集(含答案):从 HelloWorld 到简单项目,循序渐进

Java 作为一门面向对象的编程语言,广泛应用于企业开发、移动应用和 Web 服务。对于新手来说,从基础语法开始逐步实践,是掌握 Java 的关键路径。本试题集提供一系列原创试题和详细答案,从最简单的 HelloWorld 程序出发,逐步过渡到面向对象概念和简单项目实践。每个试题都设计为独立练习单元,帮助您通过动手编码巩固知识。所有代码均使用 Java 编写,确保实用性。


第一部分:HelloWorld 入门(基础语法起步)

从这里开始,您将学习 Java 的基本结构,包括类定义、主方法和输出语句。

试题 1:编写一个 Java 程序,输出 "Hello, World!" 到控制台。

  • 要求:使用标准 Java 语法。
  • 答案
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

解释:这是一个标准入门程序。public class HelloWorld 定义类名,main 方法是程序入口点,System.out.println 用于输出文本。编译运行后,控制台显示 "Hello, World!"。

试题 2:扩展 HelloWorld 程序,添加一个变量存储您的名字,并输出 "Hello, [您的名字]!"。

  • 要求:使用字符串变量。
  • 答案
public class HelloName {
    public static void main(String[] args) {
        String name = "张三"; // 替换为您的名字
        System.out.println("Hello, " + name + "!");
    }
}

解释:这里引入了变量概念。String name 声明一个字符串变量,通过 + 运算符连接文本输出。运行后,输出如 "Hello, 张三!"。


第二部分:基础语法深化(变量、控制结构和运算符)

掌握变量、数据类型和控制结构是 Java 核心。本部分试题覆盖常见操作。

试题 3:声明两个整数变量 ab,计算它们的和并输出结果。

  • 要求:使用整数类型和算术运算符。
  • 答案
public class SumCalculator {
    public static void main(String[] args) {
        int a = 5;
        int b = 3;
        int sum = a + b;
        System.out.println("Sum: " + sum);
    }
}

解释int 表示整数类型,a + b 执行加法运算。输出结果为 "Sum: 8"。算术运算符包括 +-*/,可用于基本计算。

试题 4:编写程序,判断一个整数是否为正数。如果是正数,输出 "正数";否则输出 "非正数"。

  • 要求:使用 if-else 语句。
  • 答案
public class CheckPositive {
    public static void main(String[] args) {
        int number = -2; // 可更改为任意整数
        if (number > 0) {
            System.out.println("正数");
        } else {
            System.out.println("非正数");
        }
    }
}

解释if-else 结构实现条件分支。当 number > 0 时执行第一个块,否则执行 else 块。例如,输入 -2 输出 "非正数"。

试题 5:使用循环输出数字 1 到 5。

  • 要求:使用 for 循环。
  • 答案
public class LoopExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
    }
}

解释for 循环初始化 i=1,每次迭代 i 增加 1(i++),直到 i<=5 为假。输出结果为 1,2,3,4,5 各占一行。


第三部分:面向对象编程(类、对象和方法)

Java 的核心是面向对象。本部分试题帮助您理解类、对象和方法的创建与使用。

试题 6:定义一个 Person 类,包含属性 name 和方法 sayHello(),并在主类中创建对象调用该方法。

  • 要求:属性私有,方法公有。
  • 答案
// Person 类定义
public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }
}

// 主类测试
public class TestPerson {
    public static void main(String[] args) {
        Person person = new Person("李四");
        person.sayHello();
    }
}

解释Person 类封装了数据(name)和行为(sayHello)。在主类中,new Person("李四") 创建对象,person.sayHello() 调用方法,输出 "Hello, my name is 李四"。

试题 7:扩展 Person 类,添加一个方法 calculateAge,计算年龄(基于出生年份)。

  • 要求:使用当前年份减去出生年份。
  • 答案
public class Person {
    private String name;
    private int birthYear;

    public Person(String name, int birthYear) {
        this.name = name;
        this.birthYear = birthYear;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }

    public void calculateAge() {
        int currentYear = 2023; // 假设当前年份
        int age = currentYear - birthYear;
        System.out.println(name + "'s age is " + age);
    }
}

// 测试代码
public class TestPerson {
    public static void main(String[] args) {
        Person person = new Person("王五", 1990);
        person.calculateAge(); // 输出 "王五's age is 33"
    }
}

解释:新增 birthYear 属性和 calculateAge 方法,演示了如何扩展类功能。计算使用简单减法 $ \text{age} = \text{currentYear} - \text{birthYear} $。


第四部分:简单项目实践(命令行应用)

将所学知识整合到小型项目中,提升实际问题解决能力。

试题 8:构建一个命令行计算器,支持加、减、乘、除操作。

  • 要求:用户输入两个数字和一个运算符,程序输出结果。
  • 答案
import java.util.Scanner;

public class SimpleCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("Enter first number: ");
        double num1 = scanner.nextDouble();
        
        System.out.print("Enter operator (+, -, *, /): ");
        char operator = scanner.next().charAt(0);
        
        System.out.print("Enter second number: ");
        double num2 = scanner.nextDouble();
        
        double result;
        switch (operator) {
            case '+':
                result = num1 + num2;
                break;
            case '-':
                result = num1 - num2;
                break;
            case '*':
                result = num1 * num2;
                break;
            case '/':
                if (num2 != 0) {
                    result = num1 / num2;
                } else {
                    System.out.println("Error: Division by zero");
                    return;
                }
                break;
            default:
                System.out.println("Invalid operator");
                return;
        }
        
        System.out.println("Result: " + result);
    }
}

解释:这个项目综合了输入处理、条件判断和运算符应用。使用 Scanner 获取用户输入,switch 处理不同运算符。例如,输入 5 * 3 输出 "Result: 15.0"。除法时检查除数为零错误。

试题 9:创建一个简单的任务管理器,允许添加和列出任务。

  • 要求:使用数组存储任务,实现添加和显示功能。
  • 答案
import java.util.Scanner;

public class TaskManager {
    private static String[] tasks = new String[10];
    private static int taskCount = 0;

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean running = true;
        
        while (running) {
            System.out.println("\n1. Add Task\n2. List Tasks\n3. Exit");
            System.out.print("Choose an option: ");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 消耗换行符
            
            switch (choice) {
                case 1:
                    System.out.print("Enter task description: ");
                    String task = scanner.nextLine();
                    addTask(task);
                    break;
                case 2:
                    listTasks();
                    break;
                case 3:
                    running = false;
                    break;
                default:
                    System.out.println("Invalid option");
            }
        }
        scanner.close();
    }
    
    public static void addTask(String task) {
        if (taskCount < tasks.length) {
            tasks[taskCount] = task;
            taskCount++;
            System.out.println("Task added!");
        } else {
            System.out.println("Task list full");
        }
    }
    
    public static void listTasks() {
        if (taskCount == 0) {
            System.out.println("No tasks");
        } else {
            System.out.println("Tasks:");
            for (int i = 0; i < taskCount; i++) {
                System.out.println((i + 1) + ". " + tasks[i]);
            }
        }
    }
}

解释:这个项目模拟真实应用,使用数组管理数据。用户通过菜单选择添加或列出任务。例如,添加 "学习 Java" 后,列出时显示 "1. 学习 Java"。它涵盖了循环、数组和用户交互。


结语

通过本试题集,您从 HelloWorld 起步,逐步掌握了 Java 基础语法、面向对象编程和项目构建。每个试题都配有可运行的代码,建议您手动输入并调试,以加深理解。Java 学习重在实践,接下来可以尝试更多项目如文件处理或 GUI 应用。推荐资源包括 Oracle 官方文档和开源社区教程,持续练习将助您快速成长。如果您遇到问题,欢迎在编程论坛交流讨论!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐