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

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,再与字符串拼接

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

http://www.jsqmd.com/news/1302100/

相关文章:

  • rhino3dm与OpenNURBS:深入理解3D几何数据结构
  • 可灵时长限制背后的GPU资源调度算法(附NVIDIA A100显存占用热力图与调度日志样本)
  • 2023年最值得尝试的语音转换工具:FreeVC零基础入门指南
  • Laundry Bear 组织 Zimbra 零点击漏洞攻击机理与全域防御体系研究
  • awk日志处理从入门到精通:列提取/统计/报表生成
  • 深度解析 FlashAttention-3:榨干 H100 算力的注意力机制终极优化
  • CnOpenData 上市公司公众号信息表
  • 2026宠物长途托运与外出就医如何预防应激?防应激就选绿美笛 - 优企甄选
  • 为什么你的Embedding总在掉分?:从tokenization到归一化,5步精准诊断向量失真根源
  • 从七月的双重视角看 AI 与玄学:理性与直觉的年度共舞
  • typst.app上使用chicv的终极攻略:无需安装,在线编辑专业简历
  • AI 时代的工程师素养:不是会用模型,是能把模型管好
  • 【单片机课设毕设项目】基于 STM32F103 的多按键水压调控监测系统 基于单片机的民用供水水压智能检测设备(015401)
  • nVisual 二次开发:URL 参数体系与深链跳转
  • Java8新特性(详细版)
  • 亚马逊ERP哪个最好用?从功能、稳定性、价格三维度分析
  • 实用笔记:成都线下黄金回收甄别方法,安心出手不被套路 - 日常比对手册
  • Android 集成 OpenCV 4.10.0:从依赖配置到基础使用
  • AI强化学习入门必读(90%新手忽略的4个数学底层陷阱)
  • AI推理路线图趋势——2025下半年投机采样与MoE推理的技术演进
  • B站尚硅谷张天禹老师课程配套笔记下载
  • 2026年最新勾花网/市政护栏/基坑护栏生产厂家核心竞争力解构 - 雷隆丝网值得关注 - 比奇堡111
  • 2026年精品礼盒产业链发展研究白皮书 嘉兴市新时代包装彩印有限公司 - 招财兔数字员工
  • ADAS方案设计-CAN网络管理与休眠唤醒机制
  • 【单片机课程设计/毕业设计】基于 STM32 的昼夜差异化出租车计价装置实现 基于 OLED 显示的车载速度里程计费终端设计(014101)
  • 13:分段函数
  • 7 月技术写作回顾:写了 310 篇文章,最重要的 10 个结论
  • 2026年秦皇岛迪奥包包回收指南:(185-3117-2838)海港区民族路94号赵掌柜二奢实体店一站式变现服务 - 赵掌柜二奢
  • 全自动焊线设备工艺参数对焊接品质的影响:从理论到实践的几点认识
  • 【问题】pg数据库在指定的schema中执行sql脚本