第一行代码 Java章后习题及综合测试题答案.docx
- 文档编号:13795497
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:100
- 大小:82.13KB
第一行代码 Java章后习题及综合测试题答案.docx
《第一行代码 Java章后习题及综合测试题答案.docx》由会员分享,可在线阅读,更多相关《第一行代码 Java章后习题及综合测试题答案.docx(100页珍藏版)》请在冰点文库上搜索。
第一行代码Java章后习题及综合测试题答案
附录2:
习题答案
第1章:
Java简介——自我检测(答案)
1、填空题
1、Java源程序文件的后缀是*.java,Java字节码文件的后缀名称是*.class。
2、Java程序实现可移值性,依靠的是JVM。
3、Java语言的三个分支是:
JAVASE、JAVAME、JAVAEE。
4、Java程序由类组成,如果Java使用publicclass声明类,则文件名称必须与类名称一致。
5、Java执行是从main()方法开始执行的,此方法的完整定义是publicstaticvoidmain(Stringargs[])。
6、从命名标准上来讲,Java类名的每个单词的首字母通常要求大写。
7、当使用java命令解释一个程序时,一定需要classpath环境属性来定位类资源路径;
2、选择题
1、下面那个是属于解释Java程序所使用到命令?
(A)
A、java.exeB、javac.exeC、keytool.exeD、cmd.exe
2、下面的那个环境变量java解释时所需要的B。
A、pathB、classpathC、JAVA_HOMED、TEMP
3、下面那一种开发方向不属于Java定义的?
C
A、JavaSEB、JavaEEC、JavaCED、JavaME
3、判断题
1、Java语言属于编译型的开发语言。
(×)
2、JavaApplication程序不是由main()方法开始执行的。
(×)
4、简答题
1、简述Java实现可移值性的基本原理。
答:
Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:
由Java虚拟机去适应不同的操作系统,即:
只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。
2、简述Java语言的三个程序分支。
答:
JAVASE(Java标准版):
提供基础的Java类库及平台支持:
JAVAME(Java微型版):
提供嵌入式开发支持:
JAVAEE(Java企业版):
提供企业平台支持。
3、简述Java中path及classpath的作用。
答:
PATH:
是操作系统的环境属性,指的是可以执行命令的程序路径;
CLASSPATH:
是所有*.class文件的执行路径,java命令执行的时候将利用此路径加载所需要的*.class文件。
4、简述Java语言的主要特点。
答:
Java语言的主要的特点如下:
1、Java语言是一门面向对象语言,且语法足够简单;
2、Java避免了C/C++之中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递;
3、Java是为数不多的支持多线程开发的编程语言;
4、Java提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间;
5、Java语言的安全性较高;
6、Java最大的特点是具备可移植性,即:
同一个程序在不同的操作系统上都可以运行。
5、详细阐述Java中使用publicclass或class声明一个类的区别及注意事项。
答:
使用publicclass定义的类,要求文件名称和类名称保持一致,在一个*.java文件之中只能存在一个publicclass;
使用class定义的类,文件名称可以和类名称不一致,在一个*.java文件之中可以同时存在多个class定义,编译之后会产生多个*.class文件。
5、编程题
1、在屏幕上输出:
“我喜欢学习Java”的信息。
答案:
publicclassTestDemo{
publicstaticvoidmain(String[]args){
System.out.println("我喜欢学习Java");
}
}
2、在屏幕上打印出以下的图形:
*************************************
*********Java程序设计*********
*************************************
答案:
publicclassTestDemo{
publicstaticvoidmain(String[]args){
System.out.println("*************************************");
System.out.println("*********Java程序设计*********");
System.out.println("*************************************");
}
}
第2章简单Java程序——自我检测(答案)
1、填空题
1、Java中的标识符组成原则:
由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字。
2、assert关键字是在JDK1.4时加入的,enum关键字是在JDK1.5时加入的。
3、列举出已经知道的5个关键字:
public、static、void、int、double。
4、Java注释分为以下三种:
单行注释(//)、多行注释(/*…*/)、文档注释。
5、Java中使用int关键字,可以定义一个整型数据。
6、在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时会产生3个字节码文件,其扩展名是*.class。
7、布尔型数据类型的关键字是boolean,有true和false两种取值。
8、整型数可以采用byte、short、int和long四种类型表示。
9、根据占用内存长度的不同将浮点型分为float和double两种。
10、Java程序结构分为:
顺序结构、分支结构、循环结构三种。
11、逻辑表达式:
true&&false&&true的结果是false。
12、逻辑表达式:
!
true||false的结果是false。
13、在方法中可以使用return语句来结束方法的执行。
14、方法中的void关键字用来表示方法不返回任何值。
2、选择题
1、下面那些标识符是正确的D。
A、classB、helloworldC、123$tempD、Demo
2、下面那些关键字是Java中未使用到的关键字A、B(多选)。
A、constB、gotoC、intD、assert
3、publicstaticvoidmain方法的参数描述是:
A。
A、Stringargs[]B、int[]argsC、Stringsargs[]D、Stringargs
4、下面说法正确的是C。
A、Java程序的源文件名称与主类(puublicclass)的名称相同,后缀可以是.java或.txt等。
B、JDK的编译命令是java。
C、一个java源文件编译后可能产生多个class文件。
D、在命令行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。
5、下面说法不正确的是A。
A、Java语言是面向对象的、解释执行的网络编程语言
B、Java语言具有可移植性,是与平台无关的编程语言。
C、Java语言可对内存垃圾自动收集。
D、Java语言执行时需要Java的运行环境。
6、下面A不是Java的关键字。
A、integerB、doubleC、floatD、char
7、在Java中,字节数据类型的关键字和默认值是A。
A、byte和0B、byte和1C、boolean和trueD、boolean和false
8、3.15E2表示的数据是C。
A、3.15×2B、3.15×10-2C、3.15×102D、0.315×10-2
9、程序System.out.println("1+1="+1+1);的输出结果是C。
A、1B、1+1=2C、1+1=11D、2
10、程序System.out.println(10/3);的输出结果是B。
A、1B、3C、3.3D、3.33333
11、执行下面的语句后,a、b、c的值分别是C。
inta=2;
intb=(a++)*3;
intc=(++a)*3;
A、2、6、6B、4、9、9C、4、6、12D、3、9、9
12、以下的B能正确表示Java语言中的一个整型常量。
A、35.dB、-20C、1,234D、"123"
13、下面的数据类型D是float型
A、33.8B、129C、89LD、8.6F
14、下列关于自动类型转换的说法中,正确的一个是B。
A、int类型数据可以自动转换为char类型数据
B、char类型数据可以被自动转换为int类型数据
C、boolean类型数据不可以做自动类型转换,但是可以做强制转换
D、long类型数据可以被自动转换为short类型数据
15、一个方法在定义过程中又调用自身,这种方法称为B。
A、构造方法B、递归方法C、成员方法D、抽象方法
3、判断题
1、变量的内容可以修改,常量的内容不可修改。
(√)
2、goto是Java中未使用到的关键字。
(√)
3、enum关键字是在JDK1.4版本中增加的。
(×)
4、使用publicclass定义的类,文件名称可以与类名称不一致。
(×)
5、主方法编写:
publicvoidmain(Stringarg)。
(×)
6、字符$不能作Java标识符的第一个字符。
(×)
7、System.out.println()输出后是不加换行的,而System.out.print()输出后是加换行的。
(×)
8、使用break语句可以跳出一次循环。
(×)
9、byte的取值范围是:
0~255。
(×)
10、int和double进行加法操作,int会自动转换为double类型。
(×)
11、使用“&”操作时,如果第一个条件是false,则后续的条件都不再判断。
(×)
12、使用“&&”操作时,如果第一个条件是false,则后续的条件都不再判断。
(√)
13、使用“|”操作时,如果第一个条件是true,则后续的条件都不再判断。
(×)
14、使用“||”操作时,如果第一个条件是true,则后续的条件都不再判断。
(√)
15、定义多个同名方法时,可以依靠返回值区别同名方法。
(×)
4、简答题
1、请解释常量与变量的区别?
答:
常量就是一个固定的数值。
是不可改变的,例如:
数字1、2就是一个整型的常量。
变量是利用声明的方式,将内存中的某个内存块保留下来以供程序使用。
可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。
变量在程序语言中扮演了最基本的角色。
变量可以用来存放数据,而使用变量之前必须先声明它的数据类型。
2、解释方法重载的概念,并举例说明。
答:
方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。
代码说明:
publicstaticintadd(intx,inty){
returnx+y;
}
publicstaticintadd(intx,inty,intz){
returnx+y+z;
}
publicstaticdoubleadd(doublex,doubley){
returnx+y;
}
5、编程题
1、打印出100~1000范围内的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
publicclassTestDemo{
publicstaticvoidmain(String[]args){
inti,j,k;
for(intx=100;x<1000;x++){
i=x/100;//计算百位数字
j=(x/10)%10;//计算十位数字
k=x%10;//计算个位数字
if(x==i*i*i+j*j*j+k*k*k){
System.out.print(x+"、");
}
}
}
}
程序运行结果:
153、370、371、407、
2、通过代码完成两个整数内容的交换。
实现一:
引用第三方变量
实现二:
利用数学计算完成
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intx=10;
inty=20;
inttemp=x;
x=y;
y=temp;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intx=10;
inty=20;
x+=y;
y=x-y;
x=x-y;
System.out.println("x="+x);
System.out.println("y="+y);
}
}
程序运行结果:
x=20
y=10
3、判断某数能否被3,5,7同时整除。
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intdata=105;
if(data%3==0&&data%5==0&&data%7==0){
System.out.println(data+"可以同时被3、5、7整除。
");
}else{
System.out.println(data+"不可以同时被3、5、7整除。
");
}
}
}
程序运行结果:
105可以同时被3、5、7整除。
4、编写程序,分别利用while循环、do…while循环和for循环求出100~200的累加和。
实现一:
使用while循环
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intsum=0;
intx=100;
while(x<=200){
sum+=x;
x++;
}
System.out.println("累加结果:
"+sum);
}
}
实现二:
使用do…while循环
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intsum=0;
intx=100;
do{
sum+=x;
x++;
}while(x<=200);
System.out.println("累加结果:
"+sum);
}
}
实现三:
使用for循环
publicclassTestDemo{
publicstaticvoidmain(String[]args){
intsum=0;
for(intx=100;x<=200;x++){
sum+=x;
}
System.out.println("累加结果:
"+sum);
}
}
第3章、面向对象(基础)——自我检测(答案)
1、填空题
1、面向对象有那三大特征:
封装、继承、多态。
2、类由属性和方法组成。
3、new运算符的作用是根据对象的类型分配内存空间。
当对象拥有内存空间时,会自动调用类中的构造方法为对象实例化。
4、使用private修饰的类成员称为私有成员。
私有成员只能在类中使用。
5、构造方法的名称与类名称相同。
6、private关键字可以让类中的属性和方法对外部不可见。
7、this关键字可以调用本类中的属性、方法、构造方法,调用构造方法时必须放在构造方法的首行。
8、在Java中数组排序的方法是java.util.Arrays.sort()。
2、选择题
1、如果希望方法直接通过类名称访问,在定义时要使用的修饰符是A。
A、staticB、finalC、abstractD、this
2、如果类中没有定义构造方法,系统会提供一个默认的构造方法。
默认构造方法的特点是C。
A、无参数有操作B、有参数无操作C、即无参数也无任何操作D、有参数有操作
3、有一个类Demo,对与其构造方法的正确声明是B。
A、voidDemo(intx){…}B、Demo(intx){…}
C、DemoDemo(intx){…}D、intDemo(){}
4、以下关于面向对象概念的描述中,不正确的一项是C。
A、在现实生活中,对象是指客观世界的实体
B、程序中的对象就是现实生活中的对象
C、在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)
D、在程序中,对象是一组变量和相关方法的集合
5、下列那一项不属于面向对象程序设计的基本要素?
D
A、类B、对象C、方法D、安全
6、下列程序的执行结果是A
publicclassTestDemo{
publicvoidfun(){
staticinti=0;
i++;
System.out.println(i);
}
publicstaticvoidmain(Stringargs[]){
Demod=newDemo();
d.fun();
}
}
A、编译错误B、0C、1D、运行成功,但不输出
7、顺序执行下列程序语句后,则b的值是C。
Stringstr="Hello";
Stringb=str.substring(0,2);
A、HelloB、helloC、HeD、null
3、判断题
1、没有实例化的对象不能使用。
(√)
2、不可以为类定义多个构造方法。
(×)
3、使用static声明的方法可以调用非static声明的方法。
(×)
4、非static声明的方法可以调用static声明的属性或方法。
(√)
5、String对象可以使用==进行内容的比较。
(×)
6、垃圾是指无用的内存空间,会被垃圾收集机制回收。
(√)
7、构造方法可以有返回值类型的声明。
(×)
8、匿名对象是指使用一次的对象,使用之后将等待被垃圾回收。
(√)
9、使用static定义的内部类就成为外部类。
(√)
10、多个实例化对象之间不会互相影响,因为保存在不同的内存区域之中。
(√)
4、简答题
1、String类的操作特点。
答:
String类的对象有两种实例化方式:
|-方式一:
直接赋值,只开辟一块堆内存空间,并且对象可以入池;
|-方式二:
构造方法,开辟两块堆内存空间,有一块将称为垃圾,不会自动入池,使用intern()方法手工入池;
String对象的比较方法:
|-==:
比较的是两个字符串对象的内存地址数值;
|-equals():
字符串内容比较;
字符串对象一旦声明,则内容不可改变,改变的只能是字符串对象的地址指向。
2、简述垃圾对象的产生。
答:
垃圾指的是一块无用的引用内存,当将变量设置为null或者长时间不使用时,就将成为垃圾。
3、static方法如何调用?
非static方法如何调用?
答:
static方法可以使用类名称或实例化对象调用,而非static方法只能依靠实例化对象才可以调用。
4、类与对象的关系是什么?
如何创建及使用对象?
答:
类规定了对象所具有的属性及行为(方法),类只有通过产生对象才可以分配属性或者是调用方法,对象的创建依靠关键字new创建。
5、举例说明子类对象的实例化过程。
答:
当通过关键字new实例化子类对象时,会默认调用父类的无参构造方法,为父类对象实例化,而后才会调用子类的构造方法,为子类对象实例化。
7、简述this与super关键字的区别。
答:
this和super都可以调用类中的属性、方法、构造方法,但是this调用的是本类操作,而super是由子类调用父类操作。
5、编程题
1、编写并测试一个代表地址的Address类,地址信息由:
国家,省份,城市,街道,邮编组成,并可以返回完整的地址信息。
classAddress{
privateStringnational;
privateStringprovincial;
privat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一行代码 Java章后习题及综合测试题答案 一行 代码 Java 习题 综合测试 答案