javaSE试题(二)

一、不定项选择题(共10小题,每题3分,共30分)

1、下面哪个不是java中的关键字?(  B   )

A.  public

B.  true

C.  main

D.  class

 

2、下面数组定义错误的是(  B D    )

A.  int [] arr ={23,45,65,78,89}; 

B.  int [] arr=new int[10] ; 

C.  int [] arr=new int[4]{3,4,5,6};

D.  int [] arr={‘a’, 23 , 45 , 6};

 

3、下面关于方法描述正确的是(  A C )

A.  方法是对功能代码块的封装

B.  方法没有返回值的时候什么都不用写

C.  没有返回值的方法,不能有return 语句

D.  方法是可以没有形参的

 

4、Java中main()函数的返回值是什么 ( D)

A、String

B、int

C、char

D、void

 

5、在Java中,关于构造方法,下列说法错误的是(  B   )

A、 构造方法的名称必须与类名相同

B、 构造方法可以带参数

C、 构造方法不可以重载

D、 构造方法绝对不能有返回值

 

6、下面有关方法覆盖说法不正确的是:(  C D )

A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值

B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;

C. 覆盖的方法不能比被覆盖的方法抛出更多的异常

D. 覆盖的方法一定不能是private的

 

7、关于被访问控制符protected修饰的成员变量,以下说法正确的是? (  BD  )

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

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

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

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

8、 下列有关继承的说法。正确的是:( A  C  )

A. 子类能继承父类的所有方法和属性;

B. 子类能继承父类的非私有方法和属性 

C. 子类只能继承父类public方法和属性

D. 子类能继承父类的方法,而不是属性

 

9、以下关于JVM的叙述,正确的是?(  AC   )

A.JVM运行于操作系统之上,它依赖于操作系统

B.JVM运行于操作系统之上,它与操作系统无关

C.JVM支持Java程序运行,它能够直接运行Java字节码文件

D.JVM支持Java程序运行,它能够直接运行Java源代码文件

 

10、已知如下定义:String s = “story”; 下面哪个表达式是合法的(   BC   )

A、 s += “books”;

B、char c = s[1];

C、int len = s.length;

D、 String t = s.toLowerCase();

 

 

二、简答题(共10小题,每题5分,共50分)

1、Java中的基本类型有哪些?它们的字节数,bit数分别是多少?

答:byte(1字节,8位),shot(2字节,16位),char(2字节,16位),int(4字节,32位),boolean(4字节,32位),float(4字节,32位),long(8字节,64),double(8字节,64位)

 

2、简述为什么Java被称作是“平台无关的编程语言”?

答: java 主要的程序操作在后台,通过Java的虚拟机jvm来直接运行Java字节码文件,Java源码执行的只是一些表面上的程序代码;

 

3、overload和override的区别

答:overload重载,形参列表必须改变,override重写形参列表和参数必须不能改变,抛出的异常不能比被重写的方法的范围更加广

 

4、阐述final、finally的区别。

答:final所定义的类是不能被修改的,被修改会抛出异常,用final定义的变量也不能被修改,否则会重新定义一个新的变量;

Finally主要在try…catch 后运行,无论程序发生什么错误,finally模块都会执行,除非java虚拟机停止或关闭

 

 

5、String s = new String("xyz");创建了几个String 对象?二者分别是什么?

答:2个,分别是“s”和“xyz”

 

6、Error类和Exception类有什么区别?

答:Error则是指一般是指与jvm相关的问题

Exception是java异常机制

 

7、String类的equals()与“==”的区别

答:equals()是用来比较值

“==”比较变量

 

8、什么是装箱?什么是拆箱?什么是自动装箱和自动拆箱?

答:装箱是把基本数据类型转换成包装类;拆箱是把包装类转换成基本数据类型

自动的意思是通过jdk 1.5后应用程序编译把数据类型基本类型和包装型进行自动的转换,例如: Integer aa= 11 , int bb = aa

 

9、阐述静态变量和实例变量的区别?

答:静态变量是以static修饰符所修饰的变量,

实例变量不以static所修饰,该变量需要进行new实例化

 

10、Java的访问修饰符有哪些?它们作用范围是什么?

答:public,protected,private

Public公有的,对外开放的,同一个包都可调用

Private私有的,它的范围比public的范围小,

Protected是受内部所保护的,外部不可调用,只要是修饰方法和属性;

 

三、编程题(共1小题,每题20分,共20分)

注意:本大题需要把源码粘贴在对应题目下方,并且需要录制运行过程和运行结果视频。

 

1、假设1701班有40个学生,学号为170101~170140,全部参加语文、数学、英语三门考试,给出所有同学的各科成绩(成绩为整数、随机产生,范围为 [50,100]),并求出每位同学的总成绩。请编写程序将1701班各位同学的总成绩从高到低排序,并使用IO流的知识的把成绩写入到D:\StudentScore.txt文件中。

注:成绩相同时学号较小的先打印;要求:

  • 打印的信息包含学号、姓名(姓名统一为同学 X”[X=01,02,03,...]和学号后两位一致)和成绩,具体格式参考下面截图。
  • 遍历数组时使用迭代器

答:

代码:

package com.TEST.demo;

 

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Iterator;

import java.util.List;

import java.util.Random;

 

 

public class Testzes {

 

    private static final OutputStream FileOutputStream = null;

    /**

     * @param args

     * @throws IOException

     */

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

         List<Studentsote> listStu=new ArrayList<>();

         Random random=new Random();

         OutputStream out=new FileOutputStream("D:/StudentScore.txt");

        

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

             Studentsote Studentzo=new Studentsote();

             int id=(170101+i);

             Studentzo.setId(id);

             String name="";

             if(i+1<10){

                  name="0"+i+1;

             }else{

                  name=""+i+1;

             }

             Studentzo.setName(name);

             int chara=random.nextInt(51)+50;

             Studentzo.setLanguage(chara);

             int shuxue=random.nextInt(51)+50;

             Studentzo.setMath(shuxue);

             int yingyu=random.nextInt(51)+50;

             Studentzo.setEnglish(yingyu);

            

             int ZoSc=chara+shuxue+yingyu;

             Studentzo.setZoscore(ZoSc);

            

             listStu.add(Studentzo);

         }

         Collections.sort(listStu);

         Iterator<Studentsote> itera=listStu.iterator();

         while (itera.hasNext()) {

             Studentsote studentaa=itera.next();

             String textjcac=("学号"+studentaa.getId()

                      +",姓名:同学:"+studentaa.getName()

                      +",语文:"+studentaa.getLanguage()

                      +",数学:"+studentaa.getMath()

                      +",英语:"+studentaa.getEnglish()

                      +",总成绩:"+studentaa.getZoscore());

             out.write(textjcac.getBytes());

         }

        

         out.flush();

         out.close();

        

    }

    private static OutputStream File(String string) {

         // TODO Auto-generated method stub

         return null;

    }

 

}

class Studentsote implements Comparable<Studentsote>{

    private int id;

    private String name;

    private int language;

    private int math;

    private int english;

    private int zoscore;

    @Override

    public int compareTo(Studentsote o) {

         if(o.zoscore!=this.zoscore){

             return o.zoscore-this.zoscore;

         }else{

             return this.id-o.id;

         }

    }

    public int getId() {

         return id;

    }

    public void setId(int id) {

         this.id = id;

    }

    public String getName() {

         return name;

    }

    public void setName(String name) {

         this.name = name;

    }

    public int getLanguage() {

         return language;

    }

    public void setLanguage(int language) {

         this.language = language;

    }

    public int getMath() {

         return math;

    }

    public void setMath(int math) {

         this.math = math;

    }

    public int getEnglish() {

         return english;

    }

    public void setEnglish(int english) {

         this.english = english;

    }

    public int getZoscore() {

         return zoscore;

    }

    public void setZoscore(int zoscore) {

         this.zoscore = zoscore;

    }

}

 

 

 

 

结果:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值