当前位置:首页 » 编程语言 » java考试试题

java考试试题

发布时间: 2022-05-13 16:36:22

1. 关于java考试试题(简答题部分)

21:抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。
动物类要有呼吸方法。怎么呼吸就是子类的事了。
现在有很多讨论和建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法,就像JAVA王子所说的事件中的适配器就是一个很好的应用。
用一个简单的例子,比如说一个教师,我们把它作为一个抽象类,有自己的属性,比如说年龄,教育程度,教师编号等等,而教师也是分很多种类的,我们就可以继承教师类而扩展特有的种类属性,而普遍属性已经直接继承了下来。
而接口呢~还是拿教师做例子,教师的行为很多,除了和普通人相同的以外,还有职业相关的行为,比如改考卷,讲课等等,我们把这些行为定义成无body的方法,作为一个集合,它是一个interface。而教师张三李四的各自行为特点又有不同,那么他们就可以扩展自己的行为body。从这点意义上来说,interface偏重于行为。
总之,在许多情况下,接口确实可以代替抽象类,如果你不需要刻意表达属性上的继承的话。
23:在Java 1.0中,图形用户接口(GUI)库最初的设计目标是让程序员构建一个通用的GUI,使其在所有平台上都能正常显示。
但遗憾的是,这个目标并未达到。事实上,Java 1.0版的“抽象Windows工具包”(AWT)产生的是在各系统看来都同样欠佳的图形用户接口。除此之外,它还限制我们只能使用四种字体,并且不能访问操作系统中现有的高级GUI元素。同时,Jave1.0版的AWT编程模型也不是面向对象的,极不成熟。这类情况在Java1.1版的AWT事件模型中得到了很好的改进,例如:更加清晰、面向对象的编程、遵循Java Beans的范例,以及一个可轻松创建可视编程环境的编程组件模型。Java1.2为老的Java 1.0 AWT添加了Java基础类(AWT),这是一个被称为“Swing”的GUI的一部分。丰富的、易于使用和理解的Java Beans能经过拖放操作(像手工编程一样的好),创建出能使程序员满意的GUI。软件业的“3次修订版”规则看来对于程序设计语言也是成立的(一个产品除非经过第3次修订,否则不会尽如人意)。
24:通过URLConnection对URL里面所包含的资源进行利用。比如得到URL中的参数、得到一个cookie文件,制作蜘蛛爬虫等等。具体要看他下面的方法。
25:A:小应用程序只能在与Java兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行。小应用程序的运行还受到严格的安全限制,例如它不能访问用户计算机上的文件。Java应用程序没有这些限制,也不支持网页嵌入和下载运行。

B:小应用程序和应用程序在代码编写上也有很大的差异。一个小应用程序必须定义成一个Applet类的子类,应用程序可以是Applet类的子类,也可以不是。应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。而小应用程序不必定义main()方法,它的执行由Applet类中定义的多个方法控制。
22和26,直接在可视化窗口里拖拽。代码我在此就不写了。

2. java期末考试题目

第一个什么平方根的,数学没学好,不知道用if()怎么算,倒是可以用方法Math.sqrt()
//2222222222222
importjava.util.Scanner;
publicclassTest2{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("输入一个年份,判断是闰年还是平年:");
intyear=sc.nextInt();
if(year%4==0&&year%100!=0||year%400==0){//判断闰年一般的规律为:四年一闰,百年不闰,四百年再闰
System.out.println(year+"年是闰年。");
}else{
System.out.println(year+"年是平年。");
}
}
}

//3333333333333
importjava.util.Scanner;
publicclassTest3{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入学生的考分,按回车查询考分等级");
floatscore=sc.nextFloat();
Stringscore_class=null;
if(score>=0&&score<60){
score_class="不及格";
}elseif(score<70){
score_class="及格";
}elseif(score<80){
score_class="中等";
}elseif(score<90){
score_class="良好";
}elseif(score<=100){
score_class="优秀";
}else{
System.out.println("请输入合法考分(0--100),请重新启动查询!");
System.exit(0);
}
System.out.println("该生成绩:"+score+",等级为:"+score_class);
}
}

//44444444444444
importjava.util.Arrays;
importjava.util.Scanner;
publicclassTest4{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
int[]arr=newint[3];
System.out.println("请输入3个整数,让电脑判断大小后,从小到大输出");
for(inti=0;i<3;i++){
System.out.println("请输入第"+(i+1)+"个数大小:");
arr[i]=sc.nextInt();
}
Arrays.sort(arr);
System.out.println("重新排序后,从小到大的顺序是:");
for(intx:arr){
System.out.print(x+"");
}
}
}

//555555555555555
publicclassTest5{
publicstaticvoidmain(String[]args){
intsum=0;
for(inti=1;i<=100;i++){
sum+=i;
}
System.out.println("1+2+3+4+...+100的和是:"+sum);
}
}
//6666666666666666
publicclassTest6{
publicstaticvoidmain(String[]args){
System.out.println("九九乘法表");
for(inti=1;i<=9;i++){
for(intj=1;j<=9;j++){
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();
}
}
}
//777777777777777777
publicclassTest7{
publicstaticvoidmain(String[]args){

for(inti=1;i<5;i++){
for(intj=1;j<5;j++){
System.out.print("*");
}
System.out.println();
}
}
}

//88888888888888888888
publicclassTest8{
publicstaticvoidmain(String[]args){
intn=4;
for(inti=1;i<=n;i++){
for(intj=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
}

//9999999999999999
publicclassTest9{
publicstaticvoidmain(String[]args){
for(inti=1;i<=4;i++){
for(intj=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
//注意下面只有3行
for(inti=1;i<=3;i++){
for(intj=3-i;j>=0;j--){
System.out.print("*");
}
System.out.println();
}
}
}
//10101010101010
publicclassTest10{
publicstaticvoidmain(String[]args){
System.out.println("现在一数组arr[10]={1,3,5,2,82,6,7,0,12,4}"+
"找出最大的数的位置并输出到屏幕");
int[]arr={1,3,5,2,82,6,7,0,12,4};
intmax=arr[0];
intindex=0;
for(inti=0;i<arr.length;i++){
if(arr[i]>max){
index=i;
max=arr[i];
}
}
System.out.println("经过查找,该数组中最大值是:"+max+",在数组中第"+(index+1)+"个位置");
}
}

////////////1111111111
/*
*素数:只有除以1和它本身时能整除,除以其它任何自然数都不能整除
*/
publicclassTest11{
publicstaticvoidmain(String[]args){
System.out.println("101-200之间素数:");
for(inti=101;i<=200;i++){
intj=1;
intcount=0;
//计数,当一个数队在1至本数之前有第3个数可以整除,则不是素数
for(intk=1;k<=i;k++){
if(i%k==0){
count++;
}
}
if(count<3){
System.out.print(i+"");
}

}

}
}
//1212121212
publicclassTest12{
publicstaticvoidmain(String[]args){
System.out.println("打印水仙花数:");
for(intnum=100;num<=999;num++){
intge=num%10;
intshi=(num/10)%10;
int=num/100;

if((Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(,3))==num){
System.out.print(num+"");
}
}
}
}

3. java考试选择题

2、D
3、B
4、A
5、D
6、D
7、D
8、C
9、A
10、A
11、A
12、C
13、B
14、D
15、B

4. Java考试题

c a b b c c b a b d d
d

5. JAVA考试题

1、请问 ”2” 、’2’、2之间有什么不同?并回答下面程序的输出结果是什么? (提示:‘2’的ASCII码值是50 )(8分)
答:"2"是字符串,'2'算字符。2是数字。
class test
{
public static void main(String[] args)
{
int a=2;
int b='2';
System.out.println (a+a);
System.out.println (a+b);
}
} 输出结果为:4
52

2、你认为java、C、C++他们之间有没有联系和区别?和C、C++相比,java有哪些优点?(10分)
答:java是以c及c++为基础的。许多地方沿用了它们的思想。但最主要的,java是完全面向对象的编程,而c是面向过程,c+则不完全是面向对象。java相对说来,编程更方便,安全,结构,模块化强,易于移植,跨平台性好等。
3、下面两段代码具有多处错误,请找出你认为错误的地方,作上标记,并说明为何出错。如果你认为该行没有错误,请打上√ (12分)
i)public int search (int 错[10] number) 1、 引用时只能是类型不能带值{
number错 = new int[10]; 2、 数组没有下标
for (int i=0;i<number.length;i++) 3、对
{
number[i]=number[i-1]+number[i+1]错; 4、数组在i+1在i=number.length-1是超界
return number; 5、对
}
}

ii)
class MyclassOne
{
public final int A=365;
public int b;
private float c;
private void myMethodOne(int a)
{
b=a;
}
public float myMethodTwo()
{
return 36;
}
}

class MyClassMain
{
public static void main(String[] args)
{
MyClassOne w1=new MyClassOne();
w1.A=12; 6、错误,试图给final型再次赋值
w1.b=12; 7、对Myclassone中b赋值
w1.c=12; 8、对myclassone float c赋值
w1.myMethodOne(12); 9、调用myclassone的mymethodone形参为int的方法,
w1.myMethodOne(); 10、调用myclassone的mymethodone无形参的方法System.out.println(w1.myMethodTwo(12)); 11、输出myclassone的mymethodtwo(12)值
w1.c=w1.myMethodTwo(); 12让c引用mymethodtwo方法
}
}

请简要说明下面程序的功能
1) public class Sum ( 5分 )
{ public static void main( String args[ ])
{ double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + )
sum += 1.0/(double) i ;
System.out.println( "sum="+sum );
}
} 功能为 求出1/1+1/2+1/3+1/4….+1/100的和
程序设计:(10分)
编写一个java程序。要求该程序能够具有以下功能:
定义一个坐标类coord。坐标类coord必须满足如下要求:
a)coord类含有两部分数据:横坐标x和纵坐标y。x和y的类型都是int类型。
b)coord类的方法有:
coord( ) : 构造函数,将横坐标和纵坐标的值都赋值为0
coord( int x , int y ) : 构造函数,形参 x 为横坐标的初值,y为纵坐标的初值。
coord coordAdd(int x, int y) : 将当前坐标对象与形参的值相加,所得的结果仍是一个坐标,返回给此方法的调用者。
(提示:可以将两个坐标相加定义为横坐标和横坐标相加,纵坐标和纵坐标相加。例如(1,2)+(3,4)=((1+3),(2+4))=(4,6))

public class Coord {
int x=100;
int y=200;
public Coord(){
this.x=0;this.y=0;
}
public Coord(int x,int y) {
x=this.x;y=this.y;
}
void coordAdd(int x,int y){
this.x+=x;
this.y+=y;

}
public static void main (String[] args) {

}

}
程序设计:(10分)
请编写一个java程序,利用该程序计算并输出 1+2+3+……+100的值
Sum.java

public class Sum {

public Sum() {
int sum=0;
for(int i=1;i<=100;i++)
sum+=i;
System.out.println("1+2+3+...100="+sum);
}
public static void main (String[] args) {
new Sum();
}

}
OK??

6. JAVA语言考试填空题。

1 .java .class
2 父类
3 javac 字节码
4 JAVA JAVA文件
6 public static void main()
7 double boolean char

7. java 考试选择题

11. 代码如下:
1. public class WhileExm {
2. public static void main (String []args) {
3. int x= 1, y = 6;
4. while (y--) {x--;}
5. system.out.printIn(“x=” + x “y =” + y);
6. }
7. }
结果是什么? E
A. The output is x = 6 y = 0
B. The output is x = 7 y = 0
C. The output is x = 6 y = -1
D. The output is x = 7 y = -1
E. 编译失败
12. 代码如下:
1. public class Foo {
2. private int val;
3. public foo(int v) (val = v;) }
4. public static void main (String [] args) {
5. Foo a = new Foo (10);
6. Foo b = new Foo (10);
7. Foo c = a;
8. int d = 10;
9. double e = 10.0;
10. }
11. }
下面哪个逻辑表达式为真? A E
A. (a ==c) B. (b ==d) C. (a ==b) D. (b ==c) E. (d ==10.0)

13. 代码如下:
1. int i=1, j=0;
2. switch(i) {
3. case 2:
4. j+=6;
5. case 4:
6. j+=1;
7. case 1:
8. j +=2;
9. case 0:
10 . j +=4;
11. }
最终j的值是什么? E
A. 0 B. 1 C. 2 D. 4 E. 6
14. char的数值范围是多少? C
A. 0 . . . 32767 B. 0 . . . 65535 C. –256 . . . 255 D. –32768 . . . 32767
E. Range is platform dependent.
15. 下面关于变量及其范围的陈述哪些是对的?A B C
A. 实例变量是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。
16. 有关构造方法,下列叙述正确是? D
A. 默认的构造方法初始化方法变量。
B. 默认的构造方法初始化了在类中声明的实例变量。
C. 假如一个类缺少没有参数的构造方法,但是有其它的构造方法,则编译器生成一个缺省的构造方法。
D. 编译器只有当一个类没有其它的构造方法时才生成缺省的构造方法。

17. 关于被保护访问控制符protected修饰的成员变量,以下说法正确的是( B )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
18. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( C )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
19. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
20. 下述说法中,错误的是 D
A.Java中,方法的重载是指多个方法可以共享同一个名字
B.Java中,用abstract修饰的类称为抽象类,它不能实例化
C.Java中,接口不包含成员变量和方法实现
D.Java中,构造方法可以有返回值

热点内容
phpcookie设置时间 发布:2025-05-11 07:36:15 浏览:109
固态硬盘需要缓存吗 发布:2025-05-11 07:29:09 浏览:605
松江换门密码锁哪里有 发布:2025-05-11 07:23:21 浏览:326
自动配置代理什么意思 发布:2025-05-11 07:16:51 浏览:993
notepad编写php 发布:2025-05-11 07:10:50 浏览:864
茄子快传的文件夹 发布:2025-05-11 07:04:30 浏览:734
手机指纹密码如何更换 发布:2025-05-11 07:02:22 浏览:123
java存储数据库 发布:2025-05-11 07:01:33 浏览:177
办理ca的初始密码是多少 发布:2025-05-11 06:54:55 浏览:425
忘记服务器地址 发布:2025-05-11 06:54:51 浏览:243