JavaSE 基础语法 - 初始 Java
一、Java是什么?
Java 是一门面向对象的、跨平台的高级编程语言,由 Sun Microsystems 公司(后被 Oracle 收购)于 1995 年推出,设计初衷是 “Write Once, Run Anywhere(一次编写,到处运行)”。
- 语言层面:Java 有自己的语法规则、关键字、数据类型,和我们日常说的中文 / 英文一样,是程序员和计算机沟通的“语言”,能让计算机理解并执行我们的指令;
- 技术体系层面:Java 不只是 “一门语言”,更是一套完整的技术生态 —— 包含 JDK(开发工具包)、JVM(虚拟机)、大量的库(如处理字符串、文件、网络的工具),能支撑从简单小程序到大型企业系统的开发。
💡可以把它理解成和电脑沟通的 “语言”—— 你用 Java 写好指令,电脑就能按你的要求做事。它最核心的特点就一个:写一次,能在不同设备 / 系统上跑。比如你用 Java 写了一个小程序,既可以在 Windows 电脑上运行,也能在 Linux 服务器、手机上运行,不用为不同设备重新写代码。
二、为什么选择学习 Java?
2.1 Java 的普及度与使用规模
Java 是全球使用最广泛的编程语言之一,其普及程度和应用规模远超多数编程语言:
- 市场占比:据 TIOBE、Stack Overflow 等权威机构统计,Java 常年稳居编程语言排行榜前 3,在企业级开发领域占比超过 60%;
- 开发者规模:全球有超过 900 万 Java 开发者,是开发者社区最庞大的编程语言之一,遇到问题能快速找到解决方案和技术支持;
- 企业应用规模:全球财富 500 强企业中,90% 以上的公司使用 Java 开发核心业务系统(如银行的交易系统、电商的订单系统、政务的审批系统);
- 存量系统:过去多年积累的海量 Java 项目,意味着市场对 Java 开发者的需求是 “刚需且稳定”,不会轻易被替代。
下图数据来自于TIOBE编程语言社区最新的排行榜。
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo、Wikipedia、YouTube 以及 Baidu 等)进行计算。
💡注意:上述排名不能说明哪个语言好,哪个语言不好,每门编程语言都有适应自己的应用场景。
2.2 Java 的核心特性
- 跨平台(一次编译,到处运行):这是 Java 最核心的优势。写好的 Java 代码编译后生成.class 文件,能在任何安装了 JVM(Java 虚拟机)的系统(Windows、Mac、Linux)上运行,无需针对不同系统修改代码。
- 面向对象:Java 是纯面向对象的语言,符合人类的思维习惯(比如把 “学生” 抽象成 “类”,把 “张三” 抽象成 “对象”),便于开发大型、复杂的项目。
- 安全稳定:Java 内置了安全机制(如自动内存管理、异常处理),能避免内存溢出、非法访问等问题。
- 生态完善:经过多年的发展,Java 拥有丰富的类库、框架(Spring、MyBatis 等)和社区支持,遇到问题能快速找到解决的办法。
2.3 Java 的应用场景
- 后端开发:电商、金融、政务系统的服务器端开发(占比最高);
- 移动开发:早期 Android 应用主要基于 Java 开发;
- 大数据开发:Hadoop、Spark 等大数据框架核心是 Java 编写;
- 嵌入式开发:智能家居、工业设备等场景。
2.4 Java SE/EE/ME 的区别
- Java SE(Standard Edition):标准版,是 Java 的核心基础,包含语法、数据结构、IO、多线程等核心内容,是学习 Java EE/ME 的前提;
- Java EE(Enterprise Edition):企业版,基于 SE 扩展,用于开发大型企业级应用(如 Spring Boot 就属于 EE 生态);
- Java ME(Micro Edition):微型版,用于嵌入式 / 移动设备开发,现在使用较少。
💡简单来说就是:Java岗位多、需求大、好找工作,技术成熟不容易过时,学会之后可以拿它做网站、后端和大数据等等。
三、开发环境搭建
3.1 开发环境简介
- JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器Javac与自带的调试工具Jconsole、jstack等。
- RE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
- JVM:Java虚拟机,运行Java代码
3.2 开发环境安装
安装教程可参考:
Windows版本:可能是Widows下最简单的Java环境安装教程
Linux版本:Linux下的JDK安装教程
Mac版本:Mac下的JDK安装教程
四、第一个 Java 程序:Hello World
4.1 Java 的main方法的示例
// 定义一个公共类,类名必须和文件名一致(HelloWorld.java)publicclassHelloWorld{// main 方法:Java 程序的入口点,程序从这里开始运行publicstaticvoidmain(String[]args){// 控制台输出语句:打印输出 Hello World 字符串System.out.println("Hello World");}}如上展示的就是最简单的一个Java程序,可以说,Java的main方法应该是当前主流编程语言中最“长”的。通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
- 源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个 类。类的内容必须包含在花括号里面。
- 类:类中带有一个或多个方法。方法必须在类的内部声明。
- 方法:在方法的花括号中编写方法应该执行的语句。
💡简单总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。
4.2 运行Java程序
Java是一门半编译型、半解释型语言。先通过Javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的与平台无关、面向JVM的文件。最后启动Java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
- 使用记事本或者IDEA(集成开发环境)编写Java源程序
- 使用javac.exe编译器编译Java源程序,生成xxx.class字节码文件,编译命令:javac xxx.java
- 使用java运行xxx.class字节码文件,运行命令:java xxx
💡注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。
第一步:安装好JDK后,首先先创建好一个txt文件,在此文件中编写好程序后保存退出,然后修改文件名和后缀名为HelloWorld.java;
第二步:在命令行窗口中,使用javac命令,对源程序进行编译,编译后生成HelloWorld.class字节码文件;
第三步:在命令行窗口中,使用java命令,运行程序;
💡IDEA的下载、安装和使用教程可参考:IDEA下载、安装和使用教程(图解,非常详细)
五、基础语法规范:注释、标识符、关键字
5.1 注释
注释是为了让代码更容易被读懂而附加的描述信息,不参与编译运行,但是却非常重要。要记住! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的。
Java中的注释主要分为以下三种:
- 单行注释:// 注释内容(用的最多)
- 多行注释:/* 注释内容*/(不推荐)
- 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
💡注意:
1.多行注释不能嵌套使用
2.不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。
// 1. 单行注释:以//开头,注释一行内容/* 2. 多行注释:以/*开头,*/结尾, 可以注释多行内容, 常用于注释一段代码或功能说明*//** * 3. 文档注释:以/**开头,*/结尾,*可用于生成API文档,*常用在类、方法上方说明功能*@author作者名*@version版本号*/publicclassTest{publicstaticvoidmain(String[]args){inta=10;// 单行注释:定义变量a,值为10System.out.println(a);}}💡注释规范:
1.内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新
2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论
3.使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论
4.积极向上: 注释中不要包含负能量(例如:骂人的话等)
5.2 标识符
标识符是程序员自定义的名称,用于给类、变量、方法等命名,Java 对标识符有严格规则。如上面的Hello World程序中,HelloWorld称为类名,main成为方法名,也可以将其称为标识符。
合法规则:
- 由字母(A-Z/a-z)、数字(0-9)、下划线(_)、美元符号($)组成;
- 不能以数字开头;
- 不能是 Java 关键字;
- 区分大小写(如age和Age是两个不同的标识符)。
命名规则:
- 类名:每个单词的首字母大写(大驼峰)
- 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
- 变量名:与方法名规则相同
// 合法标识符publicclassTest{publicstaticvoidmain(String[]args){intage=18;// 合法:字母开头,小写int_age2=20;// 合法:下划线开头,包含数字int$salary=5000;// 合法:$开头// int 2age = 22; // 非法:数字开头// int class = 1; // 非法:class是关键字}}5.3 关键字
通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
💡注意:用户不能使用关键字定义标识符。
在Java中关键字有很多,这里给大家列出来比较常用的了解一下。
/** * 一、访问权限修饰符 * public:公共权限,所有类可访问,定义公开的类/方法/变量 * private:私有权限,仅当前类可访问,常用于封装数据 * protected:受保护权限,同包+子类可访问,用于父子类共享数据 *//** * 二、类/方法/变量修饰符 * static:静态修饰符,修饰的成员属于类,可直接通过类名调用 * final:常量修饰符,修饰变量为常量、方法不可重写、类不可继承 * abstract:抽象修饰符,修饰抽象类/抽象方法,用于规范子类行为 *//** * 三、类与接口核心关键字 * class:定义普通类,Java面向对象的基础 * interface:定义接口,规范类的行为,支持多实现 * extends:实现类的单继承,复用父类代码 * implements:类实现接口,满足多态设计 * package:声明类所属包,必须在文件首行 * import:导入其他包的类,简化代码书写 *//** * 四、对象与实例关键字 * new:创建对象实例,调用构造方法分配内存 * this:指代当前对象,区分成员变量和局部变量 * super:指代父类对象,调用父类构造/方法/变量 * instanceof:判断对象所属类型,避免类型转换异常 *//** * 五、流程控制关键字 * if:单分支条件判断 * else:if条件不满足时执行 * else if:多分支条件判断 * switch:多值匹配分支结构 * case:switch内的具体分支项 * default:switch的默认分支 * for:已知循环次数的循环(含增强for) * while:先判断后执行的循环 * do:配合while组成do-while循环(先执行后判断) * break:跳出当前循环/switch * continue:跳过本次循环,进入下一次 * return:结束方法执行,可返回指定值 *//** * 六、异常处理关键字 * try:包裹可能抛异常的代码,监控异常 * catch:捕获指定类型异常并处理 * finally:无论是否异常都执行,常用于释放资源 * throw:手动抛出具体异常对象 * throws:声明方法可能抛出的异常,交给调用者处理 *//** * 七、基础数据类型关键字 * int:整型,默认整数类型,日常数值计算首选 * double:浮点型,默认小数类型,适用于精度要求不高的计算 * boolean:布尔型,存储true/false,用于条件判断 * char:字符型,存储单个字符 * void:修饰方法,标识无返回值 *//** * 八、常用进阶关键字 * enum:定义枚举类,限定变量只能取固定值 */