Java简介
Java可分为: Java SE(标准版)
Java EE(企业版)
Java ME(微型版)
1. DOS 命令
启动 | Win R |
---|---|
切换盘符 | 盘符: |
进入下一级文件夹: | cd 文件夹名称 |
直接进入多级文件夹: | cd 文件夹1\文件夹2\文件夹3 |
返回上一级: | cd . . |
直接返回根路径: | cd \ |
查看当前文件夹的内容: | dir |
清空屏幕: | cls |
退出: | exit |
2. JDK JRE JVM
3. Java命名规范:
(1)类名使用大驼峰命名法 ( 源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存 )
(2)方法名使用小驼峰命名法
(3)变量名使用小驼峰命名法
补充:
- Java 是大小写敏感的
- 主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行
4.基础语法定义
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
- 对象:对象是类的一个实例,有状态和行为 。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
- 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object):
5. 第一个Java程序
//创建文件Hello.java(文件名需与类名一致,大驼峰命名法)
public class Hello{
public static void main(String[] args) {
System.out.println("Hello!");
}
}
/*
注:String[] args 与 String args[] 都可以执行,
但推荐使用 String[] args ,这样可以避免歧义和误读
*/
6. Java 标识符
类名、变量名 以及 方法名 都被称为 标识符
关于 Java 标识符,以下几点需要注意:
- 所有的标识符都应该以 字母(A-Z 或者 a-z), 美元符($)、或者 下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
7. Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。
主要有两类修饰符:
• 访问控制修饰符 : default, public , protected, private
• 非访问控制修饰符 : final, abstract, static, synchronized
8. Java 变量
Java 中主要有如下几种类型的变量:
• 局部变量
• 类变量(静态变量)
• 成员变量(非静态变量)
9. Java 数组
数组是储存在堆上的对象,可以保存多个同类型变量。
10. Java 枚举
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。
11. Java 关键字
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
null | 空 |
12. Java注释
单行注释: | // 注释内容 |
多行注释: | /* 注释内容 */ |
13. Java 空行
空白行或者有注释的行,Java 编译器都会忽略掉。
14. 继承
在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。
15. 接口
在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
16. 构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
17. 创建对象
对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
• 声明:声明一个对象,包括对象名称和对象类型。
• 实例化:使用关键字new来创建一个对象。
• 初始化:使用new创建对象时,会调用构造方法初始化对象。
18. 源文件声明规则
源文件的声明规则:
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
• 一个源文件中只能有一个public类
• 一个源文件可以有多个非public类
• 源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
• 如果一个类定义在某个包中,那么package语句应该在源文件的首行。
• 如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
• import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。
除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。
19. Java包
包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
20. Import语句
在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。