java考试题型及要点.docx
- 文档编号:24740901
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:14
- 大小:49.79KB
java考试题型及要点.docx
《java考试题型及要点.docx》由会员分享,可在线阅读,更多相关《java考试题型及要点.docx(14页珍藏版)》请在冰豆网上搜索。
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();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 考试 题型 要点
![提示](https://static.bdocx.com/images/bang_tan.gif)