2023年6月20日发(作者:)

百度文库 - 让每个人平等地提升自我

标签:Java面试题

第一题:判断题

1.Java语言是一种面向对象程序设计语言。( 对 )

2.在Java有布尔类型,该类型只能有两个值:1和0。( 错 )

3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。( 错 )

4.在Java中字符串的长度和字符串中字符的个数是相等的。( 对 )

5.程序中的异常是错误的一种,通过调试程序可以解决异常。( 错 )

6.使用Java语言既可以读写二进制文件,又可以读写文本文件。( 对 )

7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。( 错 )

8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。( 对 )

9.调试Java程序也就是运行Java程序,使用java命令即可完成。( 错 )

10.线程就是程序,只不过是代码较少。( 错 )

第二题:选择题

以下对Java语言描述不正确的是(C )

A Java语言是一个完全面对对象的语言

B Java是结构独立、与平台无关的语言

C Java是一种编译性语言

D Java是一种解释性语言

以下说法正确的是(C )

A Java程序文件名必须是和程序文件中定义的类型一致

B Java程序文件名可以和程序文件中定义的类名不一致

C Java源程序文件的扩展名必须是.java

D以上A、C说法正确,B说法不正确

以下有关运行Java应用程序(Application)正确的说法是(B )

A Java应用程序是由Java编译器解释执行的

B Java应用程序经编译后生成的字节代码可由Java虚拟机解释执行

C Java应用程序经编译后可直接在操作系统下运行

D Java应用程序经编译后可直接在浏览器中运行

4、以下有关标识符说法中正确的是(C )

A、任何字符的组合都可以形成一个标识符

B、Java的关键字也可以作为标识符使用

C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合

D、标识符是不分大小写

5、以下说法正确的是(D )

A、基本字符数据类型有字符和字符串两种

B、字符类型占两个字节,可保存两个字符

C、字符类型占两个字节,可保存一个字符

D、以上说法都是错误的

6、以下有关类型转变的说法错误的是(D )

A、低精度类型向高精度类型转换时,不会丢失数据精度

B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换

1 百度文库 - 让每个人平等地提升自我

C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失

D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的

7、以下正确的关系表达式(D )

A、x≥y B、x+yz C、>=x D、x+y!=z

8、以下正确的逻辑表达式( A)

A、(x+y>7)&&(x-y<1) B、!(x+y)

C、(x+y>7)||(z=a) D、(x+y+z)&&(z>=0)

9、以下有关条件运算符(?:)说法正确的是( D)

A、条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3

B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值

C、若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值

D、以上说法都正确

10、在if(表达式)语句中,“表达式”的值必须是(C )

A、任意整数值 B、字符串 C、布尔逻辑值 D、非零值

11、在switch(表达式)语句中,“表达式”的值必须是(D )

A、整数值 B、字符值 C、布尔逻辑值D、整数或字符值

12、下列关于for循环和while循环的说法中,正确的是(A )

A、while循环能实现的操作,for循环也能实现

B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C、两种循环任何时候都可以替换

D、两种循环结构中必须都有循环体,循环体不能为空

13、下面表达式中,用来访问数组中的第一个值的是(C )

A、intArray[1] B、 C、intArray[0]D、

14下面的表达式中正确的是(C )

String s=”你好”;if(s==”你好”)

String s=”你好”;if(s!=”你好”)

String s=”你好”;if(”你好”))

String s=”你好”;if(equals(s,”你好”))

15String str;以上语句的处理结果是(A )

A、编译报错 B、运行结果是null C、运行结果为0 D、随机值

16、执行String [ ] s=new String[10];代码后,下面结论正确的是( D)

A、s[10]为”” B、s[10]为null

C、s[0]未定义 D、为10

17、构造器(B )被调用。

A、类定义时 B、创建对象时

C、调用对象方法时 D、适用对象的变量时

18、Java中访问限定符不包括( C)

A、public B、private C、default D、final

19、有关方法重载的正确说法是( AC)

A、方法的名称一致,限定符不同 B、方法的名称一致,限定符相同

C、方法的名称一致,返回值不同 D、其他都一致,只有参数定义不同

20、如果任何包中的子类都能访问超类中的成员,则使用的限定符是(A )

A、public B、private C、protected D、transient

2 百度文库 - 让每个人平等地提升自我

21、有关继承下面的说法正确的是( C)

A、继承的主要目的是隐藏类的属性

B、在Java中,一个类可以从多个类中继承属性和方法

C、继承体现了事物的普遍性和特殊性

D、继承允许子类继承父类中的构造器

22、在下列事件处理机制中不是时间组件的是(C )

A、事件对象 B、事件源 C、接口 D、事件处理器

23、下面说法不正确的是( BD)

A、Java中线程是抢占式的 B、Java中线程是分时式的

C、Java中的线程可以共享数据 D、Java中的线程可以共享代码

24、下列关于Java线程的说法正确的是(D )

A、每一个Java线程由代码、一个真实的CPU以及数据3部分组成

B、创建线程的两种方法中,从Thead类中继承的创建方式可以防止出现多父类问题

C、Thead类属于程序包

D、以上说法都不正确

25、下面关键字用来处理Java运行时的错误的是( A)

A、try和catch块 B、try、catch和finally块

C、try块和throw语句 D、throw语句和catch块

26.一个Java源程序编译后生成的文件为,则运行该程序应该使用的命令为( C )。

(A)javac Test (B)javac

(C)java Test (D)java

27. 下面数据类型的定义中错误的是( C )。

(A)int a = 10; (B)double d = ;

(C)float f = ; (D)char c = ‘A’;

28. 类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的( A )。

(A)封装性 (B)继承性

(C)多态性 (D)重载

29. 以下关于字符串类的说法正确的是( B )。

(A)String类用于字符串变量,而StringBuffer类用于字符串常量

(B)String类用于字符串常量,而StringBuffer类用于字符串变量

(C)String类的对象只能用“new”关键字生成

(D)StringBuffer字符串的容量是指字符串中字符的个数

30. 在Java的异常处理语句中对finally的描述正确的是( A )。

(A)不管是否发生异常,finally中的程序都要执行

(B)只有不发生异常时,finally中的程序才需要执行

(C)只有异常发生时,finally中的程序才需要执行

(D)不管是否发生异常,finally中的程序都不会执行

31. 在子类的定义中有一个和父类同名的成员函数,这一现象称为函数的( B )。

(A)继承 (B)覆盖

(C)错误 (D)重载

32. 下面哪种注释能支持javadoc命令( C )。

3 百度文库 - 让每个人平等地提升自我

(A)在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法。( B )

(A)wait() (B)sleep()

(C)stop() (D)notify()

34. 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( D )。

(A)a[0];

(B)a[];

(C)int i=1; a[i];

(D)int[2>1];

35. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C)

(A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

(B)可以被两种类访问和引用:该类本身、该类的所有子类

(C)只能被该类自身所访问和修改

(D)只能被同一个包中的类访问

36. 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( C )。

(A)public (B)private

(C)static (D)final

37. 下面哪个是对字符串String的正确定义。( A )

(A)String s1=“nt null”;

(B)String s2=‘null’ ;

(C)String s3=(String)‘abc’ ;

(D)String s4=(String)‘uface’;

38. 给出一段程序,试判断哪个是正确的结果。( D )

public class Test{

public static void main (String args[]){

try{ world ”); }

finally{ executing”); }

}

}

(A)无法编译运行,因为没有指定异常

(B)无法编译运行,因为没有catch子句

(C)Hello world

(D)Hello world Finally executing

39. 下面哪项可以得到数组元素的个数,java中定义数组名为 abc。( B )。

(A)( ) (B)

(C)len(abc) (D)ubound(abc)

40、Applet类中的直接父类是(D )

A、Component类 B、Container类 C、Frame类 D、Panel类

第三题:填空题

常用的Java语言开发工具有__JCreater _____和_jbuilder_____,本书采用__eclipse_____。

Java源程序是由__package____、___import____、_ClassDefinition______和___INTERFACEdEFINITION____组成的。

HTML语言的语法比较简单,所有标记符都用_尖括号__括起来。

DOS操作系统是按照树形目录结构管理文件的,位于最上层的目录为__根目录_____,每个4 百度文库 - 让每个人平等地提升自我

目录上一层目录为该目录的___父目录_____,下一层目录为该目录的___子目录____。

5、变量的作用范围是由__数据类型_____决定的,可以分成___静态____和_____动态__。

6、__控制组件_____是图形用户界面的最小单位之一,它里面不在包含其他的元素。例如___单选按钮___、___文本框___和____菜单命令___。

7、在面向对象设计过程中,通过对象的____属性___和__方法_____两个方面来描述对象。

8、使用面向对象方法解决问题的过程可以大体划分为__总结____、__抽象___和_____加工_3大步骤。

9、数组是___元素____的集合。每个数组都有长度,也就是其___元素个数____。求数组长度的语句是___数组名.length数组num_1和num2______。

10、如果声明了一个长度为100的boolean类型的数组boo,则其第一个元素为____ture___,最后一个元素为__boo[99]__。

11、所谓排序是指___将数据按一定规律排列起来___。到目前为止最常用的排序方法有___插入___、___选择__和____交换____等排序法。不论使用哪种排序方法编写Java程序,其最根本的操作是___将无序记录调整为有序记录________。

12、如果一个方法没有返回值,则该方法类型为___.类的构造____。

13、方法的__覆盖_____是指在同一类中,声明方法名称相同但参数不同的多个方法。

14、实例变量的修饰符可以是_类中的非静态变量___,但是不能使用__abstract _____;静态变量使用___private public protected final

____修饰符。

15、在类的构造方法和实例方法中,使用关键字__this____可以解决局部变量与实例变量同名的问题。

16、如果希望某个变量可以被类本身访问和调用,则应该使用___private____修饰符。

17、在Java语言中,.包____是组织Java程序中类的一种手段,其作用与Window系统中的____文件夹___类似。

18,、接口中的方法均是使用修饰符__public_____和关键字___abstract

____修饰。

19、抽象方法不能使用修饰符__final_____和___virtual___修饰。

20、图形用户界面中的复选框和单选按钮可以分别通过Swing中的___Checkbox____类和__JFrame_____类来创建。

第四题:程序填空:

1.根据下面程序段写出输出结果。

int a = 1,b=2;

String str = “hello”;

程序两次输出结果分别为 : hello12

3hello

2. public static void main(string[] args){

Int sum=0;

For(int i=1;i<=101;i++){

Sum+=I;

}

到101的累加和是:”+sum);

5 百度文库 - 让每个人平等地提升自我

}

1到101的累加和是:5151

第五题:简答题

1 Java语言有哪些特点? P2

2 每一个Java应用程序有几个main()方法?main()方法处于程序的位置不同时,程序运行时开始点是否还是在main()方法处?

第六题:编程题:

1编写一个名为PrintArguments的程序,打印从命令行中获取的四个参数。例如在命令行中输入”java PrintArguments 10 20 30 40”时,将打印出”10 20 30 40”.

public class PrintArguments {

public static void main(String[] args) {

if !=4)

{ input 4 arguments”);

(0);

}

for (int i=0;i<4;i++) “);

}

}

标签:Java面试题

1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。

结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。

2.在一个循环中使用break、continue和return有什么不同?

break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。

continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。

在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。

3.面代码将输出:________

a=9;b=18;c=4;d=14;e=-14;f=-2

6 百度文库 - 让每个人平等地提升自我

g=;h=2.;i=5;j=3;k=5

public class test3{

public static void main(String args[]){

int a=5+4;

int b=a*2;

int c=b/4;

int d=b-c;

int e=-d;

int f=e%4;

double g=;

double h=g%4;

int i=3;

int j=i++;

int k=++i;

;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f);

;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);

}

}

4.下面代码将输出:________

25<3=false

7 百度文库 - 让每个人平等地提升自我

3!=0&&25/3>5=true

0!=0&&25/0>5=false

public class LogicTest{

public static void main(String args[]){

int a=25,b=3;

boolean d=a

int m = (str[0]);

int n = (str[1]);

int min = m>n?n:m;

int max = m>n?m:n;

int num1 =1;

int num2 = max;

for (int i = min; i>0; i–) {

if (m%i==0&&n%i==0) {

num1 = i;break;

}

}

while (true) {

if (num2%m==0&&num2%n==0) {

break;

}

8 百度文库 - 让每个人平等地提升自我

num2 = m*n>num2*2?num2*2:m*n;

}

最大公约数:“+num1+” 最小公倍数:”+num2);

}

}

6.编写程序,打印出如下九九乘法表。

* | 1 2 3 4 5 6 7 8 9

——-|——————————————————-

1 | 1

2 | 2 4

3 | 3 6 9

4 | 4 8 12 16

5 | 5 10 15 20 25

6 | 6 12 18 24 30 36

7 | 7 14 21 28 35 42 49

8 | 8 16 24 32 40 48 56 64

9 | 9 18 27 36 45 54 63 72 81

public class NineByNineMul{

public static void main(String args[]){

9 百度文库 - 让每个人平等地提升自我

* |”);

for(int i=1;i<=9;i++){

”+i+” ”);

}

——-|—–”);

for(int i=1;i<=9;i++){

—–”);

}

for(int i=1;i<=9;i++){

”+i+” | ”);

for(int j=1;j<=i;j++){

”);

}

}

}

}

7.下面代码将输出: one two default

10 百度文库 - 让每个人平等地提升自我

int i = 1;

switch (i) {

case 0:

break;

case 1:

case 2:

default:

}

8.下面代码将输出: Equal

class EqualsTest {

public static void main(String[] args) {

char a=’u0005′;

String s=a==0x0005L?“Equal”:”Not Equal”;

}

}

9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。

public class booktest {

public static void main(String[] args) {

int a[]={30,1,-9,70,25};

11 百度文库 - 让每个人平等地提升自我

数组原始顺序:“);

for (int i=0;i<;i++) + ” ”);

for (int i = 0; i < ; i++) {

int lowerIndex = i;

for (int j = i + 1; j < ; j++)

if (a[j] < a[lowerIndex]) lowerIndex = j;

int temp = a[i];

a[i] = a[lowerIndex];

a[lowerIndex] = temp;

}

数组排序后的顺序: “);

for (int i=0;i<;i++) + ” ”);

}

}

10.运行下面代码将输出什么内容? one

int i=1;

switch(i){

case 0:

break;

case 1:

break;

12 百度文库 - 让每个人平等地提升自我

case 2:

break;

default:

}

11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。

public class PrimeTest{

public static void main(String args[]) {

int num=2;

+ ” ”);

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

+ ” ”);

if(num++%5 == 0)

}

13 百度文库 - 让每个人平等地提升自我

}

}

12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。

public class RandomTest {

public static void main(String[]args){

int[] randomnum=new int[100];

int[] n=new int[6];

double a;

for(int i=0;i<100;i++){

a = ()*6;

a = (a);

randomnum[i] = new Double(a).intValue();

switch (randomnum[i]){

case 1: n[0]++; break;

case 2: n[1]++; break;

case 3: n[2]++; break;

case 4: n[3]++; break;

case 5: n[4]++; break;

case 6: n[5]++; break;

}

14 百度文库 - 让每个人平等地提升自我

}

以下可改为循环输出

数字1出现的概率=”+(n[0]/*100+”%”);

数字2出现的概率=”+(n[1]/*100+”%”);

数字3出现的概率=”+(n[2]/*100+”%”);

数字4出现的概率=”+(n[3]/*100+”%”);

数字5出现的概率=”+(n[4]/*100+”%”);

数字6出现的概率=”+(n[5]/*100+”%”);

}

}

13.编写程序,求1!+2!+3!+…+15!。

public class FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

int sum=0;

for(int j=1;j<=15;j++)

{

15 百度文库 - 让每个人平等地提升自我

sum+=f(j);

}

}

}

14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。

for循环代码:

public class For_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

for(int j=1;j<=15;j++)

{

sum+=f(j);

}

}

16 百度文库 - 让每个人平等地提升自我

}

do-while循环代码:

public class DoWhile_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

int j=1;

do {

sum+=f(j);

j++;

}

while(j<=15);

}

}

15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。

17 百度文库 - 让每个人平等地提升自我

(分别采用冒泡排序、选择排序和插入排序方法)

public class SortAll {

public static void main(String[] args) {

int a[]={20,10,55,40,30,70,60,80,90,100};

—-冒泡排序的结果:“);

maoPao(a);

—-选择排序的结果:“);

xuanZe(a);

—-插入排序的结果:“);

chaRu(a);

}

一个数如果恰好等于它的因子之和,这个数就称为“完数”。分别编写一个应用程序和小应用程序求 1000之内的所有完数。

public class Wanshu {

public static void main(String[] args) {

int sum=0,i,j;

for(i=1;i<=1000;i++)

{

for(j=1,sum=0;j

18 百度文库 - 让每个人平等地提升自我

{

if(i%j==0)

sum=sum+j;

}

if(sum==i)

{

(“完数:”+i+” ”+”其因子是:“ );

for(int k=1;k<=sum/2;k++)

{

if(sum%k==0)

”+k);

}

}

}

}

}

18. 从键盘读取若干个数,以“-1”结束,按从小到大的顺序排序。

import

public class sc_num {

public static void main(String[] args) {

19 百度文库 - 让每个人平等地提升自我

Scanner scanner=new Scanner;

int scnum=0,i=0;

int []scarry=new int[30];

输入整数(-1结束):”);

while(scnum!=-1){

scarry[i]=();;

scnum=scarry[i];

i++;

}

xuanZe(scarry,i-1);

}

// 选择排序

public static void xuanZe(int[] x,int n) {

for (int i = 0; i

int lowerIndex = i;

for (int j = i + 1; j < n; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

int temp = x[i];

x[i] = x[lowerIndex];

20 百度文库 - 让每个人平等地提升自我

x[lowerIndex] = temp;

}

for (int i=0;i

+ ” ”);

}

}

}

21

2023年6月20日发(作者:)

百度文库 - 让每个人平等地提升自我

标签:Java面试题

第一题:判断题

1.Java语言是一种面向对象程序设计语言。( 对 )

2.在Java有布尔类型,该类型只能有两个值:1和0。( 错 )

3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。( 错 )

4.在Java中字符串的长度和字符串中字符的个数是相等的。( 对 )

5.程序中的异常是错误的一种,通过调试程序可以解决异常。( 错 )

6.使用Java语言既可以读写二进制文件,又可以读写文本文件。( 对 )

7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。( 错 )

8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。( 对 )

9.调试Java程序也就是运行Java程序,使用java命令即可完成。( 错 )

10.线程就是程序,只不过是代码较少。( 错 )

第二题:选择题

以下对Java语言描述不正确的是(C )

A Java语言是一个完全面对对象的语言

B Java是结构独立、与平台无关的语言

C Java是一种编译性语言

D Java是一种解释性语言

以下说法正确的是(C )

A Java程序文件名必须是和程序文件中定义的类型一致

B Java程序文件名可以和程序文件中定义的类名不一致

C Java源程序文件的扩展名必须是.java

D以上A、C说法正确,B说法不正确

以下有关运行Java应用程序(Application)正确的说法是(B )

A Java应用程序是由Java编译器解释执行的

B Java应用程序经编译后生成的字节代码可由Java虚拟机解释执行

C Java应用程序经编译后可直接在操作系统下运行

D Java应用程序经编译后可直接在浏览器中运行

4、以下有关标识符说法中正确的是(C )

A、任何字符的组合都可以形成一个标识符

B、Java的关键字也可以作为标识符使用

C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合

D、标识符是不分大小写

5、以下说法正确的是(D )

A、基本字符数据类型有字符和字符串两种

B、字符类型占两个字节,可保存两个字符

C、字符类型占两个字节,可保存一个字符

D、以上说法都是错误的

6、以下有关类型转变的说法错误的是(D )

A、低精度类型向高精度类型转换时,不会丢失数据精度

B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换

1 百度文库 - 让每个人平等地提升自我

C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失

D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的

7、以下正确的关系表达式(D )

A、x≥y B、x+yz C、>=x D、x+y!=z

8、以下正确的逻辑表达式( A)

A、(x+y>7)&&(x-y<1) B、!(x+y)

C、(x+y>7)||(z=a) D、(x+y+z)&&(z>=0)

9、以下有关条件运算符(?:)说法正确的是( D)

A、条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3

B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值

C、若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值

D、以上说法都正确

10、在if(表达式)语句中,“表达式”的值必须是(C )

A、任意整数值 B、字符串 C、布尔逻辑值 D、非零值

11、在switch(表达式)语句中,“表达式”的值必须是(D )

A、整数值 B、字符值 C、布尔逻辑值D、整数或字符值

12、下列关于for循环和while循环的说法中,正确的是(A )

A、while循环能实现的操作,for循环也能实现

B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C、两种循环任何时候都可以替换

D、两种循环结构中必须都有循环体,循环体不能为空

13、下面表达式中,用来访问数组中的第一个值的是(C )

A、intArray[1] B、 C、intArray[0]D、

14下面的表达式中正确的是(C )

String s=”你好”;if(s==”你好”)

String s=”你好”;if(s!=”你好”)

String s=”你好”;if(”你好”))

String s=”你好”;if(equals(s,”你好”))

15String str;以上语句的处理结果是(A )

A、编译报错 B、运行结果是null C、运行结果为0 D、随机值

16、执行String [ ] s=new String[10];代码后,下面结论正确的是( D)

A、s[10]为”” B、s[10]为null

C、s[0]未定义 D、为10

17、构造器(B )被调用。

A、类定义时 B、创建对象时

C、调用对象方法时 D、适用对象的变量时

18、Java中访问限定符不包括( C)

A、public B、private C、default D、final

19、有关方法重载的正确说法是( AC)

A、方法的名称一致,限定符不同 B、方法的名称一致,限定符相同

C、方法的名称一致,返回值不同 D、其他都一致,只有参数定义不同

20、如果任何包中的子类都能访问超类中的成员,则使用的限定符是(A )

A、public B、private C、protected D、transient

2 百度文库 - 让每个人平等地提升自我

21、有关继承下面的说法正确的是( C)

A、继承的主要目的是隐藏类的属性

B、在Java中,一个类可以从多个类中继承属性和方法

C、继承体现了事物的普遍性和特殊性

D、继承允许子类继承父类中的构造器

22、在下列事件处理机制中不是时间组件的是(C )

A、事件对象 B、事件源 C、接口 D、事件处理器

23、下面说法不正确的是( BD)

A、Java中线程是抢占式的 B、Java中线程是分时式的

C、Java中的线程可以共享数据 D、Java中的线程可以共享代码

24、下列关于Java线程的说法正确的是(D )

A、每一个Java线程由代码、一个真实的CPU以及数据3部分组成

B、创建线程的两种方法中,从Thead类中继承的创建方式可以防止出现多父类问题

C、Thead类属于程序包

D、以上说法都不正确

25、下面关键字用来处理Java运行时的错误的是( A)

A、try和catch块 B、try、catch和finally块

C、try块和throw语句 D、throw语句和catch块

26.一个Java源程序编译后生成的文件为,则运行该程序应该使用的命令为( C )。

(A)javac Test (B)javac

(C)java Test (D)java

27. 下面数据类型的定义中错误的是( C )。

(A)int a = 10; (B)double d = ;

(C)float f = ; (D)char c = ‘A’;

28. 类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的( A )。

(A)封装性 (B)继承性

(C)多态性 (D)重载

29. 以下关于字符串类的说法正确的是( B )。

(A)String类用于字符串变量,而StringBuffer类用于字符串常量

(B)String类用于字符串常量,而StringBuffer类用于字符串变量

(C)String类的对象只能用“new”关键字生成

(D)StringBuffer字符串的容量是指字符串中字符的个数

30. 在Java的异常处理语句中对finally的描述正确的是( A )。

(A)不管是否发生异常,finally中的程序都要执行

(B)只有不发生异常时,finally中的程序才需要执行

(C)只有异常发生时,finally中的程序才需要执行

(D)不管是否发生异常,finally中的程序都不会执行

31. 在子类的定义中有一个和父类同名的成员函数,这一现象称为函数的( B )。

(A)继承 (B)覆盖

(C)错误 (D)重载

32. 下面哪种注释能支持javadoc命令( C )。

3 百度文库 - 让每个人平等地提升自我

(A)在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法。( B )

(A)wait() (B)sleep()

(C)stop() (D)notify()

34. 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( D )。

(A)a[0];

(B)a[];

(C)int i=1; a[i];

(D)int[2>1];

35. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C)

(A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

(B)可以被两种类访问和引用:该类本身、该类的所有子类

(C)只能被该类自身所访问和修改

(D)只能被同一个包中的类访问

36. 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( C )。

(A)public (B)private

(C)static (D)final

37. 下面哪个是对字符串String的正确定义。( A )

(A)String s1=“nt null”;

(B)String s2=‘null’ ;

(C)String s3=(String)‘abc’ ;

(D)String s4=(String)‘uface’;

38. 给出一段程序,试判断哪个是正确的结果。( D )

public class Test{

public static void main (String args[]){

try{ world ”); }

finally{ executing”); }

}

}

(A)无法编译运行,因为没有指定异常

(B)无法编译运行,因为没有catch子句

(C)Hello world

(D)Hello world Finally executing

39. 下面哪项可以得到数组元素的个数,java中定义数组名为 abc。( B )。

(A)( ) (B)

(C)len(abc) (D)ubound(abc)

40、Applet类中的直接父类是(D )

A、Component类 B、Container类 C、Frame类 D、Panel类

第三题:填空题

常用的Java语言开发工具有__JCreater _____和_jbuilder_____,本书采用__eclipse_____。

Java源程序是由__package____、___import____、_ClassDefinition______和___INTERFACEdEFINITION____组成的。

HTML语言的语法比较简单,所有标记符都用_尖括号__括起来。

DOS操作系统是按照树形目录结构管理文件的,位于最上层的目录为__根目录_____,每个4 百度文库 - 让每个人平等地提升自我

目录上一层目录为该目录的___父目录_____,下一层目录为该目录的___子目录____。

5、变量的作用范围是由__数据类型_____决定的,可以分成___静态____和_____动态__。

6、__控制组件_____是图形用户界面的最小单位之一,它里面不在包含其他的元素。例如___单选按钮___、___文本框___和____菜单命令___。

7、在面向对象设计过程中,通过对象的____属性___和__方法_____两个方面来描述对象。

8、使用面向对象方法解决问题的过程可以大体划分为__总结____、__抽象___和_____加工_3大步骤。

9、数组是___元素____的集合。每个数组都有长度,也就是其___元素个数____。求数组长度的语句是___数组名.length数组num_1和num2______。

10、如果声明了一个长度为100的boolean类型的数组boo,则其第一个元素为____ture___,最后一个元素为__boo[99]__。

11、所谓排序是指___将数据按一定规律排列起来___。到目前为止最常用的排序方法有___插入___、___选择__和____交换____等排序法。不论使用哪种排序方法编写Java程序,其最根本的操作是___将无序记录调整为有序记录________。

12、如果一个方法没有返回值,则该方法类型为___.类的构造____。

13、方法的__覆盖_____是指在同一类中,声明方法名称相同但参数不同的多个方法。

14、实例变量的修饰符可以是_类中的非静态变量___,但是不能使用__abstract _____;静态变量使用___private public protected final

____修饰符。

15、在类的构造方法和实例方法中,使用关键字__this____可以解决局部变量与实例变量同名的问题。

16、如果希望某个变量可以被类本身访问和调用,则应该使用___private____修饰符。

17、在Java语言中,.包____是组织Java程序中类的一种手段,其作用与Window系统中的____文件夹___类似。

18,、接口中的方法均是使用修饰符__public_____和关键字___abstract

____修饰。

19、抽象方法不能使用修饰符__final_____和___virtual___修饰。

20、图形用户界面中的复选框和单选按钮可以分别通过Swing中的___Checkbox____类和__JFrame_____类来创建。

第四题:程序填空:

1.根据下面程序段写出输出结果。

int a = 1,b=2;

String str = “hello”;

程序两次输出结果分别为 : hello12

3hello

2. public static void main(string[] args){

Int sum=0;

For(int i=1;i<=101;i++){

Sum+=I;

}

到101的累加和是:”+sum);

5 百度文库 - 让每个人平等地提升自我

}

1到101的累加和是:5151

第五题:简答题

1 Java语言有哪些特点? P2

2 每一个Java应用程序有几个main()方法?main()方法处于程序的位置不同时,程序运行时开始点是否还是在main()方法处?

第六题:编程题:

1编写一个名为PrintArguments的程序,打印从命令行中获取的四个参数。例如在命令行中输入”java PrintArguments 10 20 30 40”时,将打印出”10 20 30 40”.

public class PrintArguments {

public static void main(String[] args) {

if !=4)

{ input 4 arguments”);

(0);

}

for (int i=0;i<4;i++) “);

}

}

标签:Java面试题

1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。

结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。

2.在一个循环中使用break、continue和return有什么不同?

break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。

continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。

在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。

3.面代码将输出:________

a=9;b=18;c=4;d=14;e=-14;f=-2

6 百度文库 - 让每个人平等地提升自我

g=;h=2.;i=5;j=3;k=5

public class test3{

public static void main(String args[]){

int a=5+4;

int b=a*2;

int c=b/4;

int d=b-c;

int e=-d;

int f=e%4;

double g=;

double h=g%4;

int i=3;

int j=i++;

int k=++i;

;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f);

;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);

}

}

4.下面代码将输出:________

25<3=false

7 百度文库 - 让每个人平等地提升自我

3!=0&&25/3>5=true

0!=0&&25/0>5=false

public class LogicTest{

public static void main(String args[]){

int a=25,b=3;

boolean d=a

int m = (str[0]);

int n = (str[1]);

int min = m>n?n:m;

int max = m>n?m:n;

int num1 =1;

int num2 = max;

for (int i = min; i>0; i–) {

if (m%i==0&&n%i==0) {

num1 = i;break;

}

}

while (true) {

if (num2%m==0&&num2%n==0) {

break;

}

8 百度文库 - 让每个人平等地提升自我

num2 = m*n>num2*2?num2*2:m*n;

}

最大公约数:“+num1+” 最小公倍数:”+num2);

}

}

6.编写程序,打印出如下九九乘法表。

* | 1 2 3 4 5 6 7 8 9

——-|——————————————————-

1 | 1

2 | 2 4

3 | 3 6 9

4 | 4 8 12 16

5 | 5 10 15 20 25

6 | 6 12 18 24 30 36

7 | 7 14 21 28 35 42 49

8 | 8 16 24 32 40 48 56 64

9 | 9 18 27 36 45 54 63 72 81

public class NineByNineMul{

public static void main(String args[]){

9 百度文库 - 让每个人平等地提升自我

* |”);

for(int i=1;i<=9;i++){

”+i+” ”);

}

——-|—–”);

for(int i=1;i<=9;i++){

—–”);

}

for(int i=1;i<=9;i++){

”+i+” | ”);

for(int j=1;j<=i;j++){

”);

}

}

}

}

7.下面代码将输出: one two default

10 百度文库 - 让每个人平等地提升自我

int i = 1;

switch (i) {

case 0:

break;

case 1:

case 2:

default:

}

8.下面代码将输出: Equal

class EqualsTest {

public static void main(String[] args) {

char a=’u0005′;

String s=a==0x0005L?“Equal”:”Not Equal”;

}

}

9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。

public class booktest {

public static void main(String[] args) {

int a[]={30,1,-9,70,25};

11 百度文库 - 让每个人平等地提升自我

数组原始顺序:“);

for (int i=0;i<;i++) + ” ”);

for (int i = 0; i < ; i++) {

int lowerIndex = i;

for (int j = i + 1; j < ; j++)

if (a[j] < a[lowerIndex]) lowerIndex = j;

int temp = a[i];

a[i] = a[lowerIndex];

a[lowerIndex] = temp;

}

数组排序后的顺序: “);

for (int i=0;i<;i++) + ” ”);

}

}

10.运行下面代码将输出什么内容? one

int i=1;

switch(i){

case 0:

break;

case 1:

break;

12 百度文库 - 让每个人平等地提升自我

case 2:

break;

default:

}

11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。

public class PrimeTest{

public static void main(String args[]) {

int num=2;

+ ” ”);

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

+ ” ”);

if(num++%5 == 0)

}

13 百度文库 - 让每个人平等地提升自我

}

}

12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。

public class RandomTest {

public static void main(String[]args){

int[] randomnum=new int[100];

int[] n=new int[6];

double a;

for(int i=0;i<100;i++){

a = ()*6;

a = (a);

randomnum[i] = new Double(a).intValue();

switch (randomnum[i]){

case 1: n[0]++; break;

case 2: n[1]++; break;

case 3: n[2]++; break;

case 4: n[3]++; break;

case 5: n[4]++; break;

case 6: n[5]++; break;

}

14 百度文库 - 让每个人平等地提升自我

}

以下可改为循环输出

数字1出现的概率=”+(n[0]/*100+”%”);

数字2出现的概率=”+(n[1]/*100+”%”);

数字3出现的概率=”+(n[2]/*100+”%”);

数字4出现的概率=”+(n[3]/*100+”%”);

数字5出现的概率=”+(n[4]/*100+”%”);

数字6出现的概率=”+(n[5]/*100+”%”);

}

}

13.编写程序,求1!+2!+3!+…+15!。

public class FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

int sum=0;

for(int j=1;j<=15;j++)

{

15 百度文库 - 让每个人平等地提升自我

sum+=f(j);

}

}

}

14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。

for循环代码:

public class For_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

for(int j=1;j<=15;j++)

{

sum+=f(j);

}

}

16 百度文库 - 让每个人平等地提升自我

}

do-while循环代码:

public class DoWhile_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

int j=1;

do {

sum+=f(j);

j++;

}

while(j<=15);

}

}

15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。

17 百度文库 - 让每个人平等地提升自我

(分别采用冒泡排序、选择排序和插入排序方法)

public class SortAll {

public static void main(String[] args) {

int a[]={20,10,55,40,30,70,60,80,90,100};

—-冒泡排序的结果:“);

maoPao(a);

—-选择排序的结果:“);

xuanZe(a);

—-插入排序的结果:“);

chaRu(a);

}

一个数如果恰好等于它的因子之和,这个数就称为“完数”。分别编写一个应用程序和小应用程序求 1000之内的所有完数。

public class Wanshu {

public static void main(String[] args) {

int sum=0,i,j;

for(i=1;i<=1000;i++)

{

for(j=1,sum=0;j

18 百度文库 - 让每个人平等地提升自我

{

if(i%j==0)

sum=sum+j;

}

if(sum==i)

{

(“完数:”+i+” ”+”其因子是:“ );

for(int k=1;k<=sum/2;k++)

{

if(sum%k==0)

”+k);

}

}

}

}

}

18. 从键盘读取若干个数,以“-1”结束,按从小到大的顺序排序。

import

public class sc_num {

public static void main(String[] args) {

19 百度文库 - 让每个人平等地提升自我

Scanner scanner=new Scanner;

int scnum=0,i=0;

int []scarry=new int[30];

输入整数(-1结束):”);

while(scnum!=-1){

scarry[i]=();;

scnum=scarry[i];

i++;

}

xuanZe(scarry,i-1);

}

// 选择排序

public static void xuanZe(int[] x,int n) {

for (int i = 0; i

int lowerIndex = i;

for (int j = i + 1; j < n; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

int temp = x[i];

x[i] = x[lowerIndex];

20 百度文库 - 让每个人平等地提升自我

x[lowerIndex] = temp;

}

for (int i=0;i

+ ” ”);

}

}

}

21