Java入门

目录

[一、Java 基础认知:是什么?能做什么?](#一、Java 基础认知:是什么?能做什么?)

[1.1 Java 的本质:不只是一门语言](#1.1 Java 的本质:不只是一门语言)

[1.2 Java 的两大核心版本](#1.2 Java 的两大核心版本)

[1.3 Java 的就业方向:覆盖多领域开发](#1.3 Java 的就业方向:覆盖多领域开发)

[1.4 Java 的核心特性:为何能经久不衰?](#1.4 Java 的核心特性:为何能经久不衰?)

[1.5 Java 的发展简史:从橡树到全球主流](#1.5 Java 的发展简史:从橡树到全球主流)

[二、Java 第一个程序:解锁 main 方法,跑通 HelloWorld](#二、Java 第一个程序:解锁 main 方法,跑通 HelloWorld)

[2.1 第一个 Java 程序:HelloWorld 代码实现](#2.1 第一个 Java 程序:HelloWorld 代码实现)

[2.2 程序核心规则:这些要求必须遵守](#2.2 程序核心规则:这些要求必须遵守)

[2.3 运行 Java 程序:编译 + 运行两步走](#2.3 运行 Java 程序:编译 + 运行两步走)

[步骤 1:编译源文件](#步骤 1:编译源文件)

[步骤 2:运行字节码文件](#步骤 2:运行字节码文件)

[2.4 高频问题:JDK、JRE、JVM 的关系](#2.4 高频问题:JDK、JRE、JVM 的关系)

[2.5 入门避坑:这些错误新手最易犯](#2.5 入门避坑:这些错误新手最易犯)

[三、Java 基础语法:注释、标识符、关键字](#三、Java 基础语法:注释、标识符、关键字)

[3.1 注释:代码的 "说明书",不参与编译运行](#3.1 注释:代码的 “说明书”,不参与编译运行)

文档注释实用技巧

注释编写规范

[3.2 标识符:程序员自定义的 "名字"](#3.2 标识符:程序员自定义的 “名字”)

硬性规则(必须遵守,否则编译报错)

软性规范(行业通用,建议遵循)

[3.3 关键字:Java 提前定义的 "保留字"](#3.3 关键字:Java 提前定义的 “保留字”)

[四、Java 数据类型与变量:程序的 "数据容器"](#四、Java 数据类型与变量:程序的 “数据容器”)

[4.1 字面常量:程序中固定不变的量](#4.1 字面常量:程序中固定不变的量)

[4.2 数据类型:Java 的 "数据分类标准"](#4.2 数据类型:Java 的 “数据分类标准”)

基本数据类型核心注意点

[4.3 变量:存储可变数据的 "容器"](#4.3 变量:存储可变数据的 “容器”)

变量的基本语法

变量的核心使用规则

各类型变量的使用细节

[4.4 类型转换:不同数据类型的 "互通规则"](#4.4 类型转换:不同数据类型的 “互通规则”)

自动类型转换(隐式)

强制类型转换(显式)

类型转换的注意事项

[4.5 类型提升:不同类型运算的 "统一规则"](#4.5 类型提升:不同类型运算的 “统一规则”)

类型提升的两种核心场景

[4.6 字符串类型:特殊的引用类型](#4.6 字符串类型:特殊的引用类型)

字符串的基本使用

字符串与整型的相互转换

五、入门总结与学习建议


作为一门风靡全球的编程语言,Java 凭借跨平台、面向对象、安全性高等特性,在企业级开发、大数据、Android 开发等领域占据着不可替代的地位。对于编程新手来说,Java 是入门的优质选择 ------ 语法规范、生态完善,学会后能快速对接各类开发岗位。本文将从 Java 基础概念、程序入口到数据类型与变量,手把手带大家走进 Java 的世界。

一、Java 基础认知:是什么?能做什么?

1.1 Java 的本质:不只是一门语言

Java 不仅是拥有优美语法和清晰语义的程序设计语言,更是一套包含软件和规范的完整技术体系,能为软件开发和跨平台部署提供全方位支持,广泛应用于嵌入式系统、移动终端、企业服务器、大型机等场景。

1.2 Java 的两大核心版本

Java 的应用场景不同,对应不同的版本体系,核心分为 JavaSE 和 JavaEE,二者的定位和用途差异显著:

特性 JavaSE(标准版) JavaEE(企业版)
核心定位 Java 基础平台 JavaSE 的扩展版本
主要用途 桌面应用、简单服务器程序 大型分布式企业应用、Web 应用
核心内容 核心语言特性、基础 API(I/O、网络、GUI) 企业级 API(Servlet、JSP 等)
运行环境 标准 JVM 专用应用服务器
目标用户 通用 Java 开发者 企业级应用开发者

重要提示:我们熟知的 Spring、SpringBoot 等框架,本质上是 JavaEE 的补充和扩展,想要学习主流框架,必须先夯实 JavaSE 基础。

1.3 Java 的就业方向:覆盖多领域开发

掌握 Java 后,就业选择十分广泛,核心应用领域包括:

  • 企业级系统:金融、电信、电商、ERP 等大型分布式系统,依托 Java 的安全机制和跨平台性;
  • Web 开发:大型互联网平台的核心解决方案,凭借稳定的性能和良好的扩展性;
  • Android 开发:Android SDK 基于 Java 开发,有 Java 基础可快速上手安卓应用开发;
  • 大数据开发:Hadoop、Spark、Flink 等主流大数据框架均由 Java 开发,是大数据工程师的必备技能;
  • 此外,Java 在游戏、人工智能、科学计算、嵌入式领域也有广泛应用。

1.4 Java 的核心特性:为何能经久不衰?

Java 的核心特性均来自 Java 白皮书,也是其能适应不同开发场景的关键,核心亮点包括:

  1. 简单性:基于 C++ 做 "减法",去掉指针、操作符重载等复杂特性,开发环境更友好;
  2. 面向对象:一切皆对象,通过对象交互完成业务逻辑,以接口替代 C++ 的多重继承,更易实现;
  3. 跨平台性 :核心口号Write once, Run anywhere,编译生成与平台无关的字节码,通过 JVM 解析运行;
  4. 健壮性 + 安全性:消除指针内存问题,编译器提前检测错误,能防范堆栈溢出、未授权文件读写等攻击;
  5. 多线程:原生支持并发编程,能更好地实现交互响应和实时行为,适配高并发场景;
  6. 高性能:通过 JIT 即时编译器、热点代码探测等优化,运行效率媲美 C/C++。

1.5 Java 的发展简史:从橡树到全球主流

Java 诞生于 1991 年 Sun 公司的绿色计划 ,最初命名为 Oak(橡树),目标是开发消费性电子产品的程序架构,后因市场需求不足搁置;1995 年互联网兴起,Sun 公司改造 Oak 并以 Java 正式发布,凭借跨平台特性迅速走红;如今 Java 由 Oracle 维护,最新版本可通过Oracle 官方网站查询。

二、Java 第一个程序:解锁 main 方法,跑通 HelloWorld

想要入门编程,第一步必然是写一个简单的程序并成功运行,Java 的入门程序就是经典的 HelloWorld,通过它我们能掌握 Java 程序的基本结构和运行流程。

2.1 第一个 Java 程序:HelloWorld 代码实现

java 复制代码
/**
 * 文档注释:入门第一个Java程序
 * @author 初学者
 * @version v1.0.0
 */
public class HelloWorld {
    /*
     * 多行注释:main方法是Java程序的入口方法,格式固定
     */
    public static void main(String[] args) {
        // 单行注释:向控制台输出HelloWorld
        System.out.println("Hello, World!");
    }
}

这是 Java 最基础的程序,看似简单,却包含了 Java 程序的核心结构,记住一个关键原则:类存在于源文件中,方法存在于类中,语句存在于方法中

2.2 程序核心规则:这些要求必须遵守

  1. 源文件后缀必须为.java
  2. 一个源文件中只能有一个 public 修饰的类,且源文件名必须与 public 类名完全一致(包括大小写);
  3. main 方法是 Java 程序的唯一入口 ,格式固定:public static void main(String[] args),缺一不可;
  4. 方法中的语句必须以分号结尾,且必须是英文分号,中文分号会编译报错。

2.3 运行 Java 程序:编译 + 运行两步走

Java 是半编译、半解释型语言,运行程序需经过 "编译生成字节码" 和 "JVM 解释运行" 两个步骤,核心依赖 JDK(Java 开发工具包),需提前安装并配置环境。

步骤 1:编译源文件

使用javac命令将.java源文件编译为 JVM 可识别的.class字节码文件,命令如下:

复制代码
javac HelloWorld.java

执行成功后,当前目录会生成HelloWorld.class文件。

步骤 2:运行字节码文件

使用java命令启动 JVM,运行编译后的.class文件,注意不加.class 后缀,命令如下:

复制代码
java HelloWorld

执行成功后,控制台会输出Hello, World!,代表第一个 Java 程序运行成功。

2.4 高频问题:JDK、JRE、JVM 的关系

这是 Java 入门的经典面试题,三者是包含关系,核心作用各有不同:

  • JVM(Java 虚拟机):Java 的核心跨平台载体,负责将字节码转换为平台可识别的指令并运行;
  • JRE(Java 运行时环境):运行 Java 程序的最小环境,包含 JVM 和 Java 基础类库;
  • JDK(Java 开发工具包):面向开发者的完整工具包,包含 JRE,还提供编译器(javac)、调试工具(jconsole、jstack)等。

简单总结:开发 Java 程序需要安装 JDK,仅运行 Java 程序可安装 JRE;JVM 是跨平台的核心,JDK 是开发的基础。

2.5 入门避坑:这些错误新手最易犯

  1. 源文件名后缀写成.jav或其他,忘记.java
  2. 源文件名与 public 类名不一致,比如文件名为helloworld.java,类名为HelloWorld
  3. main 方法拼写错误,比如写成mian
  4. 语句结尾漏写分号,或使用中文分号;
  5. JDK 环境未配置,操作系统无法识别javac/java命令;
  6. 类名、方法名命名不规范,导致代码可读性差。

三、Java 基础语法:注释、标识符、关键字

写出可运行的程序只是基础,写出易读、易维护、符合规范的代码才是关键,这就需要掌握注释、标识符、关键字的基本规则。

3.1 注释:代码的 "说明书",不参与编译运行

注释是对代码的解释和说明,目的是让自己和他人能快速理解代码含义,Java 中的注释不参与编译,不会生成到.class文件中,核心分为三种:

注释类型 语法格式 适用场景 特点
单行注释 // 注释内容 单行代码说明、临时注释 最常用,简洁高效
多行注释 /* 注释内容 */ 多行代码块说明 不可嵌套使用
文档注释 /** 注释内容 */ 类、方法、接口的详细说明 可被 javadoc 工具解析,生成网页版 API 文档
文档注释实用技巧

使用javadoc命令可将文档注释生成标准化 API 文档,命令示例:

复制代码
javadoc -d myDoc -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
  • -d myDoc:指定生成的文档目录为 myDoc;
  • -author:显示作者信息;
  • -version:显示版本信息;
  • -encoding UTF-8 -charset UTF-8:解决中文乱码问题。
注释编写规范
  1. 内容准确:注释必须与代码一致,代码修改后及时更新注释;
  2. 篇幅合理:简洁明了,不啰嗦,也不敷衍;
  3. 语言规范:国内开发建议使用中文,外企可使用英文;
  4. 内容积极:避免在注释中写入负能量、辱骂性内容。

3.2 标识符:程序员自定义的 "名字"

在 Java 中,程序员为类、方法、变量 取的名字统称为标识符,比如 HelloWorld(类名)、main(方法名)、a(变量名),标识符的规则分为硬性规则软性规范,硬性规则必须遵守,软性规范建议遵循,保证代码可读性。

硬性规则(必须遵守,否则编译报错)
  1. 可包含:字母、数字、下划线(_)、$ 符号;
  2. 不可以数字开头;
  3. 不可是 Java 关键字;
  4. 严格区分大小写(比如Personperson是两个不同的标识符)。
软性规范(行业通用,建议遵循)
  1. 类名:大驼峰命名法,每个单词首字母大写,比如HelloWorldUserInfo
  2. 方法名 / 变量名:小驼峰命名法,首字母小写,后续单词首字母大写,比如getUserNamestudentAge
  3. 常量名:全大写,单词之间用下划线分隔,比如MAX_NUMARRAY_SIZE
  4. 命名见名知意:避免使用abc等无意义的名字,比如用studentAge代替sa

3.3 关键字:Java 提前定义的 "保留字"

关键字是 Java 语言提前定义、具有特殊含义 的标识符,比如publicclassstaticint等,在编译器中会显示特殊颜色,程序员不能使用关键字作为标识符

Java 的关键字有很多,入门阶段先认识常用的即可,分类举例:

  • 访问权限修饰符:privateprotectedpublic
  • 类 / 方法修饰符:classstaticfinalabstract
  • 数据类型:intlongdoublecharboolean
  • 流程控制:ifelseforwhile(后续会学);
  • 其他核心:newthistrycatchpackageimport

四、Java 数据类型与变量:程序的 "数据容器"

程序的本质是处理数据,而数据类型和变量是 Java 处理数据的基础 ------ 数据类型规定了数据的存储格式和范围,变量则是存储数据的 "容器"。

4.1 字面常量:程序中固定不变的量

常量是程序运行期间值始终不变 的量,比如数字 100、小数 3.14、字符串 "Hello",这类直接写在程序中的常量称为字面常量,Java 的字面常量分为 6 类:

  1. 字符串常量 :用双引号括起来,比如"Java""123""你好"
  2. 整型常量 :无小数点的数字,比如1000-50
  3. 浮点型常量 :带小数点的数字,比如3.140.5-2.0
  4. 字符常量 :用单引号括起来的单个字符,比如'A''1''中'
  5. 布尔常量 :只有两个值,true(真)和false(假);
  6. 空常量null,表示空值(后续讲解)。

示例代码

java 复制代码
public class Demo {
    public static void main(String[] args) {
        System.out.println("字符串常量"); // 字符串常量
        System.out.println(100); // 整型常量
        System.out.println(3.14); // 浮点型常量
        System.out.println('A'); // 字符常量
        System.out.println(true); // 布尔常量
    }
}

4.2 数据类型:Java 的 "数据分类标准"

Java 是强类型编程语言 ,每个变量都必须指定数据类型,数据类型分为两大类:基本数据类型引用数据类型,入门阶段重点掌握基本数据类型。

基本数据类型是 Java 内置的基础类型,分为四类八种,内存占用和取值范围固定,与操作系统无关,核心信息如下:

数据类别 数据类型 关键字 内存占用 取值范围 包装类型
整型 字节型 byte 1 字节 -128 ~ 127 Byte
整型 短整型 short 2 字节 -32768 ~ 32767 Short
整型 整型 int 4 字节 -2^31 ~ 2^31-1 Integer
整型 长整型 long 8 字节 -2^63 ~ 2^63-1 Long
浮点型 单精度浮点型 float 4 字节 约 ±3.4×10^38 Float
浮点型 双精度浮点型 double 8 字节 约 ±1.8×10^308 Double
字符型 字符型 char 2 字节 0 ~ 65535 Character
布尔型 布尔型 boolean 未明确规定 true / false Boolean
基本数据类型核心注意点
  1. 整型默认是int,浮点型默认是double
  2. 所有整型和浮点型都是带符号的,可表示正数和负数;
  3. char类型采用 Unicode 编码,可存储中文,占 2 个字节;
  4. boolean类型不能与 int 相互转换,不存在 "1 表示 true,0 表示 false" 的用法;
  5. 包装类型是基本数据类型的 "对象形式",后续集合框架中会大量使用。

4.3 变量:存储可变数据的 "容器"

变量是程序运行期间值可以改变的量,是存储数据的基本单元,定义变量的核心是 "指定数据类型 + 自定义变量名 + 赋值",语法格式固定。

变量的基本语法
java 复制代码
// 完整格式:数据类型 变量名 = 初始值;
int age = 18;
double score = 95.5;
char gender = '男';
boolean isStudent = true;

// 一行定义多个同类型变量(不推荐,降低可读性)
int a = 1, b = 2, c = 3;

// 先定义后赋值(使用前必须赋值,否则编译报错)
int num;
num = 100;
变量的核心使用规则
  1. 变量必须先定义、后赋值、再使用;
  2. 变量的值可以修改,赋值使用=号(=表示 "赋值",而非 "等于");
  3. 变量的取值不能超过其数据类型的范围,否则会编译报错(比如 int 型变量不能赋值 10000000000);
  4. 变量有作用域(后续讲解),在指定范围内有效。
各类型变量的使用细节
  1. 长整型变量 :赋值时建议在数字后加L(大写),区分 int,比如long num = 100L
  2. 浮点型变量 :单精度 float 赋值时需加F,比如float f = 3.14F;工程开发中优先使用 double,精度更高;
  3. 字符型变量 :单引号只能包单个字符,比如char c = '中'合法,char c = '中国'非法;
  4. 布尔型变量:只有 true 和 false 两个值,不能赋值其他数字或字符。

4.4 类型转换:不同数据类型的 "互通规则"

Java 中不同数据类型的变量相互赋值或运算时,需要进行类型转换 ,分为自动类型转换(隐式)强制类型转换(显式),核心原则是 "数据范围的大小转换"。

自动类型转换(隐式)

特点 :数据范围小→大 ,编译器自动完成,无需手动处理,是安全的转换。示例

java 复制代码
int a = 10;
long b = a; // int(4字节)自动转换为long(8字节)
float f = 3.14F;
double d = f; // float(4字节)自动转换为double(8字节)
强制类型转换(显式)

特点 :数据范围大→小 ,编译器无法自动完成,需要手动加(数据类型)强制转换,可能导致精度丢失或数据溢出示例

java 复制代码
long a = 100L;
int b = (int)a; // long→int,强制转换
double d = 3.14;
float f = (float)d; // double→float,强制转换
byte c = (byte)257; // 257超过byte范围,强制转换后会溢出
类型转换的注意事项
  1. 自动转换是安全的,强制转换可能丢失精度或溢出,需谨慎使用;
  2. 字面值常量赋值时,Java 会自动检查范围,比如byte b = 100(100 在 byte 范围内,自动转换);
  3. 不相干的类型不能转换,比如int不能转换为booleanchar不能转换为double(无意义)。

4.5 类型提升:不同类型运算的 "统一规则"

不同数据类型的变量相互运算时,范围小的类型会自动提升为范围大的类型,再进行运算,核心目的是保证运算精度,这是新手容易踩坑的点。

类型提升的两种核心场景
  1. int 与 long 运算 :int 自动提升为 long,结果为 long;

    java 复制代码
    int a = 10;
    long b = 20;
    long c = a + b; // 正确:int→long,结果为long
    // int d = a + b; // 错误:long不能赋值给int
  2. byte/short 与任何类型运算 :byte/short 先提升为 int,再进行运算;

    java 复制代码
    byte a = 10;
    byte b = 20;
    // byte c = a + b; // 错误:byte→int,结果为int
    byte c = (byte)(a + b); // 正确:强制转换为byte

核心原因:计算机 CPU 通常以 4 个字节为单位读写数据,byte/short(小于 4 字节)提升为 int,能提升运算效率。

4.6 字符串类型:特殊的引用类型

字符串是编程中最常用的类型之一,在 Java 中字符串属于引用数据类型 ,用String类定义,双引号括起来,入门阶段掌握基本使用和与整型的转换即可。

字符串的基本使用
java 复制代码
public class StringDemo {
    public static void main(String[] args) {
        String s1 = "Hello";
        String s2 = "Java";
        System.out.println(s1); // 输出Hello
        System.out.println(s1 + s2); // 字符串拼接,输出HelloJava
        System.out.println(s1 + 100); // 与数字拼接,输出Hello100
    }
}

关键特性+号对字符串来说是拼接操作,不是加法运算,任何类型与字符串拼接,结果都是字符串。

字符串与整型的相互转换

开发中经常需要将字符串和数字相互转换,核心使用以下方法:

  1. int → String :两种常用方法,简单高效

    javascript 复制代码
    int num = 100;
    String str1 = num + ""; // 方法1:与空字符串拼接(最常用)
    String str2 = String.valueOf(num); // 方法2:使用String类的valueOf方法
  2. String → int :使用 Integer 类的 parseInt 方法

    java 复制代码
    String str = "100";
    int num = Integer.parseInt(str);

注意 :字符串转 int 时,字符串必须是纯数字,否则会抛出异常(比如"100a"无法转换为 int)。

五、入门总结与学习建议

Java 入门的核心是夯实基础,本文从 Java 的基础概念、第一个程序,到语法规范、数据类型与变量,覆盖了 Java 入门的所有核心知识点,想要真正掌握,关键在于多敲代码、多试错

  1. 跑通所有示例:把本文中的 HelloWorld、变量定义、类型转换等代码全部手动敲一遍,确保能成功运行,理解每一行代码的含义;
  2. 刻意避坑:针对新手易犯的错误(比如分号、类名、数据范围),刻意练习,形成规范的编码习惯;
  3. 注重规范:从入门开始就遵循命名规范、注释规范,写出的代码不仅要能运行,还要易读、易维护;
  4. 循序渐进:Java 的学习是一个循序渐进的过程,掌握基础后,后续会学习流程控制、面向对象、集合框架等内容,一步一个脚印。

Java 作为一门经典的编程语言,基础越扎实,后续的学习就越轻松。希望本文能帮助零基础的小伙伴快速入门 Java,迈出编程之路的第一步!

相关推荐
小曹要微笑2 小时前
C#中什么是类
开发语言·c#·面向对象·
星辰_mya2 小时前
ThreadLocal 与内存泄漏
java·开发语言
Data_Journal2 小时前
如何将网站数据抓取到 Excel:一步步指南
大数据·开发语言·数据库·人工智能·php
wuxinyan1232 小时前
Java面试题42:一文深入了解AI Coding 工具
java·人工智能·面试题·ai coding
米码收割机2 小时前
【AI】OpenClaw问题排查
开发语言·数据库·c++·python
¿i?2 小时前
LinkedList 含iterator写法的理解
java·开发语言
所谓伊人,在水一方3332 小时前
【Python数据科学实战之路】第10章 | 机器学习基础:从理论到实践的完整入门
开发语言·人工智能·python·机器学习·matplotlib
无风听海2 小时前
Python之TypeVar深入解析
开发语言·python·typevar
李白的粉2 小时前
基于springboot的来访管理系统
java·spring boot·毕业设计·课程设计·源代码·来访管理系统