当前位置: 首页 > article >正文

魏裕雄的JAVA学习总结

JAVA学习总结

  • Java面向对象程序设计知识总结
    • 第1章 初识Java与面向对象程序设计
      • JAVA概述
      • 面向对象程序设计思想
      • JAVA开发环境搭建
      • 第一个JAVA程序
      • JAVA常用开发工具
    • 第2章 Java编程基础
      • 变量与常量
      • 运算符与表达式
      • 选择结构
      • 循环结构
      • 方法
      • 数组
      • JVM中的堆内存与栈内存
    • 第3章 面向对象程序设计(基础)
      • 面向对象的概念
      • 面向对象编程
      • 构造方法
      • this关键字
      • static关键字
    • 第4章 面向对象程序设计(进阶)
      • 封装
      • 继承
      • super关键字
      • final关键字
      • object类
      • 多态
      • 抽象类
      • 接口
      • 内部类概述
    • 第5章 异常
      • 异常概述
      • 异常处理
      • 异常进阶
    • 第6章 Java常用类
      • 包装类
      • String类概述
      • StringBuffer类与StringBuilder类
      • 时间和日期相关类
      • 其他常用类

Java面向对象程序设计知识总结

第1章 初识Java与面向对象程序设计

JAVA概述

Java是一种强类型、面向对象的编程语言,以其跨平台兼容性、安全性和健壮性而闻名。

面向对象程序设计思想

面向对象程序设计(OOP)的核心在于数据抽象、封装、继承和多态。

JAVA开发环境搭建

安装JDK和IDE(如IntelliJ IDEA或Eclipse),配置环境变量以使用javacjava命令。

第一个JAVA程序

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

编译并运行上述程序,将在控制台输出"Hello, World!"。

JAVA常用开发工具

包括IDE、构建工具(如Maven和Gradle)、版本控制系统(如Git)等。

第2章 Java编程基础

变量与常量

变量用于存储数据,而常量则用于存储固定值。

int age = 25; // 变量
final int MAX_VALUE = 100; // 常量

运算符与表达式

包括算术运算符、关系运算符、逻辑运算符等。

int a = 5, b = 10;
boolean result = (a + b) > 10; // 表达式

选择结构

使用ifelse ifelseswitch语句进行条件选择。

int score = 85;
if (score > 90) {
    System.out.println("优秀");
} else if (score > 80) {
    System.out.println("良好");
} else {
    System.out.println("一般");
}

循环结构

使用forwhiledo-while循环执行重复操作。

for (int i = 0; i < 5; i++) {
    System.out.println("迭代 " + i);
}

方法

定义方法以复用代码和执行特定任务。

public void printNumbers() {
    for (int i = 0; i < 10; i++) {
        System.out.println(i);
    }
}

数组

用于存储固定大小的同类型元素集合。

int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}

JVM中的堆内存与栈内存

  • 堆内存用于存储对象实例。
  • 栈内存用于存储局部变量和方法调用。

第3章 面向对象程序设计(基础)

面向对象的概念

理解类和对象,以及它们在Java中如何表示。

面向对象编程

使用类和对象进行编程。

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

构造方法

用于初始化新对象的特殊方法。

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

this关键字

引用当前对象的成员变量或方法。

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;
        System.out.println("构造方法中的this.name: " + this.name);
    }
}

static关键字

用于定义类级别的静态成员。

public class MathUtil {
    public static int add(int a, int b) {
        return a + b;
    }
}

第4章 面向对象程序设计(进阶)

封装

隐藏对象的内部状态和行为,只暴露必要的接口。

public class Person {
    private String name;
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
}

继承

允许一个类(子类)继承另一个类(父类)的属性和方法。

public class Animal {
    public void eat() {
        System.out.println("Eating");
    }
}

public class Dog extends Animal {
    // 继承了Animal的eat方法
}

super关键字

引用父类的属性和方法。

public class Animal {
    public void eat() {
        System.out.println("Eating");
    }
}

public class Dog extends Animal {
    @Override
    public void eat() {
        super.eat(); // 调用父类的eat方法
        System.out.println("Dog eating");
    }
}

final关键字

用于修饰不可改变的类、方法或变量。

public final class UtilityClass {
    // 类不能被继承
}

object类

Java中所有类的根类,提供了一些通用方法,如equals()hashCode()等。

多态

允许不同类的对象对同一消息做出响应。

public class Animal {
    public void makeSound() {
        System.out.println("Animal sound");
    }
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Woof");
    }
}

public class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Meow");
    }
}

public class PolymorphismTest {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        Animal myCat = new Cat();
        myDog.makeSound(); // 输出: Woof
        myCat.makeSound(); // 输出: Meow
    }
}

抽象类

不能被实例化的类,可以包含抽象方法,必须被继承。

public abstract class Animal {
    public abstract void makeSound();
}

接口

定义方法规范,可以被实现(implement)。

public interface Movable {
    void move();
}

public class Car implements Movable {
    @Override
    public void move() {
        System.out.println("Car is moving");
    }
}

内部类概述

类中定义的类,可以访问外部类的成员。

public class OuterClass {
    private String outerField = "outer";

    public class InnerClass {
        public void display() {
            System.out.println("Outer class field: " + outerField);
        }
    }
}

第5章 异常

异常概述

异常是程序执行过程中的异常情况。

异常处理

使用try-catch语句捕获和处理异常。

try {
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero");
}

异常进阶

自定义异常和异常传播。

public class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

public void myMethod() throws MyException {
    throw new MyException("Something went wrong");
}

第6章 Java常用类

包装类

基本数据类型对应的包装类,如IntegerDouble等。

Integer integer = new Integer(10);
Double doubleObj = new Double(20.5);

String类概述

不可变的字符序列。

String greeting = "Hello, World!";

StringBuffer类与StringBuilder类

可变的字符序列,StringBuffer是线程安全的,而StringBuilder不是。

StringBuffer stringBuffer = new StringBuffer("Hello");
StringBuilder stringBuilder = new StringBuilder("Hello");
stringBuffer.append(" World");
stringBuilder.append(" World");

时间和日期相关类

java.util.Datejava.time包下的类。

import java.time.LocalDateTime;

LocalDateTime now = LocalDateTime.now();
System.out.println("Current date and time: " + now);

其他常用类

MathSystemScanner等。

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = scanner.nextInt();

http://www.kler.cn/a/444497.html

相关文章:

  • 免费GIS工具箱:轻松将glb文件转换成3DTiles文件
  • 在Ubuntu下运行QEMU仿真FreeBSD riscv64系统
  • Map.put 方法
  • 相机内外参知识
  • ubuntu16.04ros-用海龟机器人仿真循线系统
  • 【Apache Paimon】-- 10 -- Paimon 0.9.0 集成 Hive 3.1.3
  • SQL 多表查询实战:使用 WHERE 实现表关联
  • 深入了解V-model实现数据双向绑定
  • pdf操作组件aspose的无限制使用方法
  • Moretl开箱即用日志采集
  • 探索 Bokeh:轻松创建交互式数据可视化的强大工具
  • useContext Hook 的使用及规范
  • ASP.NET Core+EF Core+Vue.js/Ant Design/Axios 实现简单的图书查询
  • 浅谈OA和门户网站的区别
  • 语言模型 F5-E2 TTS:音色 情绪一键克隆,轻松实现多角色对话
  • 二分法(总体概述)
  • Linux下部署MySQL8.0集群 - 主从复制(一主两从)
  • 前后端跨域问题(CROS)
  • shell命令查看在用端口
  • 【图像分类实用脚本】数据可视化以及高数量类别截断
  • Unity 在不同分辨率的屏幕设备中保持特定的纵横比
  • 性能测试度量指标学习笔记
  • Python GUI 编程:tkinter 初学者入门指南——Ttk 组合框 Combobox
  • 课上测试:商用密码接口实现
  • nbcio-vue版本现在安装编译问题的处理方式
  • 工业一体机如何助力汽车零部件制造实现精准控制