当前位置首页 > 北交> 正文

北京交通大学22春JAVA语言设计考前辅导包

 关于Java中数据类型叙述正确的是(      )

A、整型数据在不同平台下长度不同
B、boolean类型数据只有2个值,true和false
C、数组属于简单数据类型
D、Java中的指针类型和C语言的一样
正确答案:B
 
 
下面哪几个函数是public void example(){...}的重载函数(      )。
A、public void example( int m){...}
B、public int example(){...}
C、public void example2(){...}
D、public int example ( int m, float f){...}
正确答案:D
 
 
下列关于for循环和while循环的说法中哪个是正确的( )
A、两种循环结构中都必须有循环体,循环体不能为空
B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C、两种循环任何时候都可替换
D、while循环能实现的操作,for循环也都能实现
正确答案:D
 
 
设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )
A、static x x1;
B、public x x1=new x(int 123);
C、y x1;
D、x x1=x();
正确答案:A
 
 
设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是(      )
A、3
B、3.5
C、4
D、5
正确答案:A
 
 
下列类定义中,不正确的是(      )
A、class x { .... }
B、class x extends y { .... }
C、static class x implements y1,y2 { .... }
D、public class x extends Applet { .... }
正确答案:C
 
 
设有定义 int i=123; long j=456; 下面赋值不正确的语句是(      )
A、j=i;
B、j=(long)i;
C、i=(int)j;
D、i=j;
正确答案:D
 
 
main方法是java Application 程序执行的入口点,关于main方法的方法头以下(      )是合法的。
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[])
正确答案:B
 
 
关于以下程序段的说法正确的是(      )。 1. public class Myar{ 2. public static void main(String argv[]){ 3. int[]i=new int[5]; 4. System.out.println(i[5]); 5. } 6. }
A、第2行编译出错
B、第4行编译出错
C、编译时产生错误
D、编译时没有产生错误,运行时发生异常
正确答案:D
 
 
下列哪个类声明是正确的(      )
A、abstract final class Hl{…}
B、abstract private move(){…}
C、protected private number
D、public abstract class Car{…}
正确答案:D
 
 
以下的选项中能正确表示Java语言中的一个整型常量的是(      )
A、12
B、-20
C、1000
D、456
正确答案:B
 
 
下列语句序列执行后,k 的值是(      )。 int m=3, n=6, k=0; while((m++) < (-- n)) ++k;
A、0
B、1
C、2
D、3
正确答案:B
 
 
设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是(      )
A、x > y || x > z
B、x != y
C、z > ( y + x
D、x < y & ! ( x < z )
正确答案:B
 
 
下列运算符中,优先级最高的是(      )。
A、&&
B、++
C、+
D、*
正确答案:B
 
 
以下语句有语法错误的是(      )
A、int?x=1;y=2;z=3
B、for?(int?x=10,y=0;x>0;x++);
C、while?(x>5);
D、for(;?;);
正确答案:A
 
 
设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是(      )
A、x( int m){ ... }
B、void x( int m){ ... }
C、x( int m, int n){ ... }
D、x( int h,int m,int n){ ... }
正确答案:B
 
 
已知如下代码:boolean m = true;if ( m = false ) System.out.println("False");else System.out.println("True");执行结果是(      )
A、False
B、True
C、None
D、出错
正确答案:B
 
 
在调用函数并传递参数时,将变量对应的内存位置传递给函数,而函数会根据内存位置取得参数的值,是指哪种方式(      )
A、值传递调用
B、返回值
C、地址传递调用
D、以上都不是
正确答案:C
 
 
下列程序段的输出结果是 (      )。 public class operatorsandExpressions{ void stringPlus(){ int x=3,y=4,z=5; System.out.println(x+y+z); } }
A、xyz
B、x+y+z
C、12
D、以上答案均不正确
正确答案:C
 
 
下列方法定义中,正确的是(      )
A、int?x(){?char?ch='a';?return?(int)ch;?}
B、void?x(){?...return?true;?}
C、int?x(){?...return?true;?}
D、int?x(int?a,b){?return?a+b;?}
正确答案:A
 
 
已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等(      )。
A、m.length()
B、m.length
C、m.length()+1
D、m.length+1
正确答案:B
 
 
下列代码中,将引起一个编译错误的行是(      ) 1)public class Test{ 2) int m,n; 3) public Test(){} 4) public Test(int a){m=a;} 5) public static void main(String args[]){ 6) Test t1,t2; 7) int j,k; 8) j=0;k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) }
A、第3行
B、第5行
C、第6行
D、第10行
正确答案:D
 
 
不使用static修饰符限定的方法称为成员方法,下列哪一个说法是不正确的(      )
A、成员方法可以直接调用父类的成员方法
B、成员方法可以直接调用父类的类方法
C、成员方法不可以直接调用其他类的成员方法
D、成员方法可以直接调用本类的类方法
正确答案:A
 
 
下列程序段执行后的结果是(      )。 
String  s=new String("abcdefg");
for(int i=0;i<s.length();i+=2){
    System.out.print(s.charAt(i));
}
A、aceg
B、ACEG
C、abcdefg
D、abcd
正确答案:A
 
 
以下有关构造方法的说法,正确的是(      )
A、一个类的构造方法可以有多个
B、构造方法在类定义时被调用
C、构造方法只能由对象中的其它方法调用
D、构造方法可以和类同名,也可以和类名不同
正确答案:A
 
 
下列语句序列执行后,i的值是(      )。int i=16; do { i/=2; } while( i > 3 );
A、16
B、8
C、4
D、2
正确答案:D
 
 
以下选项中,合法的赋值语句是(      )
A、a = = 1;
B、++ i;
C、a=a + 1= 5;
D、y = int ( i );
正确答案:B
 
 
关于类和对象的叙述正确的是(      )
A、Java的类分为两大部分:系统定义的类和用户自定义的类
B、类的静态属性和全局变量的概念完全一样,只是表达形式不同
C、类的成员至少有一个属性和一个方法
D、类是对象的实例化
正确答案:A
 
 
在Java中,表示换行符的转义字符是(      )
A、\n
B、\f
C、'n'
D、\dd
正确答案:A
 
 
下面语句执行后,i 的值是(      )。for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A、4
B、5
C、6
D、7
正确答案:B
 
 
执行完代码&quot;int[]x=new int[25];&quot;后,以下( )说明是正确的。
A、x[24]为0
B、x[24]未定义
C、x[25]为0
D、x[0]为空
正确答案:A
 
 
下列语句序列执行后,ch1 的值是(      )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1;
A、‘A'
B、B'
C、‘C'
D、B
正确答案:B
 
 
下列构造方法的调用方式中,正确的是(      )。
A、按照一般方法调用
B、由用户直接调用
C、只能通过 new 自动调用
D、被系统调用
正确答案:C
 
 
下面的代码段中,执行之后i 和j 的值是(      )。 int i = 1; int j; j = i++;
A、1, 1
B、1, 2
C、2, 1
D、2, 2
正确答案:C
 
 
下面的表达式哪个是正确的(      )
A、String s="你好";int i=3; s+=i;
B、String s="你好";int i=3; if(i==s){ s+=i};
C、String s="你好";int i=3; s=i+s;
D、String s="你好";int i=3; s=i+;
正确答案:A
 
 
下列语句执行后,变量a、c的值分别是(      )。 int x=182; int a,c; c=x/100; a=x%10;
A、1,2
B、2,1
C、1.82, 2
D、100,82
正确答案:B
 
 
设有定义 int i = 6 ;,则执行以下语句后,i 的值为(      )。i += i - 1;
A、10
B、121
C、11
D、100
正确答案:C
 
 
下列程序段执行后?b3?的结果是(      )
boolean?b1=true,?b2,?b3;?
24=?b1???b1?:?b2;
A、0
B、1
C、true
D、false
正确答案:D
 
 
下列语句序列执行后,i 的值是(      )。 int i=8, j=16; if( i-1 > j ) i--; else j--;
A、15
B、16
C、7
D、8
正确答案:D
 
 
给出如下代码: class test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问(      )。
A、将private int m 改为protected int m
B、将private int m 改为 public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m
正确答案:C
 
 
"阅读下面程序 class ex3124 { public static void main(String [] args) { boolean b=true; if(b){ int i=1;} else { int i=2;}System.out.println(i);}} 现在想先编译再运行该程序,结果是(      )。
A、1
B、2
C、编译出错
D、运行出错
正确答案:C
 
 
设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是(      )
A、i = i + 2
B、a[0] = 7;
C、i++ - --j;
D、a(0) = 66;
正确答案:B
 
 
数组的大小在创建以后(      )。
A、可以改变
B、不能改变
C、使用new方法可以改变
D、有些可以改变
正确答案:B
 
 
编译并且执行以下代码,会出现什么情况(      )。?public?class?Q{?public?static?void?main(String?argv[]){?int?anar[]=new?int[]{1,2,3};?System.out.println(anar[1]);?}?}
A、1
B、有错误,数组anar在初始化以前不能正常输出
C、2
D、有错误,数组的大小没有定义。
正确答案:C
 
 
下列正确的句子是(      )。
A、float 3.14
B、byte i=225
C、k=33L
D、int p[][];
正确答案:D
 
 
以下哪个约束符可用于定义成员常量(      )
A、static
B、final
C、abstract
D、以上都不对
正确答案:B
 
 
在switch(expression)语句中,expression的数据类型不能是(      )。
A、double
B、char
C、byte
D、short
正确答案:A
 
 
若已定义 byte[ ] x= {11,22,33,-66} ; 其中0&le;k&le;3,则对x数组元素错误的引用是( )
A、x[5-3]
B、x[k]
C、x[k+5]
D、x[0]
正确答案:C
 
 
下面哪个为构造函数的特性定义(      )。
A、在类中声明构造函数时,名称须与类名相同
B、具有重载特性,可以建立多个相同名称
C、使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初始值进行内存的分配
D、以上都是
正确答案:D
 
 
下列说法中,哪个是正确的? (        )
A、Java是不区分大小写的,源文件名与程序类名不允许相同
B、Java语言以方法为程序的基本单位
C、applet是Java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网上
D、以//符开始的为多行注释语句
正确答案:C
 
 
下列说法错误的是 (        )
A、switch语句只能处理等式,而if语句还可以处理关系表达式和逻辑表达式。
B、可以使用throw语句人为地引发异常。
C、可以用final说明变量为一个常量。
D、Java的字节代码是一种与平台无关的代码,即它与具体的系统是相关的。
正确答案:D
 
 
下列哪个是合法的Java标识符? (        )
A、Tree&Glasses
B、FirstJavaapplet
C、_$theLastOne
D、273.5
正确答案:B
 
 
下列代码的执行结果是: (        )
      public class Test2{ 
public static void main(String args[]){ 
System.out.println(5/2); 
}
A、2.5 
 
B、2.0 
 
C、2.50 
 
D、2
正确答案:D
 
 
构造方法何时被调用? (        )
A、类定义时 
 
B、创建对象时 
 
C、调用对象方法时 
 
D、使用对象的变量时
正确答案:B
 
 
Java application源程序的主类是指包含有(        )方法的类。
A、main方法 
 
B、toString方法 
 
C、init方法 
 
D、actionPerfromed方法
正确答案:A
 
 
设有下面的两个类定义: (        ) 
       
     
A、我喜欢Java! 
我喜欢C++!
B、我喜欢C++! 
我喜欢Java!
C、我喜欢Java! 
我喜欢Java!
D、我喜欢C++! 
我喜欢C++!
正确答案:A
 
 
类Test1定义如下:
 
1. public class Test1{
 
2. public float aMethod(float a,float b){ }
 
3.
 
4. }
 
将以下哪种方法插入第3行是不合法的? ( )
A、public float aMethod(float a,float b,float c){ } 
 
B、public float aMethod(float c,float d){ } 
 
C、public int aMethod(int a,int b){ } 
 
D、private float aMethod(int a,int b,int c){ }
正确答案:B
 
 
以下程序的输出结果是 (        )
       
A、sum=55 
 
B、sum=45 
 
C、sum=0 
 
D、sum=9
正确答案:B
 
 
为读取的内容进行处理后再输出,需要使用下列哪种流? (        )
A、File stream
B、Pipe stream
C、Random stream
D、Filter stream
正确答案:D
 
 
编译Java Applet源程序文件产生的字节码文件的扩展名为 (        )
A、.java;
B、.class;
C、.html;
D、.exe。
正确答案:B
 
 
设a=8,则表达式a>>>2的值是(        )
A、1;
B、2;
C、3;
D、4。
正确答案:B
 
 
在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(        )语句。
A、import java.awt.*;
B、import java.applet.Applet;
C、import java.io.*;
D、import java.awt.Graphics。
正确答案:C
 
 
下列哪个不是Java的关键字? (        )
A、if
B、THEN
C、const
D、273.5
正确答案:B
 
 
下列代码的执行结果是: (        )
public class Test2{ 
public static void main(String args[]){ 
System.out.println(5/2); 
}
A、2.5
B、2.0
C、2.50
D、2
正确答案:D
 
 
对于构造函数,下列叙述不正确的是(     )。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
正确答案:B
 
 
为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(   )。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
正确答案:A
 
 
若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是(      )。
A、x[5-3]
B、x[k]
C、x[k+5]
D、x[0]
正确答案:C
 
 
下面(  ) 方法与applet的显示无关。
A、update()
B、draw()
C、repaint()
D、paint()
正确答案:B
 
 
监听器接口的方法返回值的类型是(    )。
A、int
B、String
C、void
D、Object
正确答案:C
 
 
outer: for(int i=0;i<3; i++)
inner: for(int j=0;j<2;j++)
{
if(j==1) continue outer;
System.out.println(j+ "and "+i+";");
以上代码输出是(    )
A、0 and 0;0 and 1;0 and 2
B、0 and 0;1 and 0;2 and 0
C、1 and 0;1 and 1;1 and 2
D、2 and 0;2 and 1;2 and 2
正确答案:A
 
 
关于被私有访问控制符private修饰的成员变量,以下说法正确的是(    )。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
正确答案:C
 
 
设有下面的两个类定义: (        )
class aa{ 
void Show(){System.out.println("我喜欢Java!"); 
class BB extends aa{ 
void Show(){System.out.println("我喜欢C++!"); 
则顺序执行如下语句后输出结果为: 
aa a=new aa(); 
BB b=new BB(); 
a.Show(); 
b.Show();
A、我喜欢Java! 
我喜欢C++!
B、我喜欢C++! 
我喜欢Java!
C、我喜欢Java! 
我喜欢Java!
D、我喜欢C++! 
我喜欢C++!
正确答案:A
 
 
类Test1定义如下: 
1. public class Test1{ 
2. public float aMethod(float a,float b){ } 
3. 
4. } 
将以下哪种方法插入第3行是不合法的? (        )
A、public float aMethod(float a,float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a,int b){ }
D、private float aMethod(int a,int b,int c){ }
正确答案:B
 
 
以下程序的输出结果是 (        )
public class ko6_9 
public static void main(String args[]) 
int sum=0; 
int ko[][]={{1,2,3},{4,5,6},{7,8,9}}; 
for(int n=0;n<3;n++) 
for(int m=0;m<3;m++) 
sum+=ko[n][m]; 
System.out.println("sum="+sum); 
}
A、sum=55
B、sum=45
C、sum=0
D、sum=9
正确答案:B
 
 
关于以下程序段的说明正确的是 (        )
public class ko8_1 
public static void main(String args[]) 
try 
int x[]=new int[-5]; 
System.out.println("此行将无法被执行!"); 
catch(NegativearraySizeException e) 
System.out.println("exception: " + e.getMessage()); 
}
A、编译通过,输出: 
此行将无法被执行!
B、编译通过,输出: 
此行将无法被执行!
exception: null
C、编译通过,输出: 
exception: null
D、编译不能通过
正确答案:C
 
 
编译Java Applet源程序文件产生的字节码文件的扩展名为 (        )
A、ava
B、class
C、.html
D、exe
正确答案:B
 
 
下列说法错误的是 (        )
A、接口是多继承的具体实现形式。
B、3305L是长整型数。
C、03916是八进制数。
D、?:是三目条件运算符。
正确答案:C
 
 
下列程序段的输出结果是 (        )
public class operatorsandExpressions{ 
void stringPlus(){ 
int a=3,b=4,c=5; 
System.out.println("abc"+3); 
}
A、15
B、abc3
C、256
D、63
正确答案:B
 
 
下列关于构造方法的说法正确的是 (        )
A、因为构造方法名与类名必须相同,所以构造方法的首字母必须大写。
B、构造方法是给对象赋初值,所以没有返回值,要用void来声明。
C、构造方法不能被程序调用,也不可以重载。
D、一个类只允许有一个构造方法。
正确答案:A
 
 
要串行化某些类的对象,这些类就必须实现(   )。
A、Serializable接口
B、java.io.Externalizable接口
C、java.io.DataInput接口
D、DataOutput接口
正确答案:A
 
 
下列对Java特性的叙述中,错误的是(  )。
A、在编写Java子类时可以自由地增加新方法和属性
B、Java的Applet要求编程首先创建JFrame窗口
C、Java语言用解释器执行字节码
D、Java中的类一般都有自己的属性和方法
正确答案:B
 
 
下列带下划线的标识符符合Java命名约定的是(  )。
A、package com.Bi.hr
B、public class xyz
C、int I
D、void setCustomerName()
正确答案:D
 
 
下列语句中正确的是(  )。
A、System.out.println(1+’1’);
B、int i=2+"2";
C、String s="on"+’one’;
D、byte b=257;
正确答案:A
 
 
下列方法中与Applet显示无关的是(  )。
A、update()
B、draw()
C、repaint()
D、paint()
正确答案:B
 
 
内部类不可直接使用外部类的成员是(   )。
A、静态成员
B、实例成员
C、方法内定义
D、以上A、B、C都不是
正确答案:C
 
 
在JDK目录中,Java程序运行环境的根目录是(  )。
A、bin
B、demo
C、lib
D、jre
正确答案:D
 
 
下列程序的输出结果是 (        )
import java.io.*; 
public class abc 
public static void main(String args[]) 
String s1="Hello!"; 
String s2=new String("World!"); 
System.out.println(s1.concat(s2)); 
}
A、false
B、Hello!
C、Hello!Wofld!
D、12
正确答案:C
 
 
对下列程序段的执行结果说法正确的是 (        )
class Test { 
int i; 
String s; 
public void method(){ 
int i=10; 
System.out.println(i); 
public Test(){ 
System.out.println(s); 
}}
A、0 
null
B、10 
null
C、编译错误
D、编译通过,但不能执行,会产生异常
正确答案:C
 
 
如要抛出异常,应用下列哪种子句? (        )
A、catch
B、throw
C、try
D、finally
正确答案:B
 
 
对于catch 子句的排列,下列哪种是正确的? (        )
A、父类在先,子类在后
B、子类在先,父类在后
C、有继承关系的异常不能在同一个 try 程序段内
D、先有子类,其他如何排列都无关
正确答案:A
 
 
以下(        )是java.io包中的一个兼有输入输出功能的类。
A、Object
B、Serializable
C、RandomaccessFile
D、java.io中不存在这样的类
正确答案:C
 
 
下列哪个数代表八进制整数? (      )。
A、-1E3
B、0XA6
C、0144
D、1840
正确答案:C
 
 
Java语言的类间的继承关系是(        )。
A、多重的
B、单重的
C、线程的
D、不能继承
正确答案:B
 
 
有以下方法的定义,请选择该方法的返回类型(        )。
ReturnType  method(byte x, float y)
{
return  (short)x/y*2;
}
A、byte
B、short
C、int
D、float
正确答案:D
 
 
有一段JAVA 应用程序,它的主类名是a1,那么保存它的源文件名可以是(      )。
A、a1.java
B、a1.class
C、a1
D、都对
正确答案:A
 
 
JAVA 类可以作为(      )。
A、类型定义机制
B、数据封装机制
C、类型定义机制和数据封装机制
D、上述都不对
正确答案:C
 
 
JAVA中(      )。
A、一个子类可以有多个父类,一个父类也可以有多个子类
B、一个子类可以有多个父类,但一个父类只可以有一个子类
C、一个子类可以有一个父类,但一个父类可以有多个子类
D、上述说法都不对
正确答案:C
 
 
JAVA语言具有许多优点和特点,哪个反映了JAVA程序并行机制的特点?(      )。
A、安全性
B、多线性
C、跨平台
D、可移植
正确答案:B
 
 
Character流与Byte流的区别是(      )。
A、每次读入的字节数不同
B、前者带有缓冲,后者没有
C、前者是字符读写,后者是字节读写
D、二者没有区别,可以互换使用
正确答案:C
 
 
将子类对象赋值给父类引用类型时,对象类型的转换过程是(      )。
A、系统自动转换
B、必须强制转换
C、无法转换
D、程序员需要进行转换
正确答案:A
 
 
以下关于JAVA中常用的标准类包的表述中错误的是(      )。
A、java.io 包中提供了数据流输入/输出操作的类。
B、java.applet 包中提供了支持编写、运行applet(小程序)所需要的一些类。
C、java.lang 包中存放了Java最基础的核心类。
D、java.util包中存放了构建图形化用户界面(GUI)的类。
正确答案:D
 
 
类Test1、Test2定义如下:
public  class  Test1
public  float  aMethod(float a,float b) throws  IOException {      }
}
public  class  Test2  extends  Test1{
}
将以下哪种方法插入行6是不合法的(      )。
A、float aMethod(floa a,float b){ }
B、public int aMethod(int a,int b)throws Exception{ }
C、public float aMethod(float p,float q){ }
D、public int aMethod(int a,int b)throws IOException{ }
正确答案:A
 
 
关于以下程序段,正确的说法是(      )。
String  s1="abc"+"def";
String  s2=new  String(s1);
if(s1==s2)
     System.out.println("= = succeeded");
if(s1.equals(s2))
     System.out.println("equals()  succeeded");
A、行4与行6都将执行
B、行4执行,行6不执行
C、行6执行,行4不执行
D、行4、行6都不执行
正确答案:C
 
 
Java application中的主类需包含main方法,main方法的返回类型是什么?(      )。
A、int
B、float
C、double
D、void
正确答案:D
 
 
以下标识符中哪项是不合法的(      )。
A、const
B、$double
C、hello
D、BigMeaninglessName
正确答案:A
 
 
以下哪个关键字可以用来为对象加互斥锁?(      )。
A、transient
B、static
C、serialize
D、synchronized
正确答案:D
 
 
以下关于继承的叙述正确的是(      )。
A、在JAVA中类只允许单一继承
B、在JAVA中一个类只能实现一个接口
C、在JAVA中一个类不能同时继承一个类和实现一个接口
D、在JAVA中接口只允许单一继承
正确答案:A
 
 
在使用interface声明一个接口时,只可以使用(      )修饰符修饰该接口。
A、private
B、protected
C、private  protected
D、public
正确答案:D
 
 
以下哪项是接口的正确定义?(      )
A、interface  B
{  void print()  {  } ;}
B、abstract  interface  B
{ void print() ;}
C、abstract  interface B  extends  A1,A2  //A1、A2为已定义的接口
{ abstract  void  print(){  };}
D、interface  B
      {  void  print();}
正确答案:D
 
 
下面哪个函数是public void  aMethod(){...}的重载函数?(      )
A、void  aMethod( ){...}
B、public int  aMethod(){...}
C、public void  aMethod ( ){...}
D、public int  aMethod ( int m){...}
正确答案:D
 
 
给出下面代码,关于该程序以下哪个说法是正确的?(      )
public class Person{ 
static int arr[] = new int[5];
public static void main(String a[]) { 
System.out.println(arr[0]);
}
}
A、编译时将产生错误
B、编译时正确,运行时将产生错误
C、输出0
D、输出空
正确答案:C
 
 
编译并运行以下程序,以下描述哪个选项是正确的(      )。
class  A{
  protected  boolean  equals(){
  return  super.equals();}
}
A、编译通过运行无异常
B、编译通过但运行时出错
C、行2出错,不能成功编译
D、不能成功编译,行3出错
正确答案:D
 
 
定义一个类后,就可以创建类的实例了,创建类实例通过( )关键字完成。
A、definition
B、new
C、Declaration
D、start
正确答案:B
 
 
下列关于JAVA语言的特点,描述错误的是(      )。
A、JAVA是跨平台的编程语言
B、JAVA支持分布式计算
C、JAVA是面向过程的编程语言
D、JAVA支持多线程
正确答案:C
 
 
下述概念中不属于面向对象方法的是(      )。
A、对象、消息
B、继承、多态
C、类、封装
D、过程调用
正确答案:D
 
 
结构化程序设计所规定的三种基本控制结构是(      )。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、函数
正确答案:C
 
 
下列关于构造方法的叙述中,错误的是(      )。
A、JAVA语言规定构造方法名与类名必须相同
B、JAVA语言规定构造方法没有返回值
C、JAVA语言规定用户可以直接调用构造方法
D、JAVA语言规定构造方法的作用是对类对象进行初始化。
正确答案:C
 
 
以下关于JAVA方法的重载(Overload)的表述中哪个是正确的?(      )
A、在同一个类中允许同时存在一个以上的同名方法
B、同名方法的参数个数必须相同
C、同名方法的参数类型必须相同
D、同名方法的参数个数和类型都必须相同
正确答案:A
 
 
若a的值为3时,下列程序段被执行后,c的值是多少?(     )
    if ( a>0 )  
     if ( a>3 )  c = 2;   
else c = 3; 
     else c = 4;
A、1  
B、2
C、3
D、4
正确答案:C
 
 
编译Java程序的命令是: (     )
A、appletviewer      
B、javac
C、java    
D、javadoc
正确答案:B
 
 
编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(     )
A、.byte
B、.class
C、.html
D、.exe
正确答案:B
 
 
main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?(     )
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[] )
正确答案:B
 
 
下面的选项中,哪一项不属于“汽车类”的行为(     )。
A、启动      
B、刹车     
C、减速
D、速度
正确答案:D
 
 
下面哪一个循环会导致死循环?(     )
A、for (int k = 0; k < 0; k++)      
B、for (int k = 10; k > 0; k--)
C、for (int k = 0; k < 10; k--)     
D、for (int k = 0; k > 0; k++)
正确答案:C
 
 
在Java中用什么关键字修饰的方法可以直接通过类名来调用?(     )
A、static
B、final
C、private     
D、void
正确答案:A
 
 
若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于(     )。
A、接口方法
B、最终方法
C、抽象方法
D、空方法
正确答案:C
 
 
有如下程序段:
int total = 0;
for ( int i = 0; i < 4; i++ ){
  if ( i == 1) continue;
  if ( i == 2) break;
  total += i;
}
则执行完该程序段后total的值为:(     )。
A、0  
B、1   
C、3   
D、6
正确答案:A
 
 
如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰符(     )。
A、private  
B、protected
C、private  protected
D、public
正确答案:A
 
 
在Java中,"456"属于(     )类的对象。
A、int
B、String     
C、Integer   
D、Number
正确答案:B
 
 
下面声明数组的写法错误(    )。
A、int  a[ ];
B、int[ ]  a;
C、int[3][ ]  a;      
D、int[ ][3] a;
正确答案:D
 
 
Java编程所必须的默认引用包为(    )
A、java.sys包
B、java.lang包
C、java.util包
D、以上都不是
正确答案:B
 
 
下面语句在编译时不会出现警告或错误的是(    )
A、float f=3.14;
B、char c=”c”;
C、Boolean b=null;
D、int i=10.0;
正确答案:C
 
 
下面不是合法标识符的是(    )
A、2ofUS
B、giveMes
C、whataQuiz
D、$d2000_
正确答案:A
 
 
下面说法不正确的是(    )
A、一个子类的对象可以接收父类对象能接收的消息;
B、当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;
C、父类比它的子类的方法更多;
D、子类在构造函数中可以使用super( )来调用父类的构造函数;
正确答案:C
 
 
给出下面代码段, 哪行将引起一个编译时错误?(    )
public class Test { 
   int n = 0; 
   int m = 0; 
   public Test(int a) { m=a; } 
   public static void main(String arg[]) { 
     Test t1,t2; 
     int j,k; 
     j=3; k=5; 
     t1=new Test(); 
    t2=new Test(k); 
  } 
}
A、行1        
B、行4        
C、行6        
D、行9
正确答案:D
 
 
下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。(    )
class ClassDemo {
   public static int sum=1;
   public ClassDemo() {
      sum = sum + 5;
   }
}
public class ClassDemoTest{
   public static void main(String args[]) {
   ClassDemo demo1=new ClassDemo();
   ClassDemo demo2=new ClassDemo();
   System.out.println(demo1.sum);
   }
}
A、0    
B、6    
C、11   
D、2
正确答案:C
 
 
下面这些类型的应用,那个不使用Java语言来编写? (    )
A、JavaScript   
B、Applet
C、Servlet      
D、Java Swing
正确答案:A
 
 
下面哪个流类属于面向字符的输入流(    )
A、BufferedWriter        
B、FileInputStream
C、ObjectInputStream     
D、InputStreamReader
正确答案:D
 
 
下面关于数组声明和初始化的语句那个有语法错误?(    )
A、int a1[]={3,4,5};
B、String a2[]={"string1","string1","string1"};
C、String a3[]=new String(3);
D、int[][] a4=new int[3][3];
正确答案:C
 
 
getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(    )
public void getCustomerInfo() { 
try { 
     // do something that may cause an Exception 
 } catch (java.io.FileNotFoundException  ex){ 
       System.out.print("FileNotFoundException!"); 
 } catch (java.io.IOException  ex){ 
       System.out.print("IOException!"); 
} catch (java.lang.Exception  ex){ 
       System.out.print("Exception!"); 
      }
}
A、IOException!
B、IOException!Exception!
C、FileNotFoundException!IOException!
D、FileNotFoundException!IOException!Exception!
正确答案:A
 
 
新建一个流对象,下面哪个选项的代码是错误的?(    )
A、new BufferedWriter(new FileWriter("a.txt"));
B、new BufferedReader(new FileInputStream("a.dat"));
C、new GZIPOutputStream(new FileOutputStream("a.zip"));
D、new ObjectInputStream(new FileInputStream("a.dat"));
正确答案:B
 
 
选项中哪一行代码可以替换题目中//add code here而不产生编译错误?(    )
public abstract class MyClass {
  public int constInt = 5;
  //add code here
  public void method() {
   }
}
A、public abstract void method(int a);
B、value = value + 5;
C、public int method();
D、public abstract void anotherMethod() {}
正确答案:A
 
 
选出合理的标识符(      )
A、_sys1_lll
B、2mail
C、$change
D、class
正确答案:C
 
 
执行下列代码后,哪个结论是正确的 String[] s=new String[10];(      )
A、s[10] 为 "";
B、s[9] 为 null;
C、C. s[0] 为 未定义
D、s.length 为10
正确答案:D
 
 
说明下列创建数组的方法那些是正确的(      )。
A、int twoDim[][] = new int[4][];
B、int twoDim[][] = new int[][4];
C、int twoDim[][] = new int[4][5];
D、char a[] = {‘A’, ‘B’};
正确答案:D
 
 
下列哪些语句是正确的(      )。
A、int a[][]=new int[][3];
B、int a[][]={{1,3},{2,3,4},{1,2}};
C、String s[][]=new String[2][];
D、String s[][]={{"can","I"},{"help","you"}}
正确答案:D
 
 
Java2主要有几个分支?(      )
A、J2SE
B、J2ME
C、J2EE
正确答案:C
 
 
定义变量如下: char c=‘w‘; int i=8; long L=15; float f=8.9f; 以下赋值语句正确的是(      )
A、i=c+i;
B、c=c+i;
C、L=f+L;
D、f=i+L+f;
正确答案:D
 
 
如下哪些是Java中正确的整数表示(      )
A、22
B、0x22
C、022
D、22H
正确答案:C
 
 
以下哪些是Java语言的特点?(      )
A、面向对象
B、安全可靠
C、平台无关
D、多支持线程
E、支持分布操作
正确答案:E
 
 
如下哪些是Java中有效的关键字( )
A、Const
B、NULL
C、false
D、this
E、native
正确答案:E
 
 
下列正确的表达式(      )
A、double a=1.0;
B、Double a=new Double(1.0);
C、byte a = 340;
D、Byte a = 120;
正确答案:B
 
 
Java语言中的数组元素只能是基本数据类型而不能为对象类型(      )
A、错误
B、正确
正确答案:A
 
 
Java的字符类型采用的是ASCII编码(      )
A、错误
B、正确
正确答案:A
 
 
Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定(      )
A、错误
B、正确
正确答案:A
 
 
在Java中%是取余运算符,要求两端操作数为整型(      )。
A、错误
B、正确
正确答案:A
 
 
类及其属性、方法可以同时有一个以上的修饰符来修饰(      )。
A、错误
B、正确
正确答案:B
 
 
由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目(      )。
A、错误
B、正确
正确答案:A
 
 
最终类不能派生子类,最终方法不能被覆盖(      )。
A、错误
B、正确
正确答案:B
 
 
有的类定义时可以不定义构造函数,所以构造函数不是必需的。(      )
A、错误
B、正确
正确答案:A
 
 
Final类中的属性和方法都必须被final修饰符修饰(      )
A、错误
B、正确
正确答案:A
 
 
如果p是父类Parent的对象,而c是子类Child的对象,则语句c?=?p是正确的(      )
A、错误
B、正确
正确答案:A
 
 
子类要调用父类的方法,必须使用super关键字(      )
A、错误
B、正确
正确答案:A
 
 
Java的类不允许多重继承,但接口支持多重继承(      )。
A、错误
B、正确
正确答案:B
 
 
Java的各种数据类型占用的内存长度固定,与具体软硬件环境无关(      )
A、错误
B、正确
正确答案:B
 
 
一个Java类可以有多个父类(      )。
A、错误
B、正确
正确答案:A
 
 
抽象类里一定要包含抽象方法,但含抽象方法的类未必是抽象类(      )。
A、错误
B、正确
正确答案:A
 
 
静态初始化器是在其所属的类加载内存时由系统自动调用执行(      )
A、错误
B、正确
正确答案:B
 
 
System类不能实例化,即不能创建System类的对象(      )。
A、错误
B、正确
正确答案:B
 
 
即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空。(      )
A、错误
B、正确
正确答案:B
 
 
注释的作用是使程序在执行时在屏幕上显示//之后的内容(      )
A、错误
B、正确
正确答案:A
 
 
Java编译之后的文件成为字节码文件,是一个与本地机器无关的二进制文件(      )
A、错误
B、正确
正确答案:B
 
 
一般地,一个类的类体应由##和##两部分组成。
正确答案:变量定义
 
 
使用一个对象前,必须声明并##它。
正确答案:创建
 
 
通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现:##。
正确答案:MyClass  obj=newS  MyClass( );
 
 
JAVA具有简单、_____##______、稳定、与平台无关、解释型、多线程、动态等特点。
正确答案:面向对象
 
 
java.io 包中提供了数据流______##_______操作的类。
正确答案:输入/输出
 
 
String类生成的字符串一旦产生就不能更改内容,如果需要改变一个串的值或长度等,就必须使用___##__________类。
正确答案:StringBuffer
 
 
JAVA源程序编译后生成的字节码文件扩展名为___##_______。
正确答案:class
 
 
用JDK运行JAVA应用程序,使用的命令是____##______。
正确答案:java
 
 
JAVA程序分为两类,即_____##______和JAVA小应用程序。
正确答案:JAVA应用程序
 
 
在同一个switch语句中,case后的____##______必须互不相同。
正确答案:常量值
 
 
do-while循环和while循环的区别是_________##______。
正确答案:do-while循环体至少被执行一次
 
 
在循环体中,如果想跳出循环,结束整个循环可以用_____##______语句。
正确答案:break
 
 
Java中关系运算符的运算结果是   ##    型。
正确答案:boolean
 
 
一个Java应用程序必须且只有一个类含有   ##     方法。
正确答案:main
 
 
  ##     循环是先循环后判断,所以循环体至少被执行一次。
正确答案:do while
 
 
Java中有两种类型的控制语句即if和   ##     。
正确答案:switch,case  
 
 
在使用interface声明一个接口时,只可以使用    ##   修饰符修饰该接口。
正确答案:public
 
 
在同一个switch语句中,case后的   ##    必须互不相同。
正确答案:常量值
 
 
Java语言中,表示一个类A继承自父类B,并实现接口C的语句是##        。
正确答案:class A extends B implements C
 
 
当使用一个类创建了一个    ##    时,我们也说给出了这个类的实例。
正确答案:对象  
 
 
Java中用类创建一个对象包括对象的声明和为对象  ##      两个步骤。
正确答案:分配内存
 
 
异常处理通过三种操作实现:声明异常、  ##      和捕获异常。
正确答案:抛出异常
 
 
对象创建完后,通过使用“.”对象可以实现对变量的访问和  ##    的调用。
正确答案:方法
 
 
Java中不同对象的实例变量将被分配    ##    的内存空间。
正确答案:不同
 
 
以下程序段的输出结果。
      
正确答案:1  2  3  4  5  8  9
 
 
写出以下程序的输出结果。
      
正确答案:3.21
 
 
阅读下面的程序,回答问题:  
   
        
正确答案:ActionListener是接口;程序中actionPerformed()方法是ActionListener中的方法,它在程序中实现的功能是:在文本域中回车时,将文本域中输入的数字字符串转化为整数,并重新调用paint()方法输出结果。
 
 
现有一个类定义如下,回答问题:  
       
      
正确答案:张山;30;3800.0
 
 
编程计算三角形的面积和周长。要求如下:
1)设计一个接口InterfaceShape,其中有计算三角形的面积和周长的抽象方法;
2)设计一个点类Point,其中有必要的构造方法和一般的访问器方法(getXXX())和修改器方法(setXXX());
3)通过实现InterfaceShape接口类的方式,并使用Point类,设计三角形Triangle类,其中有必要的构造方法和计算三角形的面积和周长的方法;
4)设计一个主类Shape,对使用Point类,设计三角形Triangle类进行测试,计算三角形的面积和周长,并在屏幕上输出。
正确答案:代码如下:
 
 
 
 
 
 
 
编写一个学生类 Student ,要求:
(1) 学生类 Student 属性有:
id    :  long型,代表学号
name  :  String类对象,代表姓名
age   :  int型,代表年龄
sex   :  boolen型,代表性别(其中:true表示男,false表示女)
phone :  String类对象,代表联系电话
(2) 学生类 Student的方法有:
Student(long  i , String  n , int  a , boolean  s , long  p) 
: 有参构造函数,形参表中的参数分别初始化学号、姓名、
年龄、性别和联系电话。
int  getAge() ( ) : 获取年龄作为方法的返回值。
boolean  getSex( ) ( ) : 获取性别作为方法的返回值。
long  getPhone ( ) : 获取联系电话作为方法的返回值。
public  String  toString( ) : 以 姓名:联系电话 的形式作为方法的返回值。
正确答案: 
 
 
<pre>编程计算三角形的面积和周长。要求如下:
1)设计一个接口InterfaceShape,其中有计算三角形的面积和周长的抽象方法;
2)设计一个点类Point,其中有必要的构造方法和一般的访问器方法(getXXX())和修改器方法(setXXX());
3)通过实现InterfaceShape接口类的方式,并使用Point类,设计三角形Triangle类,其中有必要的构造方法和计算三角形的面积和周长的方法;
4)设计一个主类Shape,对使用Point类,设计三角形Triangle类进行测试,计算三角形的面积和周长,并在屏幕上输出。</pre>
正确答案:<pre>代码如下: 
InterfaceShape 接口:
public interface InterfaceShape {
public abstract double getArea();
public abstract double getFerence();
}
Point 类:
public class Point {
double x;
double y;
public Point(double x, double y) {
   this.x = x;
  this.y = y;
}
public double getX() {
   return x;
}
public void setX(double x) {
   this.x = x;
}
public double getY() {
   return y;
}
public void setY(double y) {
   this.y = y;
}
}
Triangle 类
public class Triangle implements InterfaceShape {
Point a;
Point b;
Point c;
public double s1;
public double s2;
public double s3;
public Triangle(Point A, Point B, Point C) {
  this.a = A;
  this.b = B;
   this.c = C;
}
//三角形面积
public double getArea() {
   double p=(this.getS1()+this.getS2()+this.getS3())/2;
   return Math.pow(p*(p-this.getS1())*(p-this.getS2())*(p-this.getS3()),0.5);
}
//三角形周长
public double getFerence() {
  return this.getS1()+this.getS2()+this.getS3();
}
public double getS1() {
  return Math.sqrt(Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(), 2));
}
public double getS2() {
  return Math.sqrt(Math.pow(a.getX()-c.getX(),2)+Math.pow(a.getY()-c.getY(), 2));
}
public double getS3() {
  return Math.sqrt(Math.pow(b.getX()-c.getX(),2)+Math.pow(b.getY()-c.getY(), 2));
}
}
Shape 测试类:
public class Shape {
public static void main(String[] args) {
  Point a=new Point(0,0);
   Point b=new Point(3,0);
   Point c=new Point(0,4);
   Triangle tri = new Triangle(a,b,c);
   System.out.println("三角形面积:"+tri.getArea());
   System.out.println("三角形周长:"+tri.getFerence());
}
}</pre>
 
 
<pre>用JAVA编写程序,计算1!+2!+3!+…+n!的和,其中阶乘的写一个方法实现。</pre>
正确答案:<pre>public class Factorial {
 
 //下面的这个方法利用递归的方法求阶乘
 public int getFac(int m)
 {
 if(m==1)
  {
  return 1;
 }
 else
  {
  return m*getFac(m-1);
  }
 }
 public static void main(String args[])
 {
  Factorial fac=new Factorial();
  //System.out.println(fac.getFac(4));
  int sum=0;
  for(int i=1;i<=10;i++)
  {
   sum+=fac.getFac(i);
  }
 System.out.println("1到10的阶乘的和是:"+sum);
 }
}</pre>
 
 
<pre>字符串yekmaakkccekymbvb 求出字符串中有多少种字符,以及每个字符的个数?</pre>
正确答案:<pre>程序如下:
import java.util.HashMap;
import java.util.Set;
public class SS {
public static void main(String[] args) {
 
HashMap<Character, Integer> s = SS.S("yekmaakkccekymbvb");
Set<Character> hashSet=s.keySet();
for (Character character : hashSet) {
System.out.println("字母"+character+":共"+s.get(character)+"个");
}
}
private static HashMap<Character, Integer> S(String string) {
HashMap<Character, Integer> hashMap=new HashMap<Character, Integer>();
char[] cs=string.toCharArray();
for (char c : cs) {
if (hashMap.containsKey(c)) {
Integer tem = hashMap.get(c);
tem=tem+1;
hashMap.put(c, tem);
} else {
hashMap.put(c, 1);
}
}
return hashMap;
}
}</pre>
 
 
<pre>判断101-200之间有多少个素数,并输出所有素数。</pre>
正确答案:<pre>import java.io.*;
public class Test{
public static void main(String[] args){
 int m,k,i,n=o;
 for(m=101;m<=200;m=m+2)/*素数均为奇数*/
  { 
  k=sqrt(m);/*K为根号下的m*/
  for(i=2;i<=k;i++)
   if(m%i==0)break;
   if(i>=k+1){ System.out.println ("%d",m);n=n+1}
   if(n%10==0) System.out.println ("\n");/*即每十个数为一行*/
  }
 getch();
 }
}</pre>
 
 
编写程序完成功能:输出斐波那契数列(0,1,1,2,3,5……从第3项开始,每一项都等于前两项之和)的第20位数字。
正确答案: 
 
 
编写程序完成功能:计算1!+2!+………+5!的值
正确答案: 
 
 
 
 
        
正确答案:程序随机产生一个1—100之间的整数,用户在输入对话框中输入自己的猜测。程序返回提示信息,提示信息分别等同于“太大了”、“太小了”和“猜对了”。用户可根据提示信息再次输入猜测的数字,直到得到提示信息是“Bingo”即“猜对了”。
 
 
 
      
       
正确答案:该程序的功能是:先对数组{1,3,9,5,6,7,1,5,4,8}进行排序,然后二分查找法找出数组中的元素8,标出其排序后其下标的位置。输出结果为:
排序后的数组为:
 1 1 3 4 5 5 6 7 8 9
数字8的位置为:8
 
 
 
 
正确答案:程序功能为:
有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。以下程序将该序列倒序存放并输出,输出结果是:
初始状态为:
20 2 5 6 9
改变后的状态为:
9 6 5 2 20
 
 
 
正确答案:程序功能为:
输出1~1000之间所有的奇数。
 
 
编写程序判断程序中给定的字符串“Hello Java, I am a BJTUer!”的第一个字母是否为大写,若是大写则统计大写字母的个数,并将所有大写字母输出。
正确答案:    
 
 
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如 6=1+2+3.编程找出 1000 以内的所有完数。
正确答案:   
 
 
编写程序完成功能:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第 10 次反弹多高?
正确答案: 
 
 
编写程序完成功能:有 1、 2、 3、 4 四个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少?
正确答案: 
 
 
 
以下程序段的输出结果。
import    java.io.*;
public  class  abc
{     public  static  void  main(String args[ ])
     {    AB  s = new  AB("Hello!","I love JAVA.");
           System.out.println(s.toString( ));
      }
}
class   AB {
 String   s1;
 String   s2;
  AB( String  str1 , String  str2 )
  {  s1 = str1;  s2 = str2; }
  public   String   toString( )
  { return  s1+s2;}
}
正确答案:Hello! I  love  JAVA.
 
 
写出下面程序的运行结果。
public?class?Test34?{
public?static?void?main(String[]args)?{
int[][]?nums?=?new?int[3][3];
int?value?=?1,?sum?=?0;
for(int?i=0;?i<nums.length;?i++){
for(int?j=0;?j<nums[i].length;j++){
nums[i][j]?=?value;
value++;
if(?i?==?j){
sum?=?sum?+?nums[i][j]; 
}
}
System.out.println("sum="+sum);
}
}
正确答案:sum=15
 
 
写出下面程序的运行结果。
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
triangle(9, 4, 15);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void triangle(int a, int b, int c) throws Exception {
if (a + b > c && a + c > b && b + c > a) {
System.out.println("可以组成三角形");
} else {
throw new Exception("不能组成三角形");
}
}
}
正确答案:不能组成三角形
 
 
写出下面程序的运行结果
import   java.io.* ;
    public  class  abc
    {
         public  static  void   main(String  args[ ])
         {  SubSubClass  x = new  SubSubClass(10 , 20 , 30);
            x.show();
         }
    }
   class  SuperClass
   {   int  a,b;
       SuperClass(int aa , int  bb)
        {  a=aa;  b=bb;  }
      void  show( )
       {  System.out.println("a="+a+"\nb="+b);  }
   }
   class   SubClass   extends   SuperClass
   {  int c;
      SubClass(int  aa,int  bb,int  cc)
      {   super(aa,bb);
          c=cc;
      }
   }
  class   SubSubClass   extends   SubClass
  {   int  a;
      SubSubClass(int aa,int  bb,int  cc)
      {   super(aa,bb,cc);
          a=aa+bb+cc;
       }
      void  show()
       {  System.out.println("a="+a+"\nb="+b+"\nc="+c);  }
 }
正确答案:a=60
  b=20
  c=30
 
 
写出下面程序的运行结果
public class TestArray 
public static void main(String args[ ]){ 
int i , j ; 
int a[ ] = { 5,9,6,8,7}; 
for ( i = 0 ; i < a.length-1; i ++ ) { 
int k = i; 
for ( j = i ; j < a.length ; j++ ) 
if ( a[j]<a[k] ) k = j; 
int temp =a[i]; 
a[i] = a[k]; 
a[k] = temp; 
for ( i =0 ; i<a.length; i++ ) 
System.out.print(a[i]+" "); 
System.out.println( ); 
}
正确答案:5 6 7 8 9
 
 
写出下面程序的运行结果。
public class Test1{
public static void main(String[]args) {
int[][] nums = new int[2][2];
int value = 1, sum = 0;
for(int i=0; i<nums.length; i++){
for(int j=0; j<nums[i].length;j++){
nums[i][j] = value;
value++;
if( i == j){
sum = sum + nums[i][j];
}
}
}
System.out.println("sum="+sum);
}
}
正确答案:sum=5
 
 
简述JAVA中的异常处理是如何实现的。
正确答案:异常处理通过三种操作实现:声明异常、抛出异常和捕获异常。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象即声明异常。生成的异常对象将传递给Java运行时系统,这一异常的产生和提交过程称为抛出(throw)异常。当Java运行时系统得到一个异常对象时,它将会寻找处理这一异常的代码。找到能够处理这种类型的异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。如果Java运行时系统找不到可以捕获异的方法,则运行时系统将终止,相应的Java程序也将退出。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。用try来指定一块预防所有“异常”的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的“异常”的类型。throw语句用来明确地抛出一个“异常”。finally为确保一段代码不管发生什么“异常”都被执行一段代码。
 
 
简述JAVA中final关键字在修饰类、方法和变量时各有什么特点。
正确答案:(1)final类
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。
(2)final方法
如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:第一、把方法锁定,防止任何继承类修改它的意义和实现。第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
(3)final变量(常量)
用final修饰的成员变量表示常量,值一旦给定就无法改变。final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。
 
 
简述JAVA中this和super的用法。
正确答案:this和 super这两个变量在使用前都是不需要声明的。this变量使用在成员函数的内部,指向当前对象。super变量直接指向父类(超类)的构造函数,用来引用父类(超类)中的变量和方法。this指代当前类的构造方法,super指代父类(超类)的构造方法。(教材83页及107页)
 
 
简述JAVA中String和StringBuffer的区别。
正确答案:见教材158页。
 
 
Integer与int的区别
正确答案:1、Integer是int的包装类;int是基本数据类型;
2、Integer变量必须实例化后才能使用;int变量不需要;
3、Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ;
4、Integer的默认值是null;int的默认值是0。
 
 
接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类?
正确答案:接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承(extends)实体类,(但前提是实体类必须有明确的构造函数)。
 
 
什么是成员变量隐藏?什么是方法隐藏?
正确答案:成员变量的隐藏:在子类中重新定义一个与父类中已定义的成员变量名称完全相同(类型可以不同)的成员变量,则子类拥有了两个相同名字的成员变量,一个是继承父类的,另一个是自己定义的。Java规定,当执行从父类继承的方法时,处理的是自父类继承的变量;当子类执行由自己定义的方法时,处理的是自己定义的成员变量,即当子类引用这个同名的成员变量时,默认操作是它自己定义的成员变量,而把从父类那里继承来的成员变量“隐藏”起来。
正如子类可以定义与父类同名的成员变量,实现对父类成员变量的隐藏一样,子类也可以重新定义与父类同名的方法,实现对父类方法的隐藏。当在子类中调用同名的方法时,一般情况下是调用它自己定义的方法,因而实现了对父类方法的覆盖,即从子类中调用覆盖方法时总是引用子类定义的方法,而父类定义的方法被隐藏。
 
 
简述方法的重写和重载特点。
正确答案:override(重写)
1.方法名、参数、返回值相同。
2、重写方法的访问修饰符一定要大于或等于被重写的方法。
3、重写方法不能抛出新的异常或者抛出比被重写方法更宽泛的异常
4、存在于父类和子类之间。
5、被final修饰的方法不能重写
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于同类中。
 
 
 

版权保护: 本文由老虎奥鹏原创,转载请保留链接: www.wsxueba.com

猜你喜欢