杰瑞科技汇

Java大学教程,简明在哪?

Java大学简明教程

前言:为什么学习Java?

Java是一门非常流行且强大的编程语言,具有以下特点:

Java大学教程,简明在哪?-图1
(图片来源网络,侵删)
  • 跨平台性:一次编写,到处运行(Write Once, Run Anywhere),Java代码被编译成字节码,在任何安装了Java虚拟机的平台上都能运行。
  • 面向对象:Java是一门纯粹的面向对象语言,有助于你构建结构清晰、可维护、可扩展的大型软件系统。
  • 健壮性:拥有强大的异常处理机制和自动内存管理(垃圾回收),减少了程序出错的可能性。
  • 丰富的生态系统:拥有海量的开源库(如Spring, MyBatis)、强大的开发工具(如IntelliJ IDEA)和庞大的开发者社区,让你能快速解决各种问题。
  • 应用广泛:从后端服务器(如阿里巴巴、京东)、大数据平台(如Hadoop, Spark)、安卓App到科学计算,Java无处不在。

第一部分:Java基础入门

第1章:Java环境搭建与第一个程序

1 安装JDK (Java Development Kit) JDK是Java开发工具包,包含了编译器、运行时环境等。

  1. 下载:访问Oracle官网或OpenJDK官网,下载适合你操作系统的最新LTS(长期支持)版本。
  2. 安装:双击安装包,按照提示完成安装。记住安装路径C:\Program Files\Java\jdk-17
  3. 配置环境变量:
    • 新建系统变量 JAVA_HOME,值为你的JDK安装路径(如 C:\Program Files\Java\jdk-17)。
    • 编辑系统变量 Path,新建一项 %JAVA_HOME%\bin

2 验证安装 打开命令行(Windows的CMD或PowerShell,macOS/Linux的Terminal),输入以下命令:

java -version
javac -version

如果都显示了对应的版本号,说明安装成功。

3 编写第一个Java程序 "Hello, World!"

Java大学教程,简明在哪?-图2
(图片来源网络,侵删)
  1. 创建文件:在任意位置新建一个文件夹,如 D:\JavaProjects,在该文件夹下创建一个名为 HelloWorld.java 的文件。
  2. 编写代码
    // HelloWorld.java
    public class HelloWorld { // 定义一个名为 HelloWorld 的公共类
        public static void main(String[] args) { // 定义程序的入口方法 main
            System.out.println("Hello, World!"); // 在控制台打印输出
        }
    }
  3. 编译:在命令行中,进入到 D:\JavaProjects 目录,执行:
    javac HelloWorld.java

    执行后,会生成一个 HelloWorld.class 文件,这是Java的字节码文件。

  4. 运行:在同一个命令行窗口中,执行:
    java HelloWorld

    你将看到控制台输出:

    Hello, World!

    注意:运行时使用 java 命令,后面跟的是类名,而不是文件名。


第二部分:Java核心语法

第2章:变量、数据类型与运算符

1 关键字与标识符

Java大学教程,简明在哪?-图3
(图片来源网络,侵删)
  • 关键字:Java中具有特殊含义的单词,如 public, class, void, int 等,不能用作变量名。
  • 标识符:给类、方法、变量等起的名字,规则:由字母、数字、下划线_或美元符组成,不能以数字开头,且不能是关键字。

2 数据类型 Java是强类型语言,每个变量都必须声明类型。

  • 基本数据类型
    • 整数byte, short, int, longlong类型数值后需加 Ll,如 100L
    • 浮点数float, doublefloat类型数值后需加 Ff,如 14Fdouble是默认的小数类型。
    • 字符char,表示单个字符,用单引号括起,如 'A', '好'。
    • 布尔boolean,只有两个值:truefalse
  • 引用数据类型
    • :如 String(字符串),Scanner(扫描器)等。
    • 接口:如 Runnable
    • 数组:如 int[]

3 变量与常量

  • 变量:在程序运行过程中可以改变的量,声明格式:数据类型 变量名 = 初始值;
    int age = 18;
    String name = "张三";
  • 常量:在程序运行过程中不能改变的量,使用 final 关键字修饰。
    final double PI = 3.14159;

4 运算符

  • 算术运算符:, , , , (取余), , 。
  • 关系运算符:, , >, <, >=, <=,返回 boolean 值。
  • 逻辑运算符&& (与), (或), (非),也返回 boolean 值。
  • 赋值运算符:, , , , 。

第3章:流程控制

1 条件语句

  • if-else
    int score = 85;
    if (score >= 90) {
        System.out.println("优秀");
    } else if (score >= 60) {
        System.out.println("及格");
    } else {
        System.out.println("不及格");
    }
  • switch:适用于多分支条件判断,case后的值必须是常量。
    int day = 3;
    switch (day) {
        case 1: System.out.println("星期一"); break;
        case 2: System.out.println("星期二"); break;
        case 3: System.out.println("星期三"); break;
        default: System.out.println("其他天"); break;
    }

2 循环语句

  • for循环:适用于循环次数已知的情况。
    // 从1打印到5
    for (int i = 1; i <= 5; i++) {
        System.out.println(i);
    }
  • while循环:适用于循环次数未知,但循环条件明确的情况。
    int count = 0;
    while (count < 5) {
        System.out.println(count);
        count++;
    }
  • do-while循环:至少执行一次循环体,然后再判断条件。
    int num = 0;
    do {
        System.out.println(num);
        num++;
    } while (num < 5);

3 跳转语句

  • break:跳出当前循环或switch语句。
  • continue:跳过本次循环,直接进入下一次循环。

第4章:数组

数组是存储固定大小相同类型元素的容器。

  • 声明与初始化

    // 方式1:声明并分配空间
    int[] scores = new int[5]; // 创建一个能存放5个int的数组
    // 方式2:声明并初始化
    String[] names = {"张三", "李四", "王五"};
  • 访问元素:通过索引(从0开始)访问。

    scores[0] = 90; // 给第一个元素赋值
    System.out.println(names[1]); // 输出第二个元素 "李四"
  • 数组长度:使用 数组名.length 属性获取。

    System.out.println(names.length); // 输出 3

第三部分:面向对象编程

这是Java的精髓,是构建复杂应用的基础。

第5章:类与对象

1 核心概念

  • :是创建对象的模板蓝图,它定义了一类对象共有的属性(成员变量)和行为(方法)。
  • 对象:是类的实例,是一个具体的实体,拥有自己的状态(属性值)和行为。

2 定义一个类Student 类为例:

// Student.java
public class Student {
    // 1. 成员变量(属性)
    String name;
    int age;
    String gender;
    // 2. 构造方法
    // 构造方法用于创建对象时初始化属性
    public Student(String name, int age, String gender) {
        this.name = name; // this. 表示当前对象的属性
        this.age = age;
        this.gender = gender;
    }
    // 3. 成员方法(行为)
    public void study() {
        System.out.println(name + "正在学习Java...");
    }
    public void introduce() {
        System.out.println("大家好,我叫" + name + ",今年" + age + "岁。");
    }
}

3 创建与使用对象

// TestStudent.java
public class TestStudent {
    public static void main(String[] args) {
        // 使用new关键字和构造方法创建对象
        Student s1 = new Student("张三", 20, "男");
        Student s2 = new Student("李四", 21, "女");
        // 访问对象的属性和行为
        s1.introduce();
        s1.study();
        s2.introduce();
    }
}

第6章:面向对象三大特性

1 封装

  • 概念:将对象的属性(数据)和行为(方法)包装在一个独立的单元(类)中,并尽可能隐藏对象的内部细节,只对外暴露有限的接口。

  • 实现:使用 private 关键字将成员变量设为私有,然后提供 publicgettersetter 方法来访问和修改它们。

    // 在Student类中
    private String name; // 私有化
    // 提供公共的getter和setter方法
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }

2 继承

  • 概念:一个类(子类/派生类)可以继承另一个类(父类/超类)的属性和方法,实现代码的复用。

  • 关键字extends

  • 特点

    • Java只支持单继承,但支持多重继承(通过接口)。
    • 子类拥有父类的非private的成员。
    • 子类可以扩展自己的新功能。
      // 定义一个父类 Person
      public class Person {
      protected String name; // protected 子类可以访问
      public void eat() {
          System.out.println(name + "在吃饭");
      }
      }

    // Student类 继承 Person类 public class Student extends Person { private int score; public void study() { System.out.println(name + "在学习"); } }

3 多态

  • 概念:指同一个接口,使用不同的实例而执行不同操作,通俗地说,一种事物,多种形态”。

  • 实现条件

    1. 继承或实现关系。
    2. 方法重写。
    3. 父类引用指向子类对象。
  • 示例

    // Animal.java (父类)
    public class Animal {
        public void makeSound() {
            System.out.println("动物在叫");
        }
    }
    // Dog.java (子类)
    public class Dog extends Animal {
        @Override // 注解,表示重写父类方法
        public void makeSound() {
            System.out.println("汪汪汪!");
        }
    }
    // Cat.java (子类)
    public class Cat extends Animal {
        @Override
        public void makeSound() {
            System.out.println("喵喵喵!");
        }
    }
    // TestPolymorphism.java
    public class TestPolymorphism {
        public static void main(String[] args) {
            // 父类引用指向子类对象
            Animal myDog = new Dog();
            Animal myCat = new Cat();
            myDog.makeSound(); // 输出: 汪汪汪!
            myCat.makeSound(); // 输出: 喵喵喵!
        }
    }

第四部分:常用API与进阶

第7章:常用API

API(Application Programming Interface)是Java类库中预定义好的类和方法,可以直接调用。

  • String:不可变的字符序列。
    String s = "Hello";
    s.length(); // 获取长度
    s.substring(1, 3); // 获取子串 "el"
    s.equals("hello"); // 比较内容
  • Math:提供数学运算方法。
    Math.max(10, 20); // 返回较大值 20
    Math.random(); // 返回一个 [0.0, 1.0) 之间的随机数
  • Scanner:用于获取用户输入。
    Scanner scanner = new Scanner(System.in);
    System.out.print("请输入你的名字: ");
    String name = scanner.nextLine();
    System.out.println("你好, " + name);
    scanner.close(); // 关闭Scanner

第8章:异常处理

1 什么是异常? 异常是程序在运行时出现的错误,如除零错误、数组越界、文件找不到等,如果不处理,程序会终止。

2 异常处理机制 使用 try-catch-finally 语句块来捕获和处理异常。

  • try:放置可能抛出异常的代码。
  • catch:捕获并处理特定类型的异常。
  • finally:无论是否发生异常,finally块中的代码都会被执行(通常用于资源释放)。
    public class ExceptionTest {
    public static void main(String[] args) {
        try {
            int[] arr = {1, 2, 3};
            System.out.println(arr[3]); // 数组越界,会抛出 ArrayIndexOutOfBoundsException
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组索引越界了!");
            e.printStackTrace(); // 打印异常的详细堆栈信息
        } finally {
            System.out.println("程序执行完毕。");
        }
    }
    }

第五部分:实战与总结

第9章:项目实战:简易学生管理系统

这是一个非常经典的入门级项目,可以综合运用你学到的所有知识。

项目目标

  1. 能够录入学生信息(姓名、年龄、成绩)。
  2. 能够查看所有学生信息。
  3. 能够根据学号删除学生。
  4. 能够根据学号修改学生信息。

实现思路

  1. 创建一个 Student 类,包含 id, name, age, score 等属性,以及相应的构造方法和getter/setter
  2. 创建一个 StudentManager 类,作为管理器,包含一个 Student 类型的数组(或 ArrayList)来存储所有学生。
  3. StudentManager 中实现以下方法:
    • addStudent(Student s): 添加学生。
    • showAllStudents(): 遍历并打印所有学生信息。
    • deleteStudentById(int id): 根据ID查找并删除学生。
    • updateStudentById(int id, Student newStudent): 根据ID查找并更新学生信息。
  4. 创建一个 Main 类,提供一个主菜单(使用 Scanner 获取用户输入),通过循环来调用 StudentManager 的方法,实现交互。

第10章:学习路径与资源推荐

进阶方向

  • 集合框架ArrayList, HashMap 等,比数组更灵活。
  • I/O流:处理文件读写。
  • 多线程:让程序同时处理多个任务。
  • 网络编程:开发客户端/服务器应用。
  • 数据库连接:使用JDBC操作MySQL等数据库。
  • Web开发:学习Spring Boot框架,快速开发企业级应用。

推荐资源

  • 书籍
    • 《Java核心技术 卷I》:基础知识非常扎实。
    • 《Head First Java》:图文并茂,适合入门。
  • 在线教程
    • 菜鸟教程:快速查询语法。
    • B站/慕课网:大量免费视频课程。
    • Oracle官方文档:最权威的资料。
  • 开发工具
    • IntelliJ IDEA:目前最强大、最好用的Java IDE,社区版免费。

学习Java是一个循序渐进的过程,本教程为你勾勒出了一个清晰的路线图,请务必多动手敲代码,遇到问题多思考、多搜索,祝你学习顺利,早日成为Java高手!

分享:
扫描分享到社交APP
上一篇
下一篇