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 被称为“混合型”语言,结合了编译和解释的特点:
    1. 编译.java.class(字节码,与平台无关)。
    2. 解释:JVM 加载.class并解释执行(或 JIT 编译为本地代码)。
  • JVM(Java Virtual Machine)是跨平台的核心,不同操作系统有对应的 JVM 实现。

九、常用 Java 开发的软件

  • 开发工具:IntelliJ IDEA、Eclipse、Android Studio
  • 大数据:Hadoop、Spark、Flink
  • 科学计算:MATLAB(部分模块)
  • 移动端:Android 应用

十、其他开发工具

  • JDB:Java Debugger,命令行调试工具。
  • JHT(可能指 JHT 或相关工具):内存分析、堆转储分析工具。

十一、基础语法要点

  • 关键字:全部小写,如publicclassstatic。IDE 会自动高亮显示。
  • 类与文件:一个.java文件中只能有一个public class,且该类名必须与文件名一致。
  • 基本单元class是 Java 程序的基本组成单元。
  • 空类型null表示空引用,不能直接打印。打印时需要转换为字符串"null"
  • 转义字符\t是制表符,其作用是将前面的字符长度补齐到 8 或 8 的整数倍,最少补 1 个空格,最多补 8 个空格。

十二、命名规范

  • 小驼峰(变量、方法名):第一个单词全小写,后续单词首字母大写,例如:getUserNamestudentCount
  • 大驼峰(类名、接口名):每个单词首字母大写,例如:UserServiceStudentController

十三、项目结构

  • Java 项目层级:ProjectModulePackageClass
  • 在 IDEA 中创建项目:New ProjectEmpty ProjectProject StructureNew 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)。
  • 类型转换
    • 不同类型数据运算时,会自动提升为范围更大的类型(小 → 大)。
    • byteshortchar参与运算时,会先提升为int
  • 小数精度问题floatdouble采用 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,再与字符串拼接

关键点:括号可以改变运算顺序,确保数值计算在拼接前完成。