一、java介绍
1.1Java语言
Java 是一种广泛使用的、通用的、面向对象的编程语言,Java 的设计目标是“一次编写,到处运行”,这也这意味着 Java 程序可以在任何支持 Java 的平台(如 Windows、Linux、macOS 等)上运行。
1.2Java特征
- 简单性
- 面向对象
- 分布式特征:数据分布,Java程序可以访问各类信息;操作分布,系统计算可由不同网络节点完成。
- 半编译半解释:Java 源代码被编译成字节码,而不是直接编译成机器码,JVM 读取字节码并逐行解释执行
- 强壮性:Java提供自动垃圾收集来进行内存管理。
- 安全性:Java 提供了安全管理器和字节码验证机制,确保程序运行时的安全性。
- 体系结构中立:不依赖底层具体系统。
- 可移植性:“一次编译,到处运行”。
- 高性能:Java虽然采用字节码解释运行方式,但字节码与机器码接近,所以Java 的性能接近 C/C++。
- 多线程:一个Java程序可以有多个执行线程,同时也可以与其它线程共享所属的资源。
- 动态特性:Java程序基本组成单元是类,可以运行时动态装载。
1.3运行系统
- 代码接入:由类装配器装入程序运行的代码。
- 代码验证:由字码检验器进行安全检查。
- 代码执行:Java字节码运行。
1.4Java重要的包
- java.util:提供集合类、日期时间、随机数等工具。
- java.lang:提供 Java 语言的核心类
- java.io:提供文件读写和流操作。
- java.net:提供网络编程支持。
- java.sql:提供数据库访问支持。
- java.awt:提供基础的 GUI 组件
- java.math:提供高精度数学运算。
- java.time:提供日期和时间操作
二、编写Java代码的疑惑
2.1为什么类名和文件名一样
Java 编译器要求每个公共类(public class)必须定义在与类名相同的文件中.每个 .java 文件中只能有一个公共类。
这种设计是为了确保 Java 编译器(javac)和 Java 虚拟机(JVM)能够正确地找到和加载类。
2.2为什么main方法前要加static
static关键字表示main方法是一个静态方法,使用static后,JVM 可以直接通过类名调用 main方法,而无需创建对象。
2.3为什么main方法里要写 String [] args
String [] args是main方法的参数,用于接收命令行参数,String [] args是 Java 语言设计的一部分,遵循了 C/C++ 的传统(main函数接收命令行参数的方式)。