Java 核心知识点与开发实践总结
本文整理了 Java 学习与开发中的关键知识点、常见实践和工具使用技巧,适合初学者系统回顾和开发者快速查阅。
一、操作系统与文件系统
- Windows 不区分文件名大小写,而Linux 区分大小写。在跨平台开发时,建议始终使用一致的大小写规范,避免因系统差异导致文件找不到的问题。
二、Java 开发环境
- 编写 Java 程序需要 JDK(Java Development Kit),它包含了编译器、调试器等开发工具。
- 一般运行环境只需要 JRE(Java Runtime Environment),它包含了运行 Java 程序所需的 JVM 和核心类库。
三、JDK 安装
- JDK 安装通常是“傻瓜式”安装,一路点击“下一步”即可完成。
- 建议从 Oracle 官网或 Adoptium 等开源发行版下载,并选择LTS(Long-Term Support)长期支持版本以获得更稳定的更新和维护。
四、Java 核心工具
- javac:Java 编译器,用于将
.java源文件编译为.class字节码文件。 - java:Java 解释器,用于执行
.class文件。执行时不需要加.class后缀,例如:java Test。
五、环境变量配置
- 安装后习惯配置JAVA_HOME环境变量,指向 JDK 的安装目录(例如
C:\Program Files\Java\jdk-21)。 - 许多应用(如 Maven、Gradle、Tomcat)会依赖此变量来定位 Java 环境。
- 注意:
JAVA_HOME应指向 JDK 目录,而不是其下的bin目录。
六、开发工具技巧
- Notepad++:在文件上右键可选择“在命令行中打开”,会直接进入该文件所在目录的 CMD 窗口,方便快速编译运行。
- IntelliJ IDEA:目前主流的 Java IDE,社区版免费,终极版(Ultimate)功能更全但需付费。建议使用官方正版或学生授权。
- IDEA 快捷键:
psvm+ Tab:快速生成public static void main(String[] args)主方法。sout+ Tab:快速生成System.out.println();。foi:快速生成 for 循环(需安装或启用相关模板)。
- 修改类名:在 IDEA 中直接右键文件 → Refactor → Rename,可同步修改文件名和类名。
- 代码提示忽略大小写:Settings → Editor → General → Code Completion,取消勾选 “Match case”。
七、Java 平台版本
- Java SE(Standard Edition):标准版,用于桌面应用、命令行程序开发。
- Java EE(Enterprise Edition,现为 Jakarta EE):企业版,用于 Web 应用、分布式系统开发,是 Web 开发的主流选择。
- Java ME(Micro Edition):微型版,用于嵌入式设备、物联网开发,目前使用较少。
八、Java 跨平台原理
- Java 被称为“混合型”语言,结合了编译和解释的特点:
- 编译:
.java→.class(字节码,与平台无关)。 - 解释:JVM 加载
.class并解释执行(或 JIT 编译为本地代码)。
- 编译:
- JVM(Java Virtual Machine)是跨平台的核心,不同操作系统有对应的 JVM 实现。
九、常用 Java 开发的软件
- 开发工具:IntelliJ IDEA、Eclipse、Android Studio
- 大数据:Hadoop、Spark、Flink
- 科学计算:MATLAB(部分模块)
- 移动端:Android 应用
十、其他开发工具
- JDB:Java Debugger,命令行调试工具。
- JHT(可能指 JHT 或相关工具):内存分析、堆转储分析工具。
十一、基础语法要点
- 关键字:全部小写,如
public、class、static。IDE 会自动高亮显示。 - 类与文件:一个
.java文件中只能有一个public class,且该类名必须与文件名一致。 - 基本单元:
class是 Java 程序的基本组成单元。 - 空类型:
null表示空引用,不能直接打印。打印时需要转换为字符串"null"。 - 转义字符:
\t是制表符,其作用是将前面的字符长度补齐到 8 或 8 的整数倍,最少补 1 个空格,最多补 8 个空格。
十二、命名规范
- 小驼峰(变量、方法名):第一个单词全小写,后续单词首字母大写,例如:
getUserName、studentCount。 - 大驼峰(类名、接口名):每个单词首字母大写,例如:
UserService、StudentController。
十三、项目结构
- Java 项目层级:
Project→Module→Package→Class。 - 在 IDEA 中创建项目:
New Project→Empty Project→Project Structure→New Module。
十四、包命名规范
- 通常使用公司域名的反写,例如:公司官网
www.alibaba.com,包名可定义为com.alibaba.demo。 - 包名全部小写,多个单词用点分隔。
十五、AI 辅助插件
- MarsCode(豆包):智能代码补全、注释生成、代码解释。安装后注册登录即可使用。
- PTG(Plugin for Java Bean):快速生成 JavaBean 类(含 getter/setter、构造方法等),右键 →
PTG to JavaBean即可。
十六、数据类型与运算
- 整数进制:
- 二进制:前缀
0b,例如0b1010。 - 八进制:前缀
0,例如012(十进制 10)。 - 十六进制:前缀
0x,例如0xA。
- 二进制:前缀
- 字面量后缀:
long类型:建议加L(大写,避免与数字 1 混淆),例如10000000000L。float类型:必须加F,例如3.14F。
- 布尔类型:Java 中是
boolean,取值true/false(不是bool)。 - 类型转换:
- 不同类型数据运算时,会自动提升为范围更大的类型(小 → 大)。
byte、short、char参与运算时,会先提升为int。
- 小数精度问题:
float和double采用 IEEE 754 浮点数标准,某些小数(如0.1)无法精确表示,因此金融计算建议使用BigDecimal。
十七、运算符与表达式
- 自增/自减:
a++:先用后加(先取值,再 +1)。++a:先加后用(先 +1,再取值)。
- 字符串拼接:
- 表达式从左到右计算,遇到第一个字符串后,后续所有
+都变为字符串拼接。 - 示例:
System.out.println(1+2+"3");// 输出 "33"(先算 1+2=3,再拼接 "3")System.out.println("1"+2+3);// 输出 "123"(从 "1" 开始全部拼接)
- 表达式从左到右计算,遇到第一个字符串后,后续所有
十八、计算机基础
- 电平表示:物理上,TTL 电平常以3.3V 以上为高电平(1),低于 3.3V 为低电平(0)。
- 像素与分辨率:
- 像素是图像显示的最小单位。
- 分辨率 = 水平像素数 × 垂直像素数(如 1920×1080)。
- 一个像素点通常由RGB(红绿蓝)三个子像素组成。
十九、编码与补码
- 原码:最高位为符号位,其余为数值位。
- 反码:正数同原码;负数符号位不变,其余位取反。引入反码是为了简化负数运算。
- 补码:正数同原码;负数为反码 +1。引入补码是为了解决反码中
+0和-0有两个表示的问题,使加减法统一。
二十、类与包
- 每个类都属于一个包,使用
import导入后可直接使用该类。 - 相同包下的类无需导入,可直接访问(默认访问权限允许时)。
二十一、类分类
- JavaBean 类:不含
main方法,主要用于封装数据(POJO)。 - 测试类:包含
main方法,用于测试其他类的功能。
二十二、构造方法
- 如果类中定义了有参构造方法,编译器不再提供默认无参构造。
- 建议:若写了有参构造,最好同时显式提供一个无参构造,避免反射、序列化等场景出错。
- IDEA 生成构造方法快捷键:
Alt + Insert(Windows/Linux)Alt + Fn + Insert(部分笔记本)
常见问题示例
// 示例 1:字符串拼接与加法优先级Log.i(TAG,"buffer size is: "+byteArray.length+12);// 输出:"buffer size is: 512"(假设 length=500)// 过程:先拼接 "buffer size is: 500",再拼接 "12" → "buffer size is: 50012"Log.i(TAG,"buffer size is: "+(byteArray.length+12));// 输出:"buffer size is: 512"// 过程:先计算 500+12=512,再与字符串拼接关键点:括号可以改变运算顺序,确保数值计算在拼接前完成。
