java带答案.docx
《java带答案.docx》由会员分享,可在线阅读,更多相关《java带答案.docx(28页珍藏版)》请在冰豆网上搜索。
java带答案
Java课程复习纲要(I)
第一章知识点
Java应用程序的结构P.5
Java程序设计原则P.6
Java语言的优势P.9
第二章知识点
JDK常用命令(Java编译器、Java解释器)P.20
常用缩写的含义,如:
JDK、JRE、JVM、API、OOP等
举例说明Java应用程序的开发过程P.26~P.28
第三章知识点(重点章节——Java基础语法)
Java标识符的命名规则P.33;Java常用关键字P.33
【重点】:
Java的数据类型。
基本数据类型(P.35、图3.1、P.38~P.40)和引用类型
Java常量和变量P.36~P.38;转义字符P.37、表3.2
数据类型转换(自动类型转换、强制类型转换)P.41~P.43、图3.3
【重点】:
运算符和表达式P.43~46
【重点】:
程序的控制结构(顺序结构、分支结构、循环结构、跳转结构)P.46~P.58
第四章知识点(重点章节——面向对象基础)
面向对象的基本概念,包括:
对象、类、包(理解)
面向对象的基本特征,包括:
抽象、封装、继承、多态(理解)
面向对象程序设计的优越性P.70(对比:
Java语言的优势P.9)(理解)
递归思想(理解)
【重点】:
类的定义,包括:
类首的声明P.71、类体的定义(成员变量即属性的定义P.72、成员方法即方法的定义P.73、构造方法的定义及其区别于成员方法的特性P.75)。
需注意:
this关键字的用途P.80
【重点】:
Java修饰符(访问控制修饰符P.83~P.85、特征修饰符P.86~P.88,表4.1、表4.2、图4.7、图4.8、图4.9),包括:
类的访问控制修饰符P.83、成员要素的访问控制修饰符P.83~P.85、类的特征修饰符P.86、成员要素的特征修饰符P.87~P.88。
需注意:
static修饰符及静态成员要素的特性P.88~P.90、表4.3
【重点】:
对象又称为实体,对象的创建、初始化P.77~P.78及对象的使用(使用对象的属性和方法P.80)
【重点】:
详细描述与方法相关的知识点。
方法头声明P.91、方法的参数列表P.93、方法体P.92、局部变量P.92、方法的调用P.94、常用的get和set方法P.81
第五章知识点(重点章节)
一维数组的创建P.100、P.101及数组的使用P.105~P.108
字符串的定义、赋值及常用方法,详见课件及API
Math、System、JOptionPane等类的常用方法,详见课件及API
复习题目
一、选择题
知识点
●Java是严格区分大小写、完全面向对象的语言,类是程序的基本单位。
●一个应用程序可以由多个源程序文件组成,扩展名为.java。
●Java中的三种注释:
//注释对单行代码注释
/*注释*/对多行代码注释
/**注释*/代码开头部分注释相关版权信息
1)Java是一种完全面向 B的语言。
A)过程B)对象C)组件D)服务
2)下列说法中,正确的是C
A)Java是不区分大小写的,源文件名与程序类名不允许相同
B)Java语言是以方法为程序的基本单位
C)applet是Java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网上
D)以//开始的为多行注释语句
3)Java程序中,不能用来表示注释的是D
A)//注释
B)/*注释*/
C)/**注释*/
D)/注释/
4)下列叙述中,正确的是_A___
A)Java语言的标识符是区分大小写的
B)源文件名与public类名可以不相同
C)源文件名其扩展名为.jar
D)源文件中public类的数目不限
5)下列对Java特性的叙述中,错误的是D
A)Java语言用解释器执行字节码。
B)Java中的类一般都有自己的属性和方法。
C)package语句运行0或1个。
D)Java应用程序中的pubic类允许定义0个或多个。
知识点:
JDK常用命令
●Javac编译器命令:
编译Java源文件,生成类文件,即字节码文件。
●Java解释器命令:
执行经过编译后产生的类文件。
●源文件扩展名.java;字节码文件扩展名.class
1)Java源文件和字节码文件的扩展名分别是 B
A).class和 .java B).java和.class C).class和 .class D).java和 .java
2)Java编程中,Java编译器会将Java源代码转换为 A
A)字节码B)可执行代码C)机器代码D)以上选项都不正确
3)JDK中,用于解释执行编译所产生类的java命令是C
A)javacB)javadC)javaD)jar
4)JDK中,将Java源文件编译成字节码文件的命令是B
A)javaB)javacC)javadocD)jdb
知识点
●一个文件中可定义若干个类,但最多只能定义一个public访问修饰的类,称该类为主类。
●在主类中定义main()方法。
1)Java应用程序的主类是指包含有__A__方法的类。
A)main方法B)构造方法C)set方法D)get方法
2)Java应用程序中的主类需包含main方法,main方法的返回类型是D
A)intB)floatC)doubleD)void
3)一个可以独立运行的Java应用程序,说法正确的是_D___
A)可以有一个或多个main方法
B)最多只能有两个main方法
C)可以有一个或零个main方法
D)只能有一个main方法
知识点:
标识符的命名规则
●标识符的合法符号包括:
字母、数字、下划线_及美元符号$。
字母为大写或小写的英文字母,数字为0~9;
●标识符的首字母必须为字母、下划线或美元符号,即数字不允许为标识符的首字母;
●标识符区分大小写;
●标识符不允许与关键字相同,但允许关键字作为标识符的一部分;
●标识符应遵循命名规范,如:
类名的首字母大写、属性与方法名的首字母小写。
1)以下声明的变量中,不合法的是B
A)internet_network B)*number C)Hello D)_sys_path
2)下列合法的Java变量名是D
A)caseB)51jobC)if-elseD)$100
3)下列属于合法的Java标识符是__A__
A)_cat B)5books C)+static D)-3.14159
4)下列不合法的变量名是A
A)82variableB)variable2C)_whatavariableD)$another
5)下列合法的Java标识符是B
A)Tree&GlassesB)FirstappletC)-$theLastOneD)273.5
知识点:
转义字符
●转义字符用于表述特定的功能或执行特殊的动作;
●常见转义字符:
水平制表符、退格符、回车符、换行符等,详见表3.2。
1)在Java中,表示换行符的转义字符是__C__
A)'\n' B)'\'' C)'n' D)'\f'
2)在Java中,表示水平制表符的转义字符是_D___
A)'\b' B)'\r' C)'n' D)'\t'
知识点:
关键字
●关键字是Java语言定义、并赋予特定含义的一类标识符,用户只能按照规定使用这些关键字;
●常见关键字,详见表3.1。
1)Java用来定义一个类时,所使用的关键字是__A__
A)class B)public C)final D)[]
2)以下不是Java有效关键字的是__C____
A)const B)string C)false D)this
3)下列关键字中可以表示常量的是
A)finalB)defaultC)privateD)transient
4)Java语言中,不能被修改的变量是用关键字修饰的。
A)finalB)classC)systemD)void
5)在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是
A)packageB)importC)includeD)packet
知识点:
常量和变量、数据类型
●Java数据类型,详见图3.1;
●变量是程序运行过程中数据类型不变,但数值可以发生改变的一种量;
●变量三要素:
变量名、变量数据类型、变量值;
●变量要先定义、再使用。
1)下列赋值语句中错误的是
A)floata=11.1d;B)doubled=2.4E8;
C)charc='\n';D)Stringbb="110";
2)下列代表单精度浮点数的是______
A)0652B)3.4457DC)0.298fD)0L
3)下列代表双精度浮点数的是______
A)0652B)3.4457DC)0.298fD)0L
4)下列语句正确的是______
A)System.out.println(1+''I'');
B)inti=2+"2";
C)Strings="on"+'one';
D)byteb=257
5)下面的Java语句中,正确表达的是
A)Strings="Hello";inti=3;s+=i;
B)Strings="Hello";inti=3;if(i==s){s+=i};
C)Strings="Hello";inti=3;s=i+s
D)Strings="Hello";inti=3;s=i++;
6)下列赋值语句不正确的是
A)floatf=11
B)doubled=5.3E12
C)float d=3.14f
D)double f=11.1E10
7)下列赋值语句正确的是
A)chara=12;
B)inta=12.0;
C)inta=12.0f;
D)inta=(int)12.0f;
8)以下不是局部变量的是
A)main方法体内定义的变量B)for循环语句中定义的变量
C)成员方法中的形参变量D)类体中定义的成员变量
9)下列代码将引起一个编译错误的行是______
1) public void modify() {
2) int i,j,k;
3) i=100;
4) while (i>0) {
5) j=i*2;
6) System.out.println (" The value of j is " +j );
7) k=k+1;
8) i--;
9)}
10)}
A)第4行 B)第6行 C)第7行 D)第8行
提示:
由于Java中变量声明并没有分配内存空间,必须通过初始化才能使用变量。
知识点:
数组
●数组是具有相同类型的数据的集合,数组元素的类型可以使基本数据类型,也可以使类或接口;
●使用数组名和下标可以唯一确定数组中的每个元素,数组下标的索引号从0开始,故最后一个元素的索引号应是(数组长度-1);
●数组必须先经过声明和初始化后才能使用。
使用new关键字动态初始化数组,格式见P.101;
●重点掌握一、二维数组。
1)设数组Array由intArray=newint[8];定义,则数组的第一个元素的正确引用方法是____
A)Array[1] B)Array[0] C)Array[] D)Array
2)设数组Array由intArray=newint[9];定义,则数组的最后一个元素的正确引用方法是____
A)Array[9] B)Array[8] C)Array[] D)Array[0]
3)以下哪个声明是正确初始化含有5个数组元素的数组
A)Arraya=newArray(e);B)int[]a={1,2,3,4,5}
C)int[]array;D)intarray[]=newint[5];
4)数组length属性,length()方法。
A)有B)没有
提示:
数组通过length属性获得数组的长度。
知识点:
字符串类、Math类及其常用方法
●字符串是用双引号括起来的字符序列,而字符则是使用单引号括起来的单个字符;
●Java语言将字符串视为对象,String视为类;
●字符串常用方法,如:
取指定位置的字符、获得字符串的长度、取子串、字符替换、字母大(小)写转换、字符串的连接等;
●Math类中的常见静态方法,如:
Math.sqrt()、Math.pow()等方法。
详见API。
1)下列能表示字符串s1长度的是
A)s1.length()B)s1.lengthC)s1.sizeD)s1.size()
2)字符串length属性,length()方法。
A)有B)没有
解析:
字符串通过length()方法获得字符串的长度。
3)下列程序段的输出结果是
publicclassTest{
publicstaticvoidmain(String[]args){
inta=3,b=4,c=5;
System.out.println("abc"+a);
}
}
A)15B)abc3C)256D)63
4)下列代码的执行结果是
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta=4,b=6,c=8;
Strings="abc";
System.out.println(a+b+s+c);
System.out.println();
}
}
A)ababcc
B)464688
C)46abc8
D)10abc8
5)下列程序的输出结果是__________
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[])
{
Strings1="Hello!
";
Strings2=newString("World!
");
System.out.println(s1.concat(s2));
}
}
A)false
B)Hello!
C)Hello!
Wofld!
D)12
6)假设有以下代码,下列选项中返回false的语句是__________
String s= "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'} ;
A)s.equals(t); B)t.equals(c); C)s==t; D)t.equals(new String("hello"));
提示:
==操作符比较的是操作符两端的操作数是否为同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回false。
重点:
由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的,因此答案C是正确的。
7)下列正确计算23的6次幂的语句是
A)doubled=Math.pow(23,6);
B)doubled=Math.sqrt(23,6);
C)doubled=Math.pow(6,23);
D)doubled=Math.sqrt(6,23);
知识点:
运算符、表达式、语句;数据类型转换
●运算符是指对数据实施运算控制的符号。
以a+b为例,参与运算的a和b称为操作数,操作数可以是常量、变量、表达式和有返回值的方法;+为运算符,各类运算符应熟记。
●表达式是指由运算符和操作数连接而成,符合计算机语言语法规则,并具有特定结果值的符号序列,a+b为表达式
●算术运算符及算术表达式;关系运算符及关系表达式;逻辑运算符及逻辑表达式;赋值运算符及赋值表达式;条件运算符及条件表达式;
●运算符的优先级;
●有效表达式后加上分号就构成了语句,如:
intc=a+b;
●理解自加、自减及复合赋值运算。
●表达式中涉及不同类型的数据时,需要进行数据类型转换。
类型转换包括:
自动类型转换和强制类型转换,数据类型转换示意图见P.44(图3.3)
1)下列程序段执行后的输出结果是
int x=3;inty=10;
System.out.println(y%x);
A)0B)1C)2D)3
2)下列程序段执行后的输出结果是
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println(5/2);
}
}
A)2.5B)2C)2.50D)2.0
3)设x=1,y=2,z=3,则表达式y+=z--/++x的值是
A)3B)3.5C)4D)5
4)下列代码的执行结果是
publicclassTest1{
publicstaticvoidmain(Stringargs[]){
floatt=9.0f;
intq=5;
System.out.println((t++)*(--q));
}
}
A)40B)40.0C)36D)36.0
5)下面Java代码所执行的结果是
publicclassCount{
publicstaticvoidmain(Stringargs[]){
floatt=9.0f;
intq=5;
System.out.println((t++)*(--q));
}
}
A)40B)40.0C)36D)36.0
6)下列Java表达式的计算结果是
19/3(int)71.7-2*37%3(double)1/8+3
A)6.36422.5
B)66313.125
C)6.46722.5
D)66513.125
7)下面程序段执行完后,正确的结果是______
boolean a=false;
boolean b=true;
boolean c=(a&&b)&&(!
b);
boolean result =(a&b)&(!
b);
A)c=false;result=false B)c=true;result=true C)c=true;result=false D)c=false;result=true
8)下列程序段的输出结果是
publicclassTest{
publicstaticvoidmain(String[]args){
intx=20,y=30;
booleanb;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
}
A)trueB)0C)1D)false
9)阅读下列代码,其运行结果是
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(2<0?
10:
8);
}
}
A)2B)10C)8D)条件运算符错误,应是(2<0?
10;8)
10)以下程序段执行后的k值是
intx=20,y=30;
k=(x>y)?
y:
x
A)20 B)30 C)10 D)50
11)在Java语言中,被称为内存分配的运算符是
A)instanceB)newC)[]D)()
知识点:
控制结构
●控制结构包括:
顺序结构、选择分支结构、循环结构、跳转结构。
●选择分支结构:
if-else、switch-case、
●循环结构:
while、do-while、for
●跳转结构:
break、continue
1)下列程序段中x的取值在范围内时,将打印出字符串"second"
if(x>0){System.out.println("first");}
elseif(x>-4){System.out.println("second");}
else{System.out.println("third");}
A)x>0
B)x>-4
C)x<=-4
D)x<=0&&x>-4
2)在switch(expression)语句中,expression的数据类型不能是______
A)double B)char C)byte D)short
解析:
表达式expression只能返回这个几种类型的值:
int)byte)short和char。
多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。
3)下列程序段的输出结果是
int a=2;
switch (a)
{
case 2:
System.out.print("Val