Java程序设计习题以及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题。
判断以下各题能否正确,若正确,在()内打“√”,不然打“×”。
1、Java 语言拥有较好的安全性和可移植性及与平台没关等特征。
√
2、Java 语言的源程序不是编译型的,而是编译解说型的。
√
3、Java 语言使用的是 Unicode 字符集,每个字符在内存中占8 位。
×
4、Java 语言中不一样数据种类的长度是固定的,不随机器硬件不一样而改变。
√
6、一个类能够实现多个接口,接口能够实现“多重继承”。
√
7、实现接口的类不可以是抽象类。
×
二、不定项选择题。
1、编译 Java Application 源程序言件将产生相应的字节码文件,这些字节码文件的扩展
名为( B)。
A、java
B、class
C、html
D、exe
2、main 方法是 Java Application程序履行的进口点,对于main 方法的方法首部,以下( B)项是合法的。
A、public static void main()
B、public static void main(String args[])
C、public static int main(String[] arg)
D、public void main(String arg[])
3、对于下边代码的说法(C)是正确的?
public class Example{
public static void main(String[] args){
int[] arr= new int[10];
}
}
A、编译时产生错误
B、编译时正确,运转时将产生错误
C、输出零
D、输出空 (null)
4、不正确的表达式是( AB)。
A、float a=1.0d;
B、Double a=new Double(1.0)
C、byte a = (byte)340;
D、Byte a = 120;
5、定义一个类名为 "MyClass.java" 的类,而且该类可被一个工程中的全部类接见,那么
该类的正确申明应为( CD)。
A、private class MyClass extends Object
B、class MyClass extends Object
C、public class MyClass
D、public class MyClass extends Object
6、以下结构方法的调用方式中,正确的选项是(C)。
A、依据一般方法调用
B、由用户直接调用
C、只好经过 new自动调用
D、被系统调用
7、private级的成员能够被哪些对象接见?C
A、同一包中的其余类
B、仅同一类的私有成员方法
C、仅同一类的全部成员方法
D、全部其余类
8、对于 Object类,以下正确的选项是(ADE)。
A、Object 类中定义了一些重要的方法,以方便Java 类的使用
B、Object 类是一个特别特别的“虚构”类,就是说只好从 Object 类派生出其余类,但不可以创立一个 Object 类的对象,也不可以将一个引用变量定义为 Object 种类
C、假如一个类已经有了父类,那么这个类同时继承了 Object 类,也就是说这时候这个类实质上有两个父类
D、Object 类是所在其余 Java 类的直接或间接父类
E、Java 中的类是单继承的,所以所在的类以Object 类为根,形成了棵继承树
9、抽象类与一般类的差别是什么?C
A、抽象类没有成员变量,只有成员函数
B、抽象类只有成员变量,没有成员函数
C、抽象类中有抽象函数,而一般类的每个函数都是有详细实现的
D、抽象类与一般类没有差别
10、使用接口的往常方法是(D)。
A、将接口数看作静态数据来调用
B、直接调用接口的方法
C、将接口变量作为方法的参数来使用
D、定义一个接口变量,该变量指向实现接口的对象来接见
E、定义一个接口对象,经过对象接见
11、履行以下代码后,哪个结论是正确的 String[] s=new String[10]; BD A 、s[10] 为 "" B 、s[9] 为 null; C 、s[0] 为 不决义 D 、 为 10 12、以下对 substring 函数的描绘中,错误的选项是() 。
BC A 、String 和 StringBuffer 类都能够使用 substring 函数 B 、substring 函数返回一个 StringBuffer 对象 C 、substring 函数获取从指定地点开始,到指定地点为止的字符串 D 、substring 函数用于获取字符串的一个子串 13、假如 catch 块中包含多个异样类,这些异样类的般配原则是什么? C A 、接 try 块中程序履行的次序,找寻最通用的异样类
B 、接 try 块中程序履行的次序,找寻能够最精准般配的类
C 、接 catch 块中异样类的摆列次序,找寻第一个能够般配的异样对象
D 、在 catch 块中找寻能够最精准般配的类
14、以下异样中,不属于 RuntimeException 的是( D )。
A 、IndexoutofBoundsException 数组以下越界异样 B 、NullPointerExcePtion C 、ArithmeticException
D 、IllegalAccessException
15、运转以下程序 , 会产生什么结果。
AD
public class MyThread extends Thread implements Runnable{ public void run(){ }
public static void main(String[] args) {
Thread t=new Thread(new MyThread ()); t.start(); } }
A 、第一行会产生编译错误
B 、第六行会产生编译错误
C 、第六行会产生运转错误
D 、程序会运转和启动
使用未初始化的引用变量
算术异样 没有足够的权限接见其余类的成员
三、简答题。
1、子类从头定义与父类方法的方法头完整同样的方法,这类状况称为何 ?此时子类对象还可以履行父类中本来的方法吗 ?
答:这类状况称为方法的覆盖,此时,在子类中已不可以找到父类本来的方法,它的内
存地点已经被代替。
2、final修饰符能够用来修饰什么?被 final修饰符修饰后有何特色?
答: final修饰符可用来修饰类、属性、方法和终结器。
被final修饰符修饰的类没有子类。
被final修饰符修饰的属性在程序整个履行过程中都不可以改变。
被final修饰符修饰的方法是功能和内部语句不可以改正的最后方法。
被final修饰符修饰的终结器(以称析构器—— finalize()方法,是在对象被删除行进行扫尾工作的方法)也是不可以
改正的。
3、试写出一个语句创立一个名为 myPackage的包,这个语句应当放在程序的什么地点 ? package MyPackage;应当在程序第一句。
四、编程题。
1、打印出全部的“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字的立方
和等于该数自己。
比如: 153 是一个“水仙花数” ,由于 153=13+53+33。
#include <stdio.h>
int main(){ //所谓水仙花数是指一个三位数,其各位数字立方和等于该数int
i;
int a=0,b=0,c=0; //a 表示百位上的数, b 表示十位上的数, c 表示个位上的数, printf(" 打印三位数的全部水仙花数 \n");
for (i=100;i<1000;i++)
{
a=i/100;
b=i/10;
c=i;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d\n",i);
}
}
return 0;
}
2、编程创立一个 Cube 类,在此中定义三个变量表示一个立方体的长、宽和高,定义一
个结构方法对这三个变量进行初始化,而后定义一个方法求立方体的体积。
创立一个对象,求给定尺寸的立方体的体积。
public class Box{
double length;//长
double width;//宽
double height;//高
public Box(){//结构函数
length=0;
width=0;
height=0;
}
public void setLength(double length){//设置长
this.length=length;
}
public double getLength(){//获取长
return length;
}
public void setWidth(double width){//设置宽
this.width=width;
}
public double getWidth(){//获取宽
return width;
}
public void setHeight(double height){//
设置高
this.height=height;
}
public double getHeight(){//
获取高
return height;
}
public double volumn(){//求容积
double volumnValue;
volumnValue=length*width*height;
return volumnValue;
}
public double surfaceArea(){//
求表面积
double surfaceAreaValue;
surfaceAreaValue=length*width*2+width*height*2+height*length*2; return surfaceAreaValue;
}
利用 for 循,算 1+2+34+5+⋯+100 的和 public class Add{
public static void main(String[] args){
int n, result;
n = 100;
result = add1(n);
}
public static int add1(int n){
int i, result = 0;
for (i = 1; i <= n; i++) {
result += i;
}
return result;
}
}
利用 while 句 , 算 1+3+5+7+9...+99 的和
public class Sum {
public static void main(String args[]){
int i,j,sum=0;r=1;
while(i<=20){
for(j=1;j<=i;j++){
r=r*i;
}
sum+=r;
i++;
}
}
}。