一、选择(10*2’ ,共20分)
•Java
•构造函数
•异常处理
程序中的错误可分为三类:编译错误、逻辑错误和运行时错误。
异常处理的主要目的是即使在程序运行时发生了错误,也要保证程序能正常结束,避免由于错误而使正在运行的程序中途停止。Java 中所有的异常都是用类表示的:Throwable类(Error类、Exception类)。捕捉和处理异常,需要建立try-catch-finally语句块。•main方法
声明:public static void main(String args[])。不能有返回值,因此返回值类型为void
•布局管理器
负责创建布局对象的类主要是java.awt包中的FlowLayout、BorderLayout、GridLayout等布局类。
FlowLayout:组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行。
BorderLayout:将容器空间划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。
GridLayout:将容器划分成由m行、n列交叉形成的m×n个网格。
•数组
二维数组和一维数组一样,在声明之后必须用new运算符为数组分配元素,例如:int b[][]; b = new int [3][6];或int b[][] = new int[3][6]。
一个二维数组是由若干个一维数组构成的,例如,上述创建的二维数组b就是由3个长度为6的一维数组:b[0]、b[1]和b[2]构成的。对于二维数组“数组名.length”的值是它含有的一维数组的个数。例如,对于上述二维数组b,b.length的值是3(对于一维数组b[0].length, b[1].length和b[2].length的值都是6)。
•重载和重写(覆盖)
方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
* 方法的参数类型,个数顺序至少有一项不同 * 方法的返回类型可以不相同
* 方法的修饰符可以不相同 * main方法也可以被重载
方法覆盖:如果在子类中定义一个方法,其名称、参数类型及参数个数正好与父类中某个方法的名称、参数类型及参数个数完全相同,那么可以说,子类的方法覆盖了父类的方法。
* 子类在重写父类的方法时,不可以降低方法的访问权限(访问权限从高到低的排列顺序是:public(公共)、protected(保护)、友好的、private私有)。
* 方法覆盖只存在于子类和父类之间,同一个类中只能重载
•容器
底层容器:JFrame,JFrame创建的容器称为窗口(窗体)
中间容器:JPanel面板;滚动窗格JScrollPane;拆分窗格JSplitPane
二、判断(10*1’,共10分)
•接口(P100)
接口使用关键字interface来声明自己是一个接口,格式: interface 接口的名字
接口体中所有的常量的访问权限一定都是public,而且是static常量。
接口由类来实现,一个类可以在类声明中使用关键字implements声明实现一个或多个接口。
•Object(P84)
Object是所有类的祖先类,如果一个类(除了Object类)的声明中没有使用extends关键字,这个类诶系统默认为是Object的子类,即类声明class A与class A extends Object是等同的。
•抽象类(P98)
用关键字abstract修饰的类称为abstract类(抽象类)。对于abstract类,不能使用new运算符创建该类的对象。可以使用abstract 类声明对象。不允许使用final修饰abstract类。
•四种权限(P77)
访问修饰符按访问权限从高到低的排列顺序是public(公共)、protected(保护)、友好的、private(私有)。
• 局部变量(P47)
在方法的方法体中声明的变量以及方法的参数称为局部变量。局部变量只在方法内有效,而且与其声明的位置有关。 • 包(P72)
运行有包名的主类,必须写主类的全名。主类全名是:“包名.主类名”。
• this ,super (P67;P)
当this 关键字出现实例方法中时,this 就代表正在调用该实例方法的当前对象。类方法中不可以出现this 。
用super 操作子类隐藏了继承的成员变量和方法。子类在其构造方法中需使用super 来调用父类的构造方法,而且super 必须是子类构造方法中的头一条语句。
• 继承
当子类与父类在同一个包中,那么,子类继承了父类中不是private 的成员变量和方法作为自己的成员变量和方法;当子类与父类不在同一个包中时,子类只继承父类中的protected 和public 访问权限的成员变量和方法作为子类的成员变量和方法。
• 适配器
• try catch finally
将可能发生异常的程序代码放置在try 程序块中。如果该块内的代码出现了异常,系统将终止try 块代码的执行,自动跳转到所发生的异常类对应的catch 块中,执行该块中的代码。如果程序运行正常,后面的各catch 块不起任何作用。finally 块是个可选项,无论异常是否发生,finally 块的代码必定执行。
• 注释
// 注释一行 /* ...... */ 注释若干行
• 公共类
三、程序填空(共3题,每空1分,共10分)
• 输出main 方法参数
System.out.println(…)或System.out.print(…)
• 数组求和
public class SumOfArray {
public static void main(String args[ ]){ int a[] = { 1, 3, 5, 7, 9, 10 }; int total=0;
for ( int i = 0; i • 二维数组输出 例:九九乘法表的输出 public class a{ public static void main(String[] args) { int a[][]=new int[10][10]; for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ a[i][j]=i*j; System.out.print(j+"*"+i+"="+a[i][j]+" "); } System.out.println(); } } } • 窗口 • 定义一个Point 类 • 定义一个类以及它的构造函数 四、简答(共2题,每题5分,共10分) • for 语句的语法格式和执行流程。 (1)for 语句的语法格式: for (表达式1; 表达式2; 表达式3) { 若干语句 } • Java 中变量的命名规则 : 变量必须以字母,下划线,或"$"符号开头,变量可以包括数字,但不能以数字开头,除了"_或$"符号以外,变量名不能包含任何特殊字符,不能使用Java 语言的关键字,比如:int,class,public 等 (2)for 语句执行流程如下: ① 计算“表达式1”,完成必要的初始化工作。 ② 计算“表达式2”的值,若“表达式2”的值为“真”,进行③,否则进行④。 ③ 执行循环体,然后计算“表达式3”,以便改变“表达式2”的值,然后进行②。 ④ 结束for 语句的执行。 1.文本框 JComponent的子类JTextField创建文本框,允许用户在文本框中输入单行文本。 2.文本区 JComponent的子类JTexArea创建文本区,允许用户在文本区中输入多行文本。 3.按钮 JComponent的子类JButton类用来创建按钮,允许用户单击按钮。 4.标签 JComponent的子类JLabel类用来创建标签,标签为用户提供信息提示。 5.选择框 JComponent的子类JCheckBox类用来创建选择框,为用户提供多项选择。 6.单选按钮 JComponent的子类JRadioButton类用来创建单项选择框,为用户提供单项选择。 7.下拉列表 JComponent的子类JComboBox类用来创建下拉列表,为用户提供单项选择。 8.密码框 JComponent的子类JPasswordField创建密码框。 •上转型对象的特性 1)上转型对象不能操作子类新增的成员变量;不能调用子类新增的方法。 2)上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法。 •while语法格式和执行流程 (1)while语句的语法格式: while (表达式) { 若干语句 //循环体 } (2)while语句执行流程是: 计算while关键字后面一对小括号中的条件表达式的值,如果值是true,就执行循环体,然后再计算条件表达式的值,如果值是true,就再次执行循环体,如此反复,直到计算条件表达式的值是flase,结束while语句之执行. 五、程序设计(共4题,每题10分,共40分) •求阶乘 import java.util.Scanner; public class a{ public static void main (String[] args){ Scanner reader=new Scanner(System.in); System.out.println ("输入数N:"); int n=reader.nextInt(); int result=1; for(int i=1;i<=n;i++){ result*=i; } System.out.println ("N的阶乘结果为:"); System.out.println (result); } } •输入三个数,判断是否是合法的三角形 import java.util.Scanner; public class a { public static void main(String[] args){ int a,b,c; System.out.println("请输入三个整数:"); Scanner reader = new Scanner(System.in); a = reader.nextInt(); b = reader.nextInt(); c = reader.nextInt(); if(a <= (b + c) && b <= (a + c) && c <= (a + b)){ System.out.println("是合法的三角形"); } else System.out.println("不是合法的三角形"); } } •定义二维数组,输出数组 class a{ public static void main(String args[]){ int a[][] ={{1,2,3},{4,5,6}}; for (int i=0;i •求数组中,最大值,最小值和平均值 class a{ public static void main(String args[]){ int a[]={1,2,3,4,5,6,7,8,9,15}; int max=a[0]; int min=a[0]; int sum=0; int average=0; for(int i=0; i } if(min>a[i]){ min=a[i]; } sum=sum+a[i]; average=sum/a.length; } System.out.println("最大值是:"+max+" "); System.out.println("最小值是:"+min+" "); System.out.println("平均值是:"+average); } }