java考试题型及要点演示教学.docx

上传人:b****8 文档编号:9728816 上传时间:2023-02-06 格式:DOCX 页数:14 大小:49.50KB
下载 相关 举报
java考试题型及要点演示教学.docx_第1页
第1页 / 共14页
java考试题型及要点演示教学.docx_第2页
第2页 / 共14页
java考试题型及要点演示教学.docx_第3页
第3页 / 共14页
java考试题型及要点演示教学.docx_第4页
第4页 / 共14页
java考试题型及要点演示教学.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

java考试题型及要点演示教学.docx

《java考试题型及要点演示教学.docx》由会员分享,可在线阅读,更多相关《java考试题型及要点演示教学.docx(14页珍藏版)》请在冰豆网上搜索。

java考试题型及要点演示教学.docx

java考试题型及要点演示教学

考试题型

一、选择题(20分,每题2分)10题

二、简答题(15分,每题5分)3题

三、程序填空(共45分,每空3分)3大题

四、编程题(20分)1大题

各章复习要点

第2章Java基本语法

1、标识符

标识符的作用是用于标识程序中的各个元素。

由字母、下划线(_)、美元符($)、数字(0~9)组成,数字不能开头。

2、关键字P20(浏览一下,留意学过的关键字)

3、数据类型

基本数据类型P20图2-1、P21表2-1各类型需要掌握的要点:

类型名称、关键字,占用位数、取值范围(整数类型的取值范围取决于占用位数,如:

占用位数为n,则表示的范围是:

-2n~2n-1)

4、运算符与表达式

自增、自减符号在变量的前后位置不同,表达式的结果是不一样的。

例如inta=1,b=2;System.out.print(a++>--b);结果为false

++在a变量后面,那表达式a++的值是取a的值作为表达式的值,值为1。

--在b变量之前,那表达式--b的值是多少?

先让b自减1,而后在取b的值作为表达式的值,即为1。

最后a自增1。

条件运算符?

例如:

intx=-1,y;y=x>=0?

x:

-x;y的值是?

y值为1

5、利用Scanner类输入

(1)导入util包。

例如:

importjava.util.*;

(2)创建Scanner类对象引用。

例如:

Scanners=newScanner(System.in);

(3)获得键盘输入的数据,可以调用nextXXX()方法。

获得整型数据,使用nextInt();获得双精度浮点数据,使用nextDouble();获得一字符串,使用nextLine()。

例如inta=s.nextInt();

P29例2-3

6、程序流程控制

顺序结构、选择结构(if()…;if()…else…;switch()casen:

…;[default:

…;])、循环结构(while(){…};do{…}while();for(;;)…)

P49例2-20、P60例2-29

7、数组

一维数组的声明与创建

声明:

类型数组名[];或类型[]数组名;

创建:

数组名=new类型[数组长度];

也可以声明与创建合并:

类型数组名[]=new类型[数组长度];注意等号左边的中括号中不要写出数组长度

也可以声明数组的同时进行初始化赋值,例如:

inta[]={1,2,3,4,5};注意大括号仅在数组声明后给值的情况。

inta[];a={1,2,3,4,5};这种用法是不对的。

8、方法的重载

在一个类中可以定义多个同名的方法,但要求各方法具有不同的参数类型或参数个数。

方法重载通常用于创建完成一组任务相似但参数不同的方法。

第3章类与对象

1、类的定义

[类的修饰符]class类名[extends父类名]//中括号表示可以省略

成员变量的定义

成员方法的定义

 

2、构造方法

构造方法是类中一种特殊的方法,主要用于初始化类对象实体。

类的构造方法的名字必须与它所在类的名字完全相同,而且没有类型。

允许一个类中编写若干个构造方法,但必须保证它们的参数不同,参数不同是指:

参数的个数不同,或参数个数相同,但参数列表中对应的某个参数的类型不同。

3、类对象的创建

(1)分2步:

先声明,后创建。

类名引用变量名;引用变量名=new构造方法(实际参数);

构造方法中的实际参数取决于构造方法定义给定的形式参数

(2)1步:

类名引用变量名=new构造方法(实际参数);

4、综合(实验报告二(4))

学生类的创建和使用

①创建一个学Student类,成员变量包括:

学号、姓名、性别、年龄等,且都是private类型。

②声明一个构造方法,初始化所有成员变量。

③分别声明获得各属性的public成员方法,方法名要求以get开头。

④分别声明修改各属性的public成员方法,方法名要求以set开头。

⑤声明一个public类型的toString()方法,把该类中的所有域信息组合成一个字符串。

⑥声明统计创建Student对象的个数的私有域count和得到Student对象的个数的public方法。

主方法测试类功能(2种,任取一种)

编写测试类Test,在主类中,创建2个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,输出修改后的姓名和年龄;比较两个Student对象的年龄的大小,输出年龄较大的Student对象。

在Student类中编写主方法,创建2个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,输出修改后的姓名和年龄;比较两个Student对象的年龄的大小,输出年龄较大的Student对象。

packageStudent;

publicclassStudent{

privateStringid;

privateStringname;

privateintage;

privateStringgender;

privatestaticintcount=0;

publicStudent(Stringid,Stringname,Stringgender,intage){

this.id=id;

this.name=name;

this.age=age;

this.gender=gender;

count++;

}

publicstaticintgetCount(){

returncount;

}

publicStringgetId(){

returnid;

}

publicStringgetName(){

returnname;

}

publicStringgetGender(){

returngender;

}

publicintgetAge(){

returnage;

}

publicvoidsetId(Stringa){

id=a;

}

publicvoidsetName(Stringc){

name=c;

}

publicvoidsetGender(Stringd){

gender=d;

}

publicvoidsetAge(inte){

age=e;

}

publicStringtoString(){

return"学号:

"+this.id+"\t姓名:

"

+this.name+"\t性别:

"+this.gender+"\t年龄:

"+this.age;

}

publicstaticvoidmain(String[]args){

Students1=newStudent("0001","张三","男",16);

Students2=newStudent("0002","李四","女",18);

System.out.println(s1.toString());

System.out.println(s2.toString());

System.out.println("创建的学生总数为:

"+Student.getCount());

s1.setName("王五");

s1.setAge(17);

s2.setName("陆陆");

s2.setAge(19);

System.out.println(s1.toString());

System.out.println(s2.toString());

if(s1.getAge()>s2.getAge())

System.out.println("年龄较大的人的信息:

"+s1.toString());

else

System.out.println("年龄较大的人的信息:

"+s2.toString());

}

}

publicclassTest{

publicstaticvoidmain(String[]args){

Students1=newStudent("0001","张三","男",16);

Students2=newStudent("0002","李四","女",18);

System.out.println(s1.toString());

System.out.println(s2.toString());

System.out.println("创建的学生总数为:

"+Student.getCount());

s1.setName("王五");

s1.setAge(17);

s2.setName("陆陆");

s2.setAge(19);

System.out.println(s1.toString());

System.out.println(s2.toString());

if(s1.getAge()>s2.getAge())

System.out.println("年龄较大的人的信息:

"+s1.toString());

else

System.out.println("年龄较大的人的信息:

"+s2.toString());

}

}

第4章继承

Java不支持类的多重继承,继承关键字extends,参见第三章类的定义。

第5章抽象、接口

1、抽象类

abstractclass抽象类名称

{

成员变量声明;

abstract方法();//仅有方法头,没有方法体

非抽象方法()//有方法头,有方法体

{}

}

注意:

不可用抽象类构造方法创建对象。

2、接口

[访问修饰符]interface接口名[extends父接口名列表]

{

接口成员定义

}

接口成员有3种:

a.常量(接口中的成员量都是常量,可以省略public、static、final关键字)b.接口中的方法都是抽象方法(接口中一般省略了public、abstract关键字)c.嵌套类和嵌套接口

类通过实现(implements)接口来发挥接口的功能,如果该类是非抽象类,那就必须重写接口中的所有方法。

接口和抽象类有些相似,区别在于

(1)接口可以多继承,而类只允许单继承;

(2)抽象类可以有部分实现,可以有静态方法等;而接口不允许有任何实现。

第6章异常

在程序执行期间,可能会有许多意外的事件发生。

Java把这些意外的事件成为“异常”。

对发生的异常,进行处理,将使程序更加清晰、健壮、容错能力强。

异常处理的方式:

(1)try-catch-finally语句

(2)使用throw语句直接抛出异常或使用throws语句间接抛出异常。

第7章文件管理与输入/输出

Java支持两种类型的流:

字节流和字符流。

字节流由抽象类InputStream和OutputStream的子类实现。

字符流由抽象类Reader和Writer的子类实现。

第8章线程

1、线程的概念

线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。

2、线程的生命周期

(1)新建

a.一个用Thread类或其子类的对象被声明并创建

b.一个用实现了Runnable接口的类创建的

(2)运行

线程调用start()方法。

JVM会知道又有一个新线程排队等候切换了,当JVM将CPU使用权切换给线程时,该类中的run()方法就立刻执行,run()方法规定了该线程的具体使命。

(3)中断

有4种中断原因:

a.JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权。

b.线程使用CPU资源期间,执行了sleep(intmillsecond)方法,使当前线程进入休眠状态。

经过参数指定的毫秒数后,该线程重新进到线程队列排队等待CPU资源,该方法可能会引起InterruptedException异常。

c.线程使用CPU资源期间,执行了wait()方法,使得当前线程进入等待状态。

等待状态线程不会主动进到线程队列中排队等待CPU资源,必须由其他线程调用notify()或notifyall()方法通知它,使得它重新排队等待CPU资源。

d.线程使用CPU资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。

只有当引起阻塞的原因消除时,线程才重新进到线程队列中排队等待CPU资源。

(4)死亡

死亡原因有二种:

a.执行完run()方法中的全部语句;b.被提前强制性终止run()方法。

所谓死亡状态就是线程释放了实体,即释放分配给线程对象的内存。

P162方式一:

继承Thread类

P163方式二:

实现Runnable接口

第9章图形用户界面设计

1、组件和容器

组件是图形用户界面的基本部分,比如一个按钮,一个标签等

容器用于包含组件和容器,可以通过add(组件或容器)方法添加括号中的参数到当前容器。

2、布局管理

常用布局

a.FlowLayout该布局的特点:

将各个组件按add方法顺序地添加到容器,组件按照从左向右,第一行排满后排第二行,每行中组件都居中排列。

是JPanel型容器的默认布局。

b.BorderLayout如果一个容器使用这种布局,那么容器空间简单的划分为东、西、南、北、中五个区域,中间的区域最大。

每加入一个组件都应该指明这个组件加在哪个区域中,区域由BorderLayout的静态常量CENTER、NORTH、SOUTH、WEST、EAST表示

c.CardLayout使用CardLayout的容器可以容纳多个组件,这些组件被层叠放入容器中,最先加入容器的是第一张(最上面),依次向下排序。

使用该布局的特点是,同一时刻容器只能从这个组件中选出一个来显示,这个被显示的组件将占据所有的容器空间。

d.GridLayout其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就由add()方法添加顺序依次从第一行第一列、第一行第二列……被填充到这些划分出来的小格中。

3、事件处理模型

编写代码时注意以下三点:

(1)确定事件源

(2)事件源.addXXXListener(实现事件监听接口类对象引用)

(3)事件监听接口相应的事件处理方法重写

4、创建窗口有2种方法

a.在主类中创建JFrame类对象引用,再创建各组件并添加到窗口。

b.创建JFrame类的子类

例如:

窗口中有三个组件,依次是:

标签(JLabel)、文本框(JTextField)、按钮(JButton)。

现在在文本框中输入字符,单击“确定”按钮后,标签就显示为文本框中的内容。

如图1所示,点击“确定”按钮后,如图2所示

 

图1初始状态

图2点击按钮后

方法一:

在主类中创建JFrame类对象引用,再创建各组件并添加到窗口

importjavax.swing.*;//JFrame\JLabel\JTextField\JButton类所在包

importjava.awt.*;//常用布局类所在包

importjava.awt.event.*;//事件处理

publicclassTestJFrame{

privatestaticJFramemyframe=newJFrame();//创建窗口类对象,作为该类成员变量,注意是static

privatestaticJLabelmylabel=newJLabel("abcdefg");//创建标签类对象,作为该类成员变量,注意是static

privatestaticJTextFieldmytxt=newJTextField(18);//创建文本框类对象,作为该类成员变量,注意是static

privatestaticJButtonmybtn=newJButton("确定");//创建按钮类对象,作为该类成员变量,注意是static

publicstaticvoidmain(String[]args){

myframe.setTitle("Example");//为窗口设置标题

myframe.setLayout(newFlowLayout());//为窗口设置布局,这里采用的是流式布局

myframe.add(mylabel);//为窗口添加标签组件

myframe.add(mytxt);//为窗口添加文本框组件

myframe.add(mybtn);//为窗口添加按钮组件

mybtn.addActionListener(newActionListener(){//按钮组件作为事件源,添加动作事件监听器,并用匿名内部类作为事件监听器对象

publicvoidactionPerformed(ActionEvente)//动作事件处理方法

{

mylabel.setText(mytxt.getText());

}

});

myframe.setSize(500,200);//为窗口设置大小

myframe.setVisible(true);//窗口设置为可见

myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

方法二:

创建JFrame类的子类

importjavax.swing.*;//JFrame\JLabel\JTextField\JButton类所在包

importjava.awt.*;//常用布局类所在包

importjava.awt.event.*;//事件处理

classMyFrameextendsJFrameimplementsActionListener//继承了JFrame类,同时实现了ActionListener接口

{

JLabell;

JTextFieldtf;

JButtonbtn;

MyFrame()

{

super("Example");//调用父类构造方法,传递参数,实现设置标题

l=newJLabel("abcdefgh");

tf=newJTextField(18);

btn=newJButton("确定");

add(l);add(tf);add(btn);

btn.addActionListener(this);//由于本类实现了ActionListener接口,所以本类对象可以作为监听器对象

setLayout(newFlowLayout());

setVisible(true);

setBounds(50,50,500,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente)//重写ActionListener接口中actionPerformed方法,实现事件处理

{

l.setText(tf.getText());

}

}

publicclassTestJFrame2{//测试类

publicstaticvoidmain(String[]args){

newMyFrame();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1