初识Java:开启编程世界的大门
初识Java:开启编程世界的大门
一、Java语言概述
1.1 什么是Java?
Java是一种优秀的程序设计语言,拥有简洁易懂的语法和语义。更重要的是,它还是一个由一系列计算机软件和规范形成的技术体系,提供了完整的软件开发和跨平台部署支持环境,广泛应用于嵌入式系统、移动终端、企业服务器、大型机等多种场景。
1.2 JavaSE与JavaEE的区别
注意: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白皮书)
- 简单性:语法是C++的“纯净版本”,去除头文件、指针运算等复杂内容,开发环境更友好。
- 面向对象:“一切皆对象”,依靠对象交互完成操作。与C++相比,用更简单的接口替代多重继承,且提供更丰富的运行时自省功能。
- 分布式(微服务):有丰富例程库处理TCP/IP协议,通过URL访问网络对象如同访问本地文件。
- 健壮性:指针模型消除重写内存和损坏数据的可能,编译器能检测许多其他语言仅在运行时才发现的问题。
- 安全性:适用于网络/分布式环境,能防范运行时堆栈溢出、破坏进程外内存、未经授权读写文件等常见攻击。
- 体系结构中立:编译器生成的字节码文件可在有Java运行时系统的多种处理器上运行,其他语言程序编译后符合字节码规范也可在JVM上运行。
- 可移植性:基本数据类型大小和运算有明确规定(如int永远是32位整数),消除代码移植的主要问题。
- 解释性:源代码编译为基于自有指令集的字节码文件,执行时由Java解释器逐条翻译成CPU指令集。
- 高性能:虽曾因解释执行等导致效率偏低,但JVM不断优化(如JIT即时编译器、热点代码探测),使执行效率大幅提高,部分场合不亚于C/C++。
- 多线程:首个支持并发程序设计的主流语言,能带来更好的交互响应和实时行为,且能很好地管理并发工作。
- 动态性:比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程序结构由三部分组成:
- 源文件(扩展名为.java)*:包含类的定义,类是程序的组件,小程序可能只有一个类,类的内容需放在花括号内。
- 类:类中包含一个或多个方法,方法必须在类内部声明。
- 方法:方法的花括号中编写应执行的语句。
总结:类存在于源文件中,方法存在于类中,语句存在于方法中。
注意:一个源文件中只能有一个public修饰的类,且源文件名必须与该类名相同。
2.2 运行Java程序
Java是半编译型、半解释型语言:
- 先通过javac编译程序将源文件(.java)编译为字节码文件(.class),该文件平台无关、面向JVM。
- 启动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 注释规范
- 内容准确:注释需与代码一致,代码修改时及时更新注释
- 篇幅合理:既不精简过度,也不冗长繁琐
- 使用中文:一般中国公司要求用中文写注释(外企除外)
- 积极向上:注释中不包含负能量内容
四、标识符
在程序中,用户给类名、方法名或变量取的名字称为标识符(如上述程序中的Test是类名,main是方法名)。
【硬性规则】
- 可包含:字母、数字、下划线(_)和$符号等
- 不可:以数字开头、使用关键字、不区分大小写(严格区分大小写)
【软性建议】
- 类名:每个单词首字母大写(大驼峰式),如HelloWorld
- 方法名:首字母小写,后面每个单词首字母大写(小驼峰式),如getUserInfo
- 变量名:与方法名规则相同,如userName
大型工程由多人协同开发,遵循命名规范能使代码风格统一,便于维护。
五、关键字
像public、class、static等具有特殊含义的标识符称为关键字,是Java语言预先定义的,有特定含义或为保留字。用户不能用关键字作为标识符。
Java部分关键字分类如下:
通过本文,我们初步了解了Java的语言概述、main方法、注释、标识符和关键字等基础知识。这些是Java编程的基石,为后续深入学习打下了基础。希望这篇文章能帮助你开启Java编程之旅!