> 技术文档 > 初识Java:开启编程世界的大门

初识Java:开启编程世界的大门


初识Java:开启编程世界的大门

一、Java语言概述

1.1 什么是Java?

Java是一种优秀的程序设计语言,拥有简洁易懂的语法和语义。更重要的是,它还是一个由一系列计算机软件和规范形成的技术体系,提供了完整的软件开发和跨平台部署支持环境,广泛应用于嵌入式系统、移动终端、企业服务器、大型机等多种场景。

1.2 JavaSE与JavaEE的区别

特性 JavaSE(Java Standard Edition) JavaEE(Java Enterprise Edition) 核心 Java的基础平台 JavaSE的扩展版本 用途 开发桌面应用和简单服务器程序 开发大型、分布式企业应用和Web应用 主要内容 核心语言特性、基本API(如I/O、网络、GUI) 企业级API(如Servlet、JSP等) 目标用户 一般Java开发者 企业级应用开发者 范围 相对较窄 更广泛,包含更多特性 复杂度 较低,学习曲线平缓 更高,学习曲线陡峭 应用规模 适合小到中型应用 适合大型应用 运行环境 可在标准JVM上运行 需要特定的应用服务器

注意:Spring、SpringBoot等框架实际上是JavaEE的补充和扩展!

1.3 Java语言的重要性

Java在IT领域应用极其广泛,掌握它可以从事多个相关开发岗位:

  • 企业级系统:凭借安全机制和跨平台性优势,在分布式系统领域广泛应用,涉及金融、电信、交通、电子商务、ERP系统等大型复杂软件系统。
  • Web开发领域:设计初期就瞄准互联网发展风口,凭借稳定性能和良好扩展性,成为大型互联网平台的重要解决方案。
  • Android平台应用:Android应用程序大多用Java编写,其SDK大部分由Java SDK翻译而来,有Java基础能快速上手Android开发。
  • 大数据平台开发:Hadoop、spark、storm、flink等大数据框架,以及flume、kafka、sqoop等中间件,多由Java开发,应用前景广阔。

此外,Java在游戏、人工智能、科学计算、嵌入式等地方也有一定应用,学好Java就业选择十分广泛。

1.4 Java语言发展简史

Java源于1991年4月Sun公司James Gosling博士领导的“绿色计划”(Green Project),最初目标是开发能在各种消费性电子产品上运行的程序架构,其前身是Oak(得名于James Gosling办公室外的橡树)。因智能化家电市场需求未达预期,该计划被搁置。

1995年互联网兴起,Sun公司看到Oak在互联网上的应用前景,改造后于1995年5月以Java名称正式发布,并提出“Write once, Run anywhere”(一次编写,到处运行)的口号。

Java最新版本可查看官方网站:https://www.oracle.com/java/technologies/downloads/

1.5 Java语言特性(来自Java白皮书)

  1. 简单性:语法是C++的“纯净版本”,去除头文件、指针运算等复杂内容,开发环境更友好。
  2. 面向对象:“一切皆对象”,依靠对象交互完成操作。与C++相比,用更简单的接口替代多重继承,且提供更丰富的运行时自省功能。
  3. 分布式(微服务):有丰富例程库处理TCP/IP协议,通过URL访问网络对象如同访问本地文件。
  4. 健壮性:指针模型消除重写内存和损坏数据的可能,编译器能检测许多其他语言仅在运行时才发现的问题。
  5. 安全性:适用于网络/分布式环境,能防范运行时堆栈溢出、破坏进程外内存、未经授权读写文件等常见攻击。
  6. 体系结构中立:编译器生成的字节码文件可在有Java运行时系统的多种处理器上运行,其他语言程序编译后符合字节码规范也可在JVM上运行。
  7. 可移植性:基本数据类型大小和运算有明确规定(如int永远是32位整数),消除代码移植的主要问题。
  8. 解释性:源代码编译为基于自有指令集的字节码文件,执行时由Java解释器逐条翻译成CPU指令集。
  9. 高性能:虽曾因解释执行等导致效率偏低,但JVM不断优化(如JIT即时编译器、热点代码探测),使执行效率大幅提高,部分场合不亚于C/C++。
  10. 多线程:首个支持并发程序设计的主流语言,能带来更好的交互响应和实时行为,且能很好地管理并发工作。
  11. 动态性:比C/C++更具动态性,能适应发展环境,库中可自由添加新方法和实例变量,且容易获取运行时类型信息(反射特性)。

因此,Java不仅是一门编程语言,更是一个由一系列计算机软件和规范组成的技术体系。

1.6 Java开发环境安装

  • Windows下最简单的Java环境安装指南(其他版本安装逻辑一致)
  • Linux下JDK的多种安装方式
  • Mac下JDK的安装
  • Java软件可在班级群自行下载

二、初识Java的main方法

2.1 main方法示例

public class HelloWorld{ public static void main(String[] args){ System.out.println(\"Hello,world\"); }}

这是最简单的Java程序,Java的main方法堪称当前主流编程语言中最长的。

一个完整的Java程序结构由三部分组成:

  1. 源文件(扩展名为.java)*:包含类的定义,类是程序的组件,小程序可能只有一个类,类的内容需放在花括号内。
  2. :类中包含一个或多个方法,方法必须在类内部声明。
  3. 方法:方法的花括号中编写应执行的语句。

总结:类存在于源文件中,方法存在于类中,语句存在于方法中。

注意:一个源文件中只能有一个public修饰的类,且源文件名必须与该类名相同。

2.2 运行Java程序

Java是半编译型、半解释型语言:

  1. 先通过javac编译程序将源文件(.java)编译为字节码文件(.class),该文件平台无关、面向JVM。
  2. 启动Java虚拟机(JVM)运行*.class文件,JVM会将字节码转换成平台可理解的形式执行。

面试题:JDK、JRE、JVM之间的关系?

  • JDK(Java Development Kit):Java开发工具包,供开发者使用,包含JRE,以及编译器javac、调试工具Jconsole、jstack等。
  • JRE(Java Runtime Environment):Java运行时环境,包含JVM和Java基础类库,是Java程序运行的必要环境。
  • JVM(Java Virtual Machine):Java虚拟机,负责运行Java代码。

运行第一个Java程序可能遇到的错误:

  • 源文件名后缀不是.java
  • 类名与文件名不一致
  • main方法名字写错(如mian)
  • 类没有使用public修饰
  • 方法中语句没有以分号结尾
  • 使用中文格式的分号
  • JDK环境未配置好,操作系统无法识别javac或java命令

三、注释

注释是为让代码更易读懂而添加的描述信息,不参与编译运行,但至关重要。记住:代码是写给人看的,尤其是给三个月后的自己!

3.1 基本规则

Java中的注释主要有三种:

  • 单行注释// 注释内容(最常用)
  • 多行注释/* 注释内容 */(不推荐)
  • 文档注释/** 文档注释 */(常用于描述方法和类的作用),可被javadoc工具解析,生成网页形式的程序说明文档。

注意:

  • 多行注释不能嵌套使用
  • 单行和多行注释均不参与编译,编译后的.class文件中无注释信息

示例:

/**文档注释:@version v1.0.0@author will作用:HelloWorld类,入门第一个程序练习*/public class HelloWorld{ /* 多行注释: 1. main方法是Java程序的入口方法 2. main函数的格式是固定的,必须为public static void main(String[] args) */ /** main方法是程序的入口函数 @param args 命令行参数。 */ public static void main(String[] args){ // 单行注释:System.out.println是Java中标准输出,会将内容输出到控制台 System.out.println(\"Hello World\"); }}

使用javadoc工具从Java源码中提取注释的命令(在cmd中):

javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
  • -d:创建目录(myHello为目录名)
  • -author:显示作者
  • -version:显示版本号
  • -encoding UTF-8 -charset UTF-8:设置字符集为UTF-8

3.2 注释规范

  1. 内容准确:注释需与代码一致,代码修改时及时更新注释
  2. 篇幅合理:既不精简过度,也不冗长繁琐
  3. 使用中文:一般中国公司要求用中文写注释(外企除外)
  4. 积极向上:注释中不包含负能量内容

四、标识符

在程序中,用户给类名、方法名或变量取的名字称为标识符(如上述程序中的Test是类名,main是方法名)。

【硬性规则】

  • 可包含:字母、数字、下划线(_)和$符号等
  • 不可:以数字开头、使用关键字、不区分大小写(严格区分大小写)

【软性建议】

  • 类名:每个单词首字母大写(大驼峰式),如HelloWorld
  • 方法名:首字母小写,后面每个单词首字母大写(小驼峰式),如getUserInfo
  • 变量名:与方法名规则相同,如userName

大型工程由多人协同开发,遵循命名规范能使代码风格统一,便于维护。

五、关键字

像public、class、static等具有特殊含义的标识符称为关键字,是Java语言预先定义的,有特定含义或为保留字。用户不能用关键字作为标识符。

Java部分关键字分类如下:

分类 关键字 用于定义访问权限修饰符 private、protected、public 用于定义类、函数、变量修饰符 abstract、final、static、synchronized 用于定义类与类之间关系 extends、implements 用于定义建立实例及引用实例、判断实例 new、this、super、instanceof 用于异常处理 try、catch、finally、throw、throws 用于包 package、import 其他修饰符 native、strictfp、transient、volatile、assert

通过本文,我们初步了解了Java的语言概述、main方法、注释、标识符和关键字等基础知识。这些是Java编程的基石,为后续深入学习打下了基础。希望这篇文章能帮助你开启Java编程之旅!