博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA入门到精通-第52讲-面试题讲评
阅读量:7052 次
发布时间:2019-06-28

本文共 9885 字,大约阅读时间需要 32 分钟。

赛迪网Java程序员笔试题

第一大题:选择题(共20个小题,要求和分值按每题后面的提示,共60分)

1、下面哪些是java语言中的关键字?  B

A、sizeof

B、abstract

C、NULL

D、Native

 

2、第一个java语言编译器是在()年推出。  D

A、1991

B、1992

C、2001

D、1996

 

3、以下()是JAVA的保留字    C

A、Java

B、Hello

C、class

D、Class

 

4、下面程序运行之后,变量x的值是() B

//swap方法的声明

public static void swap(int a,int b){

    int t=a;

    a=b;

    b=t;

}

//main方法

public static void main(String args[]){

A

    int x=2;

    int y=3;

    swap(x,y);//简单数据类型是不会交换,如果是对象会发生变化

}

A、2    B、3    C、4    D、6

 

5、下面变量var的作用域范围是() C

//....

int x;

swhitch(x){

    case 0:

    {

        int var;

        //process

    }

        break;

    case 1:

    {

        int var1;

        //process

    }

        break;

}

A、1和16行之间 B、4和8行之间  C、6和8行之间  D、6和14行之间

 

6、以下的类(接口)定义中正确的是()   B

A、

public class a{

    private int x;

    public getX(){

        return x;

    }

}

B、

public abstract class a{

    private int x;

    public abstract int getX();

    public int aMethod(){

        return 0;

    }

}

C、

public class a{

    private int x;

    public abstract int getX();

}

//如果是抽象函数类必须声明为抽象

D、

public interface interfaceA{

    private int x;

    public int getX(){

        return x;

    }

}

//接口都是抽象的,所有的方法都不能够被实现

7、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。C类也位于packageA包,且继承了B类。则以下说法正确的是()  C

A、A类的实例不能访问到B类的实例

B、A类的实例能够访问到B类一个实例的x成员

C、C类的实例可以访问到B类一个实例的x成员

D、C类的实例不能访问到B类的实例

1167156-20181130181245544-634466384.png

8、以下()类不属于字符流类   C

A、Reader   B、FileReader   C、BufferedInputStream  D、StringReader

//BufferedInputStream字节流

9、以下()类属于字节流类 D

A、FileWriter

B、PushbackReader

C、FilterReader

D、FileInputStream

//Writer/Reader基本是字符流

10、编译并运行下面的java代码段:

char c='a';

switch(c){

case 'a':

    System.out.println("a");

default:

    System.out.println("default");

}

输出结果是()。  B

A、代码无法编译,因为switch语句没有一个合法的表达式

B、a Default

C、a

D、default

char/int/byte/枚举

都可以匹配switch();

11、分析下面的java程序

public class yy{

    public static void main(String[] args)throws Exception{

        try{

            throw new Exception();

        }catch(Exception e){

            System.out.println("Caught in main()");

        }

        System.out.println("nothing");

    }

}

输出结果为()    A

A、Caught in main() Nothing

B、Caught in main()

C、nothing

D、没有任何输出

//发生异常,捕获;

12、在Java中,关于final关键字的说法正确的是()。A、C

A、如果修饰变量,则一旦赋了值,就等同一个常量

B、如果修饰类,则该类只能被一个子类继承

C、如果修饰方法,则该方法不能在子类中被覆盖

D、如果修饰方法,则该方法所在的类不能被继承

//如果一个类被final修饰,则该类不能被继承

13、在java中,要想使只有定义该类所在的包内的类可以访问该类,应该用()关键字。A

A、不需要任何关键字

B、private

C、final

D、protected 保护的

 

14、在java中,下面关于包的陈述中正确的是() A、D

A、包的声明必须是源文件的第一句代码

B、包的声明必须紧跟在import语句的后面

C、只有公共类才能放在包中

D、可以将多个源文件中的类放在同一个包中

 

15、public static void main方法的参数描述是正确的()。A、B

A、String args[]

B、String[] args

C、Strings args[]

D、String args

 

16、在java中,关于CLASSPATH环境变量的说法不正确的是() A

A、CLASSPATH一旦设置之后不可修改,但可以将目录到该环境变量中

B、编译器用它来搜索各自的类文件

C、CLASSPATH是一个目录列表

D、解释器用它来搜索各自的类文件

 

17、编译并运行下面的java程序

class A{

    int var1=1;

    int var2;

    public static void main(String[] args){

        int var3=3;

        A a=new A();

        System.out.println(a.var1+a.var2+var3);

    }

}

将产生()结果    B

A、0

B、4

C、3

D、代码无法编译,因为var2根本没有被初始化

 

18、在单一文件中import、class和package的正确出现顺序是()  A

A、package,import,class

B、class,import,package

C、import,package,class

D、package,class,import

 

19、编译,运行下列代码后的结果是()  D//类的成员变量可以不赋初值,局部变量要赋初值

public class Test{

    public static void main(String args[]){

        int age;

        age=age+1;

        System.out.println("The age is"+age);

    }

}

A、编译,运行后没有输出

B、编译,运行后输出:The age is1

C、能通过编译,但运行时产生错误

D、不能通过编译

20、下列哪些表达式返回true()    A、B

A、"john"=="john"

B、"john".equals("john")

C、"john"="john"

D、"john".equals(new Button("john"))

 

第二大题:

1、用循环控制语句打印输出:1+3+5+...+99=?结果

答题:

int sum=0; for(int i=1;i<100;i+=2){ sum+=i; System.out.println("i="+i+"sum="+sum); }
x
 
1
int sum=0;
2
for(int i=1;i<100;i+=2){
3
   sum+=i;
4
   System.out.println("i="+i+"sum="+sum);
5
}

结果:2500

 

2、请编写一个程序,实现从控制台读入字符,接收到"e"或者"E"退出程序

答题:

import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { public static void main(String[] args) { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); while(true){ System.out.println("请输入任意字符(输入e或E退出):"); try { String chars=br.readLine(); if(chars.equals("e")||chars.equals("E")){ System.out.println("输入的字符是e或是E,退出"); System.exit(0); } } catch (Exception e) { e.printStackTrace(); } } } }
1
21
 
1
import java.io.BufferedReader;
2
import java.io.InputStreamReader;
3
public class Test {
4
   public static void main(String[] args) {
5
       InputStreamReader isr=new InputStreamReader(System.in);
6
       BufferedReader br=new BufferedReader(isr);
7
       while(true){
8
           System.out.println("请输入任意字符(输入e或E退出):");
9
           try {
10
               String chars=br.readLine();
11
               if(chars.equals("e")||chars.equals("E")){
12
                   System.out.println("输入的字符是e或是E,退出");
13
                   System.exit(0);
14
               }
15
           } catch (Exception e) {
16
               e.printStackTrace();
17
           }
18
         
19
       }
20
   }
21
}

3、编写两个方法分别计算合数n!.一个使用递归方法实现,另一个不用递归方法。

答题:(非递归方法)

import java.io.BufferedReader; import java.io.InputStreamReader; public class test { public static void main(String[] args) { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); int num=1; while(true){ System.out.println("请输入整数:"); try { int note=Integer.parseInt(br.readLine()); if((note%1==0&&note%2==0)||(note%1==0&&note%3==0)||(note%1==0&&note%5==0)||(note%1==0&&note%7==0)){ System.out.println("你输入整数"+note+"是合数!"); for(int i=1;i<=note;i++){ num=num*i; } System.out.println(note+"的阶乘结果是:"+num); num=1; }else{ System.out.println(note+"不是合数"); } if(note==-1){ System.out.println("退出"); break; } } catch (Exception e) { e.printStackTrace(); } } } }
 
1
import java.io.BufferedReader;
2
import java.io.InputStreamReader;
3
public class test {
4
   public static void main(String[] args) {
5
       InputStreamReader isr=new InputStreamReader(System.in);
6
       BufferedReader br=new BufferedReader(isr);
7
       int num=1;
8
       while(true){
9
           System.out.println("请输入整数:");
10
           try {
11
               int note=Integer.parseInt(br.readLine());
12
               if((note%1==0&&note%2==0)||(note%1==0&&note%3==0)||(note%1==0&&note%5==0)||(note%1==0&&note%7==0)){
13
                   System.out.println("你输入整数"+note+"是合数!");
14
                   for(int i=1;i<=note;i++){
15
                       num=num*i;
16
                   }
17
                   System.out.println(note+"的阶乘结果是:"+num);
18
                   num=1;
19
               }else{
20
                   System.out.println(note+"不是合数");
21
               }
22
               if(note==-1){
 
23
                   System.out.println("退出");
24
                   break;
25
               }
26
           } catch (Exception e) {
27
               e.printStackTrace();
28
           }
29
       }
30
   }
31
}

------------------------------------------------------------------------------

答题:(递归方法)

import java.io.*; public class Test { public static void main(String[] args) { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); while(true){ System.out.println("请输入一个整数:"); try { int note=Integer.parseInt(br.readLine()); if((note%1==0&&note%2==0)||(note%1==0&&note%3==0)||(note%1==0&&note%5==0)||(note%1==0&&note%7==0)){ System.out.println("你输入整数"+note+"是合数!"); } Test t = new Test(); int n = t.calc(note); System.out.println(note+"阶乘结果是:"+n); if(note==0){ System.out.println("输入0退出"); break; } } catch (Exception e) { e.printStackTrace(); } } } public int calc(int n) { if(n==0){ return 1; } return n*calc(n-1); } }
1
32
 
1
import java.io.*;
2
public class Test {
3
   public static void main(String[] args) {
4
       InputStreamReader isr=new InputStreamReader(System.in);
5
       BufferedReader br=new BufferedReader(isr);
6
       while(true){
7
           System.out.println("请输入一个整数:");
8
           try {
9
               int note=Integer.parseInt(br.readLine());
10
               if((note%1==0&&note%2==0)||(note%1==0&&note%3==0)||(note%1==0&&note%5==0)||(note%1==0&&note%7==0)){
11
                   System.out.println("你输入整数"+note+"是合数!");
12
               }
13
               Test t = new Test();
14
               int n = t.calc(note);
15
               System.out.println(note+"阶乘结果是:"+n);
16
               if(note==0){
17
                   System.out.println("输入0退出");
18
                   break;
19
               }
20
           } catch (Exception e) {
21
               e.printStackTrace();
22
           }
23
       }
24
   }
25
   public int calc(int n) {
26
       if(n==0){
27
           return 1;
28
       }
29
       return n*calc(n-1);
30
   }
31
}
32
 

4、编写一个程序,在控制台接收数据,程序会让用户输入名字,并检查用户的输入:不允许输入空名字:一旦用户完成输入,程序会向该用户发出问题:“Hello,你输入的名字”。(提示:如果希望在控制台中与用户交互,一种可能的做法就是将System.in包装成)BufferedReader要做到这一点,必须使用InputStreamReader类将System.in这个InputStream对象转换成一个Reader即BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

答题:

import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { public static void main(String[] args) { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); while(true){ System.out.println("请输入名字:"); try { String name=br.readLine(); if(name.equals("")){ System.out.println("你输入的名字是空,退出!"); System.exit(0); }else{ System.out.println("Hello,"+name+"!"); } } catch (Exception e) { e.printStackTrace(); } } } }
24
 
1
import java.io.BufferedReader;
2
import java.io.InputStreamReader;
3
public class Test {
4
   public static void main(String[] args) {
5
       InputStreamReader isr=new InputStreamReader(System.in);
6
       BufferedReader br=new BufferedReader(isr);
7
 
8
       while(true){
9
           System.out.println("请输入名字:");
10
           try {
11
               String name=br.readLine();
12
               if(name.equals("")){
13
                   System.out.println("你输入的名字是空,退出!");
14
                   System.exit(0);
15
               }else{
16
                   System.out.println("Hello,"+name+"!");
17
               }
18
           } catch (Exception e) {
19
               e.printStackTrace();
20
           }
21
       }
22
   }
23
}
24
 

转载于:https://www.cnblogs.com/xuxaut-558/p/10045793.html

你可能感兴趣的文章
Amazon SES SPF和DKIM设置教程
查看>>
【简讯】微软拟发布开源VB6
查看>>
轻量级的Web服务器Nginx0.9.0 开发版发布
查看>>
1.文件重命名工具
查看>>
【java】json格式解析
查看>>
4_1 wp8数据绑定与独立存储空间[wp8特色开发与编程技巧]
查看>>
Linux开始结束ping命令
查看>>
openfire invalid sid 404
查看>>
开源一款私藏Management Studio插件,ProjkyAddin,送给所有使用SQLServer的园友们
查看>>
jQuery判断checkbox是否选中的3种方法
查看>>
在sublime Text 3上编写并运行java程序
查看>>
LinkedList源码分析
查看>>
【算法介绍】哈希排序算法
查看>>
js数组操作(增、删、改、查)
查看>>
UpdatePanel and JQuery Plugin
查看>>
centos5.7下的kdump
查看>>
[JavaEE笔记]Cookie
查看>>
【HDOJ】1987 Decoding
查看>>
ELK+Filebeat (1)
查看>>
leetcode 443. String Compression
查看>>