第一章 Java入门
1.1 Java的地位
Java是一种广泛使用的编程语言,以其跨平台性(通过Java虚拟机,JVM)和安全性(内置的安全特性)而受到青睐。它在企业级应用、移动开发(特别是Android)和大数据处理(如Hadoop)等领域具有重要地位,使得开发者能够在不同操作系统上编写和运行代码。
1.2 Java的特点
-
平台独立性:Java代码在编写后可以在任何支持JVM的设备上运行,减少了不同平台之间的兼容性问题。
-
面向对象:Java支持封装、继承和多态,促进代码的重用和组织,使得大型项目的管理更加高效。
-
内存管理:Java使用自动垃圾回收机制,帮助程序员管理内存,减少内存泄漏的风险。
-
多线程:Java内置支持多线程,使得并发编程更加简单,适合开发高性能应用。
-
丰富的标准库:Java提供了大量的API,涵盖各种功能,降低了开发的复杂性。
1.3 安装 JDK
-
下载最新版本的JDK:访问Oracle或OpenJDK官网,选择合适的版本下载。
-
安装过程中的注意事项:确保在安装过程中设置环境变量,特别是JAVA_HOME和PATH,以便命令行可以识别Java命令。
-
验证安装:在命令行中输入
java -version
检查安装是否成功,确保显示正确的Java版本信息。
1.4 Java的程序开发步骤
-
编写源代码:使用文本编辑器或IDE(如Eclipse、IntelliJ IDEA)编写.java文件。
-
使用JDK中的javac命令编译源代码:在命令行中使用
javac HelloWorld.java
命令将源代码编译为字节码。 -
生成字节码:编译成功后,会生成相应的.class文件,这是JVM可以执行的格式。
-
使用java命令运行字节码:通过命令
java HelloWorld
运行编译生成的字节码,输出结果。
1.5 简单的Java应用程序
以下是一个基本的Java程序示例:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
该程序的功能是输出“Hello, World!”到控制台,展示了Java程序的基本结构。
1.6 Java反编译
反编译工具(如JD-GUI)能够将编译后的.class文件转换为可读的.java文件。需要注意的是,反编译的代码可能与原始代码略有不同,尤其是注释和变量名等信息可能丢失。
1.7 编程风格
-
统一的命名规范:例如类名使用驼峰命名法(如MyClass),方法和变量名使用小写开头的驼峰命名法(如myMethod)。
-
合理的注释和文档:在代码中适当添加注释,使用Javadoc生成文档,帮助他人理解代码。
-
代码缩进和格式化:保持代码整洁,使用一致的缩进风格,提高代码可读性。
1.8 Java之父--James Gosling
James Gosling是Java语言的创始人之一,他在1990年代初期开发了Java,目标是为网络应用程序提供一种简单且可靠的编程语言。他的贡献使Java成为全球最流行的编程语言之一。
1.9 小结
Java是一种强大的编程语言,适合各种类型的应用开发。掌握基本概念和操作是学习Java的第一步,理解其核心特性将为后续深入学习奠定基础。
第二章 基本数据类型与数组
2.1 标识符
标识符是编程中用于命名变量、类、方法等的名称。有效的标识符必须以字母、下划线或美元符号开头,后续字符可以是字母、数字、下划线或美元符号。标识符区分大小写,遵循良好的命名约定有助于提高代码可读性。
2.2 基本数据类型
Java中有八种基本数据类型:
-
整型:
-
byte(8位)
-
short(16位)
-
int(32位)
-
long(64位)
-
-
浮点型:
-
float(32位)
-
double(64位)
-
-
字符型:char(16位,用于表示单个字符)
-
布尔型:boolean(true或false)
2.3 类型转换运算
Java支持两种类型转换:
-
自动类型转换:当一种类型可以安全地转换为另一种类型时,Java会自动进行转换,例如将int转换为double。
-
强制类型转换:当需要将一种类型强制转换为另一种类型时,需要使用括号,例如将double转换为int:
int num = (int) doubleValue;
。注意强制转换可能导致数据丢失。
2.4 输入与输出数据
Java中的输入通常使用Scanner类:
import java.util.Scanner; Scanner scanner = new Scanner(System.in); int number = scanner.nextInt();
输出使用System.out类:
System.out.println("Output message");
这使得程序可以从控制台获取用户输入并输出信息。
2.5 数组
数组是存储相同类型元素的集合。声明和初始化数组的示例:
int[] arr = new int[5]; // 声明一个长度为5的整型数组 arr[0] = 10; // 初始化第一个元素
数组的长度是固定的,可以通过arr.length
获取数组的长度。
第三章 运算符、表达式和语句
3.1 运算符与表达式
Java中有多种运算符:
-
算术运算符:如 +、-、*、/、%。
-
关系运算符:如 ==、!=、>、<、>=、<=,用于比较两个值。
-
逻辑运算符:如 &&(与)、||(或)、!(非),用于布尔运算。
3.2 语句概述
程序是由一系列语句组成的,每条语句以分号(;)结束。语句可以是表达式语句、赋值语句、控制语句等,语句的执行顺序是从上到下。
3.3 if条件分支语句
用于根据条件的真伪执行不同的代码块:
if (condition) { // 如果条件为真,执行此代码 }
可以使用else和else if扩展条件分支,支持多种情况的处理。
3.4 switch开关语句
当有多个条件时,使用switch语句可以更清晰地组织代码:
switch (variable) { case value1: // 执行语句 break; case value2: // 执行语句 break; default: // 默认执行 }
每个case后需要使用break语句来防止“fall-through”。
3.5 循环语句
Java支持多种循环结构:
-
for循环:适合已知循环次数的情况。
-
while循环:适合条件未知时的循环。
-
do-while循环:至少执行一次的循环结构。
3.6 break和continue语句
-
break:用于跳出当前循环,通常在满足特定条件时使用。
-
continue:跳过当前迭代,直接进入下一次循环。
3.7 for语句与数组
使用for循环遍历数组元素的示例:
for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); }
这种方式可以访问数组的每个元素,适合于处理数组数据。