java核心内容笔记

embedded/2025/3/13 12:03:09/

Java 核心内容学习笔记

一、Java 环境配置

1. JDK 安装

  • 下载地址:Oracle 官方网站
  • 安装步骤:
    1. 根据操作系统选择对应的安装包
    2. 运行安装程序,选择安装路径
    3. 配置环境变量
      • JAVA_HOME:指向JDK安装目录
      • PATH:添加 %JAVA_HOME%\bin
      • CLASSPATH:添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

2. 验证安装

  • 打开命令提示符,输入 java -version,若显示Java版本信息,则安装成功

二、Java 基础语法

1. 第一个Java程序

java">public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
  • 文件名必须与类名相同
  • main 方法是程序入口

2. 变量与数据类型

java">// 基本数据类型
byte a = 10;
short b = 20;
int c = 100;
long d = 1000L;
float e = 3.14f;
double f = 3.1415926;
char g = 'A';
boolean h = true;// 字符串
String str = "Hello, Java!";

3. 运算符

java">// 算术运算符
int sum = 10 + 20;
int diff = 20 - 10;
int product = 10 * 20;
int quotient = 20 / 10;
int remainder = 20 % 3;// 关系运算符
boolean isEqual = (10 == 20);
boolean isNotEqual = (10 != 20);
boolean isGreater = (10 > 20);
boolean isLess = (10 < 20);// 逻辑运算符
boolean andResult = (true && false);
boolean orResult = (true || false);
boolean notResult = !true;

4. 控制流程

java">// if-else语句
if (condition) {// 执行代码
} else if (anotherCondition) {// 执行代码
} else {// 执行代码
}// switch语句
switch (expression) {case value1:// 执行代码break;case value2:// 执行代码break;default:// 执行代码
}// for循环
for (int i = 0; i < 10; i++) {System.out.println(i);
}// while循环
int i = 0;
while (i < 10) {System.out.println(i);i++;
}// do-while循环
int i = 0;
do {System.out.println(i);i++;
} while (i < 10);

三、面向对象编程

1. 类与对象

java">// 定义类
public class Car {// 属性String color;int speed;// 构造方法public Car(String color, int speed) {this.color = color;this.speed = speed;}// 方法public void accelerate(int increment) {speed += increment;}public void displayInfo() {System.out.println("Color: " + color + ", Speed: " + speed);}
}// 创建对象
Car myCar = new Car("Red", 100);
myCar.accelerate(20);
myCar.displayInfo();

2. 继承

java">// 父类
public class Animal {public void eat() {System.out.println("Eating...");}
}// 子类
public class Dog extends Animal {public void bark() {System.out.println("Barking...");}
}// 使用
Dog dog = new Dog();
dog.eat(); // 继承自父类的方法
dog.bark(); // 子类自己的方法

3. 多态

java">// 父类引用指向子类对象
Animal animal = new Dog();
animal.eat(); // 调用的是Dog类的eat方法(如果重写了父类方法)// 方法重写
public class Dog extends Animal {@Overridepublic void eat() {System.out.println("Dog eating...");}
}

4. 接口

java">// 定义接口
public interface Movable {void move();
}// 实现接口
public class Car implements Movable {@Overridepublic void move() {System.out.println("Car is moving...");}
}// 使用
Car car = new Car();
car.move();

四、异常处理

1. 异常类型

  • Exception:常见异常的父类
  • RuntimeException:运行时异常,如空指针异常、数组越界等
  • IOException:输入输出异常
  • ClassNotFoundException:类未找到异常

2. 异常处理机制

java">try {// 可能抛出异常的代码int result = 10 / 0;
} catch (ArithmeticException e) {// 捕获并处理异常System.out.println("ArithmeticException caught: " + e.getMessage());
} catch (Exception e) {// 捕获其他异常System.out.println("Exception caught: " + e.getMessage());
} finally {// 无论是否发生异常都会执行的代码System.out.println("Finally block executed");
}

3. 自定义异常

java">// 自定义异常类
public class MyException extends Exception {public MyException(String message) {super(message);}
}// 抛出自定义异常
public class Test {public static void main(String[] args) {try {throw new MyException("This is a custom exception");} catch (MyException e) {System.out.println(e.getMessage());}}
}

五、集合框架

1. List 接口

java">import java.util.ArrayList;
import java.util.List;List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");for (String fruit : list) {System.out.println(fruit);
}

2. Set 接口

java">import java.util.HashSet;
import java.util.Set;Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Orange");for (String fruit : set) {System.out.println(fruit);
}

3. Map 接口

java">import java.util.HashMap;
import java.util.Map;Map<String, Integer> map = new HashMap<>();
map.put("Apple", 10);
map.put("Banana", 20);
map.put("Orange", 30);for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());
}

六、输入输出流

1. 文件读取

java">import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class ReadFileExample {public static void main(String[] args) {try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {String line;while ((line = br.readLine()) != null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}}
}

2. 文件写入

java">import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class WriteFileExample {public static void main(String[] args) {try (BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt", true))) {bw.write("Hello, Java!");bw.newLine();} catch (IOException e) {e.printStackTrace();}}
}

七、多线程

1. 创建线程

java">// 继承Thread类
class MyThread extends Thread {@Overridepublic void run() {System.out.println("Thread is running...");}
}// 实现Runnable接口
class MyRunnable implements Runnable {@Overridepublic void run() {System.out.println("Runnable is running...");}
}// 使用
MyThread thread = new MyThread();
thread.start();Thread thread2 = new Thread(new MyRunnable());
thread2.start();

2. 线程同步

java">public class SynchronizedExample {private int count = 0;public synchronized void increment() {count++;}public synchronized int getCount() {return count;}
}

八、常用类库

1. String 类

java">String str1 = "Hello";
String str2 = "World";
String str3 = str1 + " " + str2;int length = str3.length();
char charAt = str3.charAt(0);boolean equals = str3.equals("Hello World");
boolean startsWith = str3.startsWith("Hello");
boolean endsWith = str3.endsWith("World");

2. 数组操作

java">int[] array = {1, 2, 3, 4, 5};// 遍历
for (int i = 0; i < array.length; i++) {System.out.println(array[i]);
}// 拷贝
int[] copiedArray = new int[array.length];
System.arraycopy(array, 0, copiedArray, 0, array.length);// 转换为字符串
String arrayStr = Arrays.toString(array);

3. 日期与时间

java">import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDate = now.format(formatter);System.out.println(formattedDate);

以上是Java核心内容的学习笔记,希望对刚入门的新手程序员有所帮助!如果在学习过程中有任何疑问,欢迎随时提问。

📚 推荐阅读

  • wx群聊总结助手:一个基于人工智能的群聊消息总结工具,支持多种AI服务,可以自动提取群聊重点内容并生成结构化总结
  • 历时两周半开发的一款加载live2模型的浏览器插件
  • PySide6+live2d+小智 开发的 AI 语音助手桌面精灵,支持和小智持续对话、音乐播放、番茄时钟、书签跳转、ocr等功能
  • github优秀开源作品集


http://www.ppmy.cn/embedded/172235.html

相关文章

【密码学——基础理论与应用】李子臣编著 第三章 分组密码 课后习题

免责声明 这里都是自己搓或者手写的。 里面不少题目感觉有问题或者我的理解有偏颇&#xff0c;请大佬批评指正&#xff01; 不带思考抄作业的请自动退出&#xff0c;我的并非全对&#xff0c;仅仅提供思维&#xff01; 题目 逐题解析 3.9 做这题需要有置换和错排的知识储备…

计算机网络:Socket编程 Tcp协议 第二弹

目录 1. Tcp协议接口 1.1 listen监听函数 1.2 accept函数 1.3 connect函数 1.4 inet_ntop函数 2. TcpEchoServer服务 2.1 Common.hpp 2.1 TcpServer.hpp 2.1.1 TcpServer类 2.1.2 InitServer函数 2.1.3 Start函数 2.1.4 HandlerRequest函数 2.3 TcpServer.cc 2.4…

10✨让笔迹突破语言壁垒!Manus AI 多语言识别开启智能书写新纪元

Manus AI在多语言手写识别领域的技术突破主要体现在以下四个方面&#xff0c;通过创新的技术架构和工程化实践解决了传统手写识别的核心痛点&#xff1a; 一、深度学习模型与算法优化 混合神经网络架构 Manus AI采用了**卷积神经网络&#xff08;CNN&#xff09;与长短…

【web前端开发】HTML排版标签、HTML语义化标签、常用的文本标签

1、HTML排版标签 标签名 标签含义 单/双标签 h1~h6 …

【VS】vs生成前事件,复制脚本文件至运行目录

​ 在项目目录中添加了一些配置文件&#xff0c;或者脚本文件&#xff0c;运行时需要把这些文件复制运行目录下&#xff0c;visual studio 中 可以设置生成事件&#xff0c;项目生成时自动复制文件到运行目录。 xcopy /Y “KaTeX parse error: Undefined control sequence: \c…

ES搭建详细指南+常见错误解决方法

Elasticsearch&#xff08;ES&#xff09;是一款开源的、分布式的、RESTful风格的搜索和数据分析引擎。它用于全文搜索、结构化搜索、分析等场景。以下是Elasticsearch的搭建步骤以及处理常见错误的方法。 Elasticsearch搭建步骤&#xff1a; 1.环境准备&#xff1a; 确保你的…

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …

【Godot4.4】写入和读取ZIP文件

概述 Godot提供了ZIPPacker类型来读写ZIP压缩包文件。本文是简单的写入和读取文件操作测试笔记。 写入纯文本文件 extends Buttonfunc _ready():write_zip_file("1.zip",func(zip_packer):write_txt_file_to_zippack(zip_packer,"1.txt","hhhhh&qu…