Java 编程基础入门

一、Java 概述与环境搭建

1.1 Java 简介

Java 是由 Sun Microsystems 公司(后被 Oracle 收购)于 1995 年推出的高级编程语言,具有“一次编写,到处运行”(Write Once, Run Anywhere)的跨平台特性。Java 广泛应用于企业级开发、Android 应用、大数据处理等领域。

1.2 环境搭建步骤

  1. JDK 安装:从 Oracle 官网或 OpenJDK 下载对应系统的 JDK(Java Development Kit),例如 jdk-17.0.4。
  2. 环境变量配置
    • Windows:设置 JAVA_HOMEPATHCLASSPATH
    • Linux/macOS:编辑 .bashrc.zshrc 文件添加配置。
  3. 验证安装:命令行输入 java -versionjavac -version 检查版本信息。

1.3 第一个 Java 程序

public class HelloWorld {
   
    public static void main(String[] args) {
   
        System.out.println("Hello, World!");
    }
}

编译运行步骤:

  1. 保存为 HelloWorld.java 文件。
  2. 命令行执行 javac HelloWorld.java 编译。
  3. 执行 java HelloWorld 运行程序。

二、Java 基础语法

2.1 数据类型与变量

Java 是强类型语言,数据类型分为基本类型和引用类型:

  • 基本类型intdoublecharboolean 等。
  • 引用类型String、数组、类、接口等。

变量声明示例:

int age = 25;
double salary = 10000.50;
char gender = 'M';
boolean isStudent = false;
String name = "John Doe";

2.2 控制流程语句

1、条件语句

if (age >= 18) { System.out.println("成年人"); } else { System.out.println("未成年人"); }

2、循环语句

// for 循环
for (int i = 0; i < 5; i++) {
System.out.println(i);
}

// while 循环
int j = 0;
while (j < 5) {
System.out.println(j);
j++;
}

2.3 面向对象编程基础

Java 是面向对象语言,核心概念包括类、对象、继承、多态等。示例:

// 定义类
class Person {
    private String name
    private int age;

    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 方法
    public void sayHello() {
        System.out.println("Hello, I'm " + name + ", " + age + " years old.");
    }
}

// 使用对象
public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice", 20);
        person.sayHello();
    }
}

继承与多态示例

// 父类
class Animal {
   
    public void sound() {
   
        System.out.println("Animal makes sound");
    }
}

// 子类
class Dog extends Animal {
   
    @Override
    public void sound() {
   
        System.out.println("Dog barks");
    }
}

// 多态应用
public class Main {
   
    public static void main(String[] args) {
   
        Animal animal = new Dog();
        animal.sound(); // 输出: Dog barks
    }
}

三、Java 常用类库与API

3.1 String 类操作

String str = "Hello Java";
System.out.println(str.length()); // 输出: 10
System.out.println(str.substring(6)); // 输出: Java
System.out.println(str.contains("Java")); // 输出: true

3.2 集合框架

Java 集合框架提供了 List、Set、Map 等常用数据结构。

List 示例

import java.util.ArrayList;
import java.util.List;

public class ListExample {
   
    public static void main(String[] args) {
   
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");

        for (String fruit : fruits) {
   
            System.out.println(fruit);
        }
    }
}

Map 示例

import java.util.HashMap;
import java.util.Map;

public class MapExample {
   
    public static void main(String[] args) {
   
        Map<String, Integer> scores = new HashMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 85);
        scores.put("Charlie", 95);

        System.out.println(scores.get("Bob")); // 输出: 85
    }
}

3.3 文件操作

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileExample {
   
    public static void main(String[] args) {
   
        try {
   
            // 写入文件
            FileWriter writer = new FileWriter("test.txt");
            writer.write("Hello, File I/O!");
            writer.close();

            // 读取文件
            File file = new File("test.txt");
            Scanner scanner = new Scanner(file);
            System.out.println(scanner.nextLine());
            scanner.close();
        } catch (IOException e) {
   
            e.printStackTrace();
        }
    }
}

四、实战

4.1 目标

设计一个简单的学生成绩管理系统,实现学生信息和成绩的增删改查功能。

4.2 设计

  1. 学生类(Student):包含学号、姓名、成绩等属性。
  2. 管理类(StudentManager):实现学生信息的增删改查方法。
  3. 主类(Main):提供用户交互界面。

4.3 核心代码实现

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

// 学生类
class Student {
   
    private String id;
    private String name;
    private double score;

    public Student(String id, String name, double score) {
   
        this.id = id;
        this.name = name;
        this.score = score;
    }

    // Getters and Setters
    public String getId() {
    return id; }
    public String getName() {
    return name; }
    public double getScore() {
    return score; }
    public void setScore(double score) {
    this.score = score; }

    @Override
    public String toString() {
   
        return "ID: " + id + ", Name: " + name + ", Score: " + score;
    }
}

// 学生管理类
class StudentManager {
   
    private List<Student> students = new ArrayList<>();

    // 添加学生
    public void addStudent(Student student) {
   
        students.add(student);
    }

    // 删除学生
    public void deleteStudent(String id) {
   
        students.removeIf(student -> student.getId().equals(id));
    }

    // 修改成绩
    public void updateScore(String id, double newScore) {
   
        for (Student student : students) {
   
            if (student.getId().equals(id)) {
   
                student.setScore(newScore);
                break;
            }
        }
    }

    // 查询学生
    public Student findStudent(String id) {
   
        for (Student student : students) {
   
            if (student.getId().equals(id)) {
   
                return student;
            }
        }
        return null;
    }

    // 显示所有学生
    public void displayAllStudents() {
   
        for (Student student : students) {
   
            System.out.println(student);
        }
    }
}

// 主类
public class Main {
   
    public static void main(String[] args) {
   
        Scanner scanner = new Scanner(System.in);
        StudentManager manager = new StudentManager();

        while (true) {
   
            System.out.println("\n学生成绩管理系统");
            System.out.println("1. 添加学生");
            System.out.println("2. 删除学生");
            System.out.println("3. 修改成绩");
            System.out.println("4. 查询学生");
            System.out.println("5. 显示所有学生");
            System.out.println("6. 退出");
            System.out.print("请选择操作: ");

            int choice = scanner.nextInt();
            scanner.nextLine(); // 消耗换行符

            switch (choice) {
   
                case 1:
                    System.out.print("输入学号: ");
                    String id = scanner.nextLine();
                    System.out.print("输入姓名: ");
                    String name = scanner.nextLine();
                    System.out.print("输入成绩: ");
                    double score = scanner.nextDouble();
                    scanner.nextLine();
                    manager.addStudent(new Student(id, name, score));
                    System.out.println("添加成功!");
                    break;
                case 2:
                    System.out.print("输入要删除的学号: ");
                    manager.deleteStudent(scanner.nextLine());
                    System.out.println("删除成功!");
                    break;
                case 3:
                    System.out.print("输入要修改成绩的学号: ");
                    String updateId = scanner.nextLine();
                    System.out.print("输入新成绩: ");
                    double newScore = scanner.nextDouble();
                    scanner.nextLine();
                    manager.updateScore(updateId, newScore);
                    System.out.println("修改成功!");
                    break;
                case 4:
                    System.out.print("输入要查询的学号: ");
                    Student student = manager.findStudent(scanner.nextLine());
                    if (student != null) {
   
                        System.out.println(student);
                    } else {
   
                        System.out.println("未找到该学生!");
                    }
                    break;
                case 5:
                    manager.displayAllStudents();
                    break;
                case 6:
                    System.out.println("感谢使用系统,再见!");
                    scanner.close();
                    return;
                default:
                    System.out.println("无效选择,请重新输入!");
            }
        }
    }
}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇