Java程序设计:掌握核心语法与经典案例

server/2025/2/4 7:31:10/

一、引言

Java作为一种广泛使用的编程语言,以其简洁、高效、跨平台等特性深受开发者喜爱。掌握Java的核心语法是成为一名优秀Java程序员的基础。本文将从Java的基本语法入手,逐步深入到经典案例的分析,帮助读者快速掌握Java程序设计的关键要点。

二、Java核心语法

(一)基本数据类型与变量

1. 基本数据类型•

Java提供了八种基本数据类型,包括整数类型( byte 、 short 、 int 、 long )、浮点类型( float 、 double )、字符类型( char )和布尔类型( boolean )。每种数据类型都有其特定的取值范围和内存占用。

• 示例代码:

int age = 25;
double salary = 5000.5;
char gender = 'M';
boolean isStudent = true;
 

2. 变量的声明与初始化

• 变量是存储数据的容器,其声明格式为“数据类型 变量名”。变量可以在声明时初始化,也可以在后续代码中赋值。

• 示例代码:

int count; // 声明变量

count = 10; // 初始化变量

(二)流程控制语句

1. 条件语句

• Java中的条件语句包括 if 、 else if 和 switch 语句。它们用于根据条件执行不同的代码块。

• 示例代码:

int score = 85;

if (score >= 90) {

    System.out.println("优秀");

} else if (score >= 70) {

    System.out.println("良好");

} else {

    System.out.println("及格");

}

2. 循环语句

• 循环语句包括 for 、 while 和 do-while 循环。它们用于重复执行某段代码,直到满足特定条件为止。

• 示例代码:

// for循环

for (int i = 0; i < 5; i++) {

    System.out.println("循环次数:" + i);

}

// while循环

int j = 0;

while (j < 5) {

    System.out.println("循环次数:" + j);

    j++;

}

(三)数组与集合

1. 数组

• 数组是存储相同类型数据的容器,其大小在声明时确定,且不可改变。数组的索引从0开始。

• 示例代码:

int[] numbers = {1, 2, 3, 4, 5};

System.out.println("数组的第三个元素是:" + numbers[2]);

2. 集合

• Java提供了多种集合类,如 ArrayList 、 LinkedList 、 HashSet 和 HashMap 等。

集合类提供了更灵活的数据存储方式,支持动态扩展和更丰富的操作。

• 示例代码:

import java.util.ArrayList;

import java.util.List;

List<String> names = new ArrayList<>();

names.add("Alice");

names.add("Bob");

System.out.println("集合中的第一个元素是:" + names.get(0));

(四)面向对象编程

1. 类与对象

• 类是对象的模板,定义了对象的属性和行为。对象是类的实例。

• 示例代码:

class Person {

    String name;

    int age;

 

    public void sayHello() {

        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");

    }

}

public class Main {

    public static void main(String[] args) {

        Person person = new Person();

        person.name = "Alice";

        person.age = 25;

        person.sayHello();

    }

}

2. 继承与多态

• 继承允许一个类继承另一个类的属性和方法。多态允许子类对象替换父类对象,从而实现灵活的代码复用。

• 示例代码:

class Animal {

    public void makeSound() {

        System.out.println("Animal makes a sound");

    }

}

class Dog extends Animal {

    @Override

    public void makeSound() {

        System.out.println("Dog barks");

    }

}

public class Main {

    public static void main(String[] args) {

        Animal animal = new Dog();

        animal.makeSound(); // 输出:Dog barks

    }

}

三、经典案例分析

(一)学生信息管理系统1. 需求分析

• 学生信息管理系统需要实现学生信息的添加、删除、修改和查询功能。

2. 代码实现

• 使用数组或集合存储学生信息,通过菜单驱动的方式实现不同功能。

• 示例代码:

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

 

class Student {

    String name;

    int age;

    String gender;

 

    public Student(String name, int age, String gender) {

        this.name = name;

        this.age = age;

        this.gender = gender;

    }

 

    @Override

    public String toString() {

        return "Student{" +

                "name='" + name + '\'' +

                ", age=" + age +

                ", gender='" + gender + '\'' +

                '}';

    }

}

 

public class StudentManagementSystem {

    private List<Student> students = new ArrayList<>();

    private Scanner scanner = new Scanner(System.in);

 

    public void addStudent() {

        System.out.println("请输入学生姓名:");

        String name = scanner.nextLine();

        System.out.println("请输入学生年龄:");

        int age = scanner.nextInt();

        scanner.nextLine(); // 消耗换行符

        System.out.println("请输入学生性别:");

        String gender = scanner.nextLine();

        Student student = new Student(name, age, gender);

        students.add(student);

        System.out.println("学生信息添加成功!");

    }

 

    public void deleteStudent() {

        System.out.println("请输入要删除的学生姓名:");

        String name = scanner.nextLine();

        students.removeIf(student -> student.name.equals(name));

        System.out.println("学生信息删除成功!");

    }

 

    public void modifyStudent() {

        System.out.println("请输入要修改的学生姓名:");

        String name = scanner.nextLine();

        for (Student student : students) {

            if (student.name.equals(name)) {

                System.out.println("请输入新的年龄:");

                int age = scanner.nextInt();

                scanner.nextLine(); // 消耗换行符

                System.out.println("请输入新的性别:");

                String gender = scanner.nextLine();

                student.age = age;

                student.gender = gender;

                System.out.println("学生信息修改成功!");

                return;

            }

        }

        System.out.println("未找到该学生!");

    }

 

    public void queryStudents() {

        if (students.isEmpty()) {

            System.out.println("暂无学生信息!");

        } else {

            for (Student student : students) {

                System.out.println(student);

            }

        }

    }

 

    public void showMenu() {

        while (true) {

            System.out.println("欢迎使用学生信息管理系统");

            System.out.println("1. 添加学生信息");

            System.out.println("2. 删除学生信息");

            System.out.println("3. 修改学生信息");

            System.out.println("4. 查询学生信息");

            System.out.println("5. 退出系统");

            System.out.println("请输入您的选择:");

            int choice = scanner.nextInt();

            scanner.nextLine(); // 消耗换行符

            switch (choice) {

                case 1:

                    addStudent();

                    break;

                case 2:

                    deleteStudent();

                    break;

                case 3:

                    modifyStudent();

                    break;

                case 4:

                    queryStudents();

                    break;

                case 5:

                    System.out.println("感谢使用学生信息管理系统,再见!");

                    return;

                default:

                    System.out.println("输入有误,请重新输入!");

            }

        }

    }

 

    public static void main(String[] args) {

        StudentManagementSystem system = new StudentManagementSystem();

        system.showMenu();

    }

}

(二)图书管理系统

1. 需求分析

• 图书管理系统需要实现图书的添加、删除、借阅和归还功能。

2. 代码实现

• 使用数组或集合存储图书信息,通过菜单驱动的方式实现不同功能。

• 示例代码:

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

 

class Book {

    String title;

    String author;

    boolean isBorrowed;

 

    public Book(String title, String author) {

        this.title = title;

        this.author = author;

        this.isBorrowed = false;

    }

 

    @Override

    public String toString() {

        return "Book{" +

 

 


http://www.ppmy.cn/server/164829.html

相关文章

A7. Jenkins Pipeline自动化构建过程,可灵活配置多项目、多模块服务实战

服务容器化构建的环境配置构建前需要解决什么下面我们带着问题分析构建的过程:1. 如何解决jenkins执行环境与shell脚本执行环境不一致问题?2. 构建之前动态修改项目的环境变量3. 在通过容器打包时避免不了会产生比较多的不可用的镜像资源,这些资源要是不及时删除掉时会导致服…

高项第五章第一节——信息系统工程之软件工程

5_1 软件工程 软件工程&#xff08;Software Engineering&#xff09;&#xff0c;是指应用计算机科学、数学及管理科学等原理&#xff0c;以工程化的原则和方法来解决软件问题的工程。 架构设计&#xff1a;软件架构为软件系统提供了一个结构、行为和属性的高级抽象 架构设…

bat脚本实现自动化漏洞挖掘

bat脚本 BAT脚本是一种批处理文件&#xff0c;可以在Windows操作系统中自动执行一系列命令。它们可以简化许多日常任务&#xff0c;如文件操作、系统配置等。 bat脚本执行命令 echo off#下面写要执行的命令 httpx 自动存活探测 echo off httpx.exe -l url.txt -o 0.txt nuc…

【Hadoop】Hadoop 概述

Hadoop 概述 Hadoop 是什么Hadoop 发展历史Hadoop 三大发行版本Hadoop 优势&#xff08;4 高&#xff09;Hadoop 组成&#xff08;面试重点&#xff09;HDFS 架构概述YARN 架构概述MapReduce 架构概述HDFS、YARN、MapReduce 三者关系 大数据技术生态体系 Hadoop 是什么 Hadoop…

车载软件 --- 大一新生入门汽车零部件嵌入式开发

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

Linux进阶——例行性工作

一、rhce学习内容&#xff1a; 服务器&#xff1a;拥有特定服务的机器&#xff0c;服务可以服务很多人&#xff0c;用户主动找服务器提供服务&#xff0c;安装特定软件。 web服务&#xff1a;www.baidu.com 软件&#xff1a;httpd,nginx 服务器服务&#xff1a; …

Python线程入门:多线程并发的基础与实践

线程概念 我们在日常开发中经常会听到使用多线程/多进程的方式完成并发任务。那么什么是进程&#xff1f;什么是线程&#xff1f;进程与线程之间有什么关系&#xff1f;接下来我们通过日常场景简单的了解一下进程与线程。 一个工厂&#xff0c;至少有一个车间&#xff0c;一个…

[EAI-028] Diffusion-VLA,能够进行多模态推理和机器人动作预测的VLA模型

Paper Card 论文标题&#xff1a;Diffusion-VLA: Scaling Robot Foundation Models via Unified Diffusion and Autoregression 论文作者&#xff1a;Junjie Wen, Minjie Zhu, Yichen Zhu, Zhibin Tang, Jinming Li, Zhongyi Zhou, Chengmeng Li, Xiaoyu Liu, Yaxin Peng, Chao…