Java入门复习
注:仅为个人复习所用,所用课本 清华大学出版社《Java基础入门(第2版)》
第一章
课本知识点:
- Java程序的执行入口:
public static void main(String[]args){}
定义了一个main()
方法。该方法是Java程序的执行入口,程序将从main()
方法所属大括号的代码开始执行。 Helloworld.java
源文件 - 编译器 -Helloworld.class
字节码文件 - 解析器 - 机器码文件 - 计算机
- 字节码后缀是
.class
,运行时运行的文件是解释后的机器码文件
习题:
一、填空题:
- Java的三大体系是(
Java EE
、Java SE
、Java ME
) - Java程序的运行环境简称为(
JRE
) - 编译Java程序需要使用(
javac
)命令 javac.exe
和java.exe
两个可执行程序存放在JDK安装目录的(bin)目录下- (
path
)环境变量用来存储java的编译和运行工具所在的路径,而(classpath
)环境变量则用来保存java虚拟机要运行的.Class
文件路径
二、判断题
- 通过java虚拟机可以在不同的操作系统上运行java程序,从而实现跨平台特性
- JRE中包含java基础类库,JVM和开发工具(错)
- Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包内
java.until
包含大量Java中大量工具类,集合类等,例如Arrays、List、Set等- Java语言和C语言一样,都是面向过程的语言(错)
三、选择题
- (Java编译器、Java运行工具,Java文档生成工具和Java打包工具)都属于JDK工具
- Java属于(高级语言)
- (
.class
)的文件可以在Java虚拟机中运行 java.exe
命令的作用是(Java解释器)- 如果
jdk
的安装路径为d:\jdk
,若想在命令窗口中任何当前路径下,都可以直接使用javac
和java
命令,需要将环境变量path设置为(d:\jdk\bin
)
四、简答题
-
简述Java的特点:
面向对象,跨平台性,健壮性,安全性,可移植性,多线程性,动态性等
-
JRE与JDK的区别:
JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 -
Java的运行机制
Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为
.java
的源文件进行编译,生成后缀名为.class
的字节码文件,然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。
五、编程题
1 public class HelloWorld {
2 public static void main(String[] args) {
3 System.out.println("这是第一个Java程序!");
4 }
5 }
第二、三章
课本知识点:
-
java标识符概念
ME:在编程中,通常用来标记名称的符号,如:包名、类名、方法名、参数名、变量名等。注:标识符可以由任意顺序的大小写字母,数字,下划线
_
和美元$
符号组成,但是标识符不能以数字开头,也不能是Java中的关键字在编程过程中,经常需要在程序中定义一些符号来标记一些名称,这些符号被称为标识符,标识符可以由任意顺序的大小写字母,数字,下划线
_
和美元$
符号组成,但是标识符不能以数字开头,也不能是Java中的关键字 -
类的定义格式
Java中的类是通过class关键字来定义的,语法如下:
【修饰符】class 类名【extends 父类名】【implements 接口名】
{
// 类体,包含类的成员变量和成员方法
}
- class之前的修饰符可以是public,也可以不写,class之后是定义的类名,首字母要大写,
extends
和implements
都是Java的关键字,implements
用于说明当前类实现了那些接口
-
对象的创建与使用
使用new关键字来创建对象
类名 对象名称 = new 类名()
-
访问控制符
- private(当前访问级别)只能被该类的其他成员访问,其他类无法直接访问
- default(包访问级别)默认访问控制级别,只能被本包中的其他类访问
- protected(子类访问级别)既能被同一包下的其他类访问,也能被不同包下该类的子类访问
- public(公共访问级别)能被所有类访问
-
构造满足的条件
-
方法名与类名相同
-
在方法名的前面没有返回值类型的声明
-
在方法中不能使用
return
语句返回一个值,但是可以单独写return
语句来作为方法的结束
-
-
this
关键字 指代当前对象
-
不能调用静态成员
-
要求:当前对象
-
功能:
- 通过
this
关键字调用成员变量,解决与局部变量名称冲突问题 - 通过
this
关键字调用成员方法,例:Class person{ public void openMouth(){ ··········· } public void speak(){ this.openMouth(); } }
- 通过
this
关键字调用构造方法Class person{ public Person(){ System.out.println(“无参的构造方法”); } public Person (int age){ this(); System.out.println(“有参的构造方法”); } } Public class Example1{ public static void main (String[]args){ Person p=new Person(18); } }
- 注意点:
- 只能在构造方法中使用
this
调用其他的构造方法,不能在成员方法中使用 - 使用
this
构造方法的语句必须是当前该方法的第一条执行语句,且只能出现一次 - 不能在一个类的两个构造方法中使用
this
相互调用
- 只能在构造方法中使用
- 注意点:
- 通过
课后题
一、判断题
- 在定义一个类的时候,如果类的成员被
private
所修饰,该成员不能在类的外部被直接访问 - Java中的每一个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法
- 声明构造方法时,不能使用
private
关键字修饰(x) - 类中
static
修饰的变量和方法,可以使用类名或对象的引用变量访问 - 静态代码会随着类对象的创建而执行(x)
二、选择题
-
public class Move() {}
是正确的声明 -
对于构造方法的描述,正确的有
- 方法名必须和类名相同
- 方法名的前面没有返回值类型的声明
- 在方法中不能使用return语句返回一个值
- 定义了带参的构造方法,系统默认生产的构造方法不存在了
-
在Java中,针对类、成员方法和属性提供了4钟访问级别,控制级别由小到大的排序是:
private、default、protected、public
-
this
关键字调用问题和构造函数 -
关于·
static
关键字说法正确的是:static
可以修饰成员和所有的变量
第四章
课本知识点:
-
继承所需要的关键字:
extends
,继承过程为单继承 -
super
关键字:p108使用的具体说明:
调用父类的成员变量
super.name
和成员方法super.shout()
调用父类的构造方法
super()
-
final
关键字的影响
final
修饰的类不能被继承final
修饰的方法不能被子类重写final
修饰的变量(成员变量和局部变量)是常量,只能赋值一次
-
多态的表现形式:p122
方法的重载
方法的重写
-
自定义异常的过程
public class DivideByMinusException extends Exception{
public DivideByMinusException(){
super();
}
public DivideByMinusException(String message){
super(message);