- 源文件的文件名必须与公共类的名字相同,并用 .java 作为扩展名
- Java 区分大小写;类名是以大写字母开头的名词,如果名字由多个单词组成,每个单词的第一个字母都应该大写
- 一个源文件可以存在多个类;一个源文件最好只包含一个 public 类
- 源文件经过 javac.exe 编译器编译后,生成对应平台的字节码文件(.class文件)
- java.exe 解释器运行已编译的字节码文件,而 main 方法是程序的入口方法,格式固定;因此需要运行的源文件中必须包含一个 main 方法
- 每个语句必须以分号结束,所以一个语句可以跨多行
public class Main {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
标识符、关键字、保留字
标识符
标识符就是由一些字符、符号组合起来的名称,用来给类、变量、方法进行命名的
标识符命名规则:
- 由字母、数字、下划线、美元符组成
- 不能以数字开头
- 大小写敏感,且长度无限制
- 不可以是Java的关键字
标识符命名规范:
- 所有变量、方法、类名需要做到见名知义
- 成员变量、局部变量、方法名:首字母小写,满足“驼峰模式”
- 类名:首字母大写,满足“驼峰模式”
- 常量:字母全部大写,单词之间使用下划线分割
Java不采用 ASCII 字符集,而是采用 Unicode 字符集。因此,这里的字母不仅仅表示英文,还包括汉字等。但不建议使用汉字来定义标识符
关键字和保留字变量Java 关键字是 Java 语言保留供内部使用的。所以不能使用关键字作为变量名或方法名
变量就是用来存储一个数据的内存区域,且里面存储的数据可以变化
Java 是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小
定义变量的注意事项
- 变量要先声明后使用
- 变量定义的时候可以没有初始值,但是使用的时候必须给初始值
- 变量声明后,不能存储其他类型的数据
- 变量存在访问范围,且同一范围内变量名不能重复
变量定义的格式:数据类型 变量名称 = 初始值;
int x = 0, y = 0, z = 1;变量的分类和作用域
变量有三中类型:局部变量、成员变量和静态变量
- 局部变量(local variable):在使用前必须先声明、初始化(赋初值),再使用
- 成员变量(member variable):如果不自行初始化,它会自动初始化该类型的默认初始值
- 静态变量(static variable):如果不自行初始化,与成员变量相同会自动初始化该类型的默认初始值
| 类型 | 声明位置 | 从属于 | 生命周期(作用域) |
|---|---|---|---|
| 局部变量 | 方法或语句块内部 | 方法/语句块 | 从声明位置开始,直到方法或语句块执行完毕,局部变量消失 |
| 成员变量(实例变量) | 类内部,方法外部 | 对象 | 对象创建,成员变量也跟着创建;对象消失,成员变量也跟着消失 |
| 静态变量(类变量) | 类内部,static修饰 | 类 | 类被加载,静态变量就有效;类被卸载,静态变量就消失 |
计算机底层都是一些数字电路,用开表示0、关表示1,这些01的形式就是二进制(数据在计算机底层都是采用二进制存储的)
计算机的数据单位
- 在计算机中认为一个开关表示的0|1称为1位(bit)
- 每8位称为一个字节(Byte),所以1B=8b
- 字节是计算机中数据的最小单位
进制转换
- 十进制整数转换为二进制整数采用“除2取余,逆序排列”法
- 二进制转十进制采用“权相加法”
其他进制
- 为了便于观察和表示二进制,设计出了八进制和十六进制
- 八进制:每三位二进制作为一个单元;最小数是0,最大数是7,共八个数字
- 十六进制:每四位二进制作为一个单元;最小数是0,最大数是15,依次用:0~9 A B C D E F 表示,共16个数字
注意:Java程序中支持书写二进制、八进制、十六进制的数据,分别需要以 0b、0、0x 开头
常量在Java语言中,使用关键字 final 来定义一个常量。常量一旦被初始化后就不能再更改
常量声明格式:final 数据类型 变量名 = 变量值;
- 常量的命名:全用大写字母,单词之间用下划线隔开
字面量就是数据的具体值
- 字符:字符必须用单引号围起来,有且只能有一个字符
- 字符串:字符串必须用双引号围起来,里面的内容可以随意
- 布尔值:布尔类型只有2个值:true、false
| 数据类型 | 默认初始值 |
|---|---|
| int | 0 |
| double | 0.0 |
| char | ‘u0000’ |
| boolean | false |
注释不会影响程序的执行。因为在生成的字节码文件中,会去掉注释内容。这样会让文件体积变小,提高运行效率
- 单行注释
// 单行注释内容
- 多行注释
- 文档注释
JDK 与 JRE 之间的关系
| 工具 | 说明 | 英文名 |
|---|---|---|
| JVM | Java 虚拟机:真正运行 Java 程序的地方 | Java Virtual Machine |
| JDK | Java 开发工具:包含 Java 编译器、Java 虚拟机以及 Java 核心类库等 | Java Development Kit |
| JRE | Java 运行时环境:只包含 Java 虚拟机以及 Java 核心类库 | Java Runtime Environment |
JDK { JRE { JVM 核心类库 开发工具 { javac.exe java.exe … … {Large text{JDK} begin{cases} text{JRE} begin{cases} text{JVM} \ text{核心类库} end{cases} \ text{开发工具} begin{cases} text{javac.exe} \ text{java.exe} \ text{……} end{cases} end{cases} } JDK⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧JRE⎩⎪⎨⎪⎧JVM核心类库开发工具⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧javac.exejava.exe……
Java 运行机制 Java 跨平台原理 Java 版本发展史目前 SUN 公司已经被 Oracle 公司收购,目前每半年更新一次 Java 的版本。但是企业中仍然以 Java 8 为主
Java 三大版本平台| 版本 | 使用 | 英文名 |
|---|---|---|
| JavaSE | 标准版:Java技术的核心和基础 | Java Standard Edition |
| JavaEE | 企业版:定位在服务器端的应用 | Java Enterprise Edition |
| JavaME | 微型版:定位在嵌入式消费电子设备的应用上(弃用) | Java Micro Edition |



