一、不定项选择题(共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,...]和学号后两位一致)和成绩,具体格式参考下面截图。

遍历数组时使用迭代器

java 返回文件地址 java有返回值_Java

答:

代码:

packagecom.TEST.demo;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.OutputStream;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Random;
public classTestzes {
private static finalOutputStreamFileOutputStream=null;
/**
*@paramargs
*@throwsIOException
*/
public static voidmain(String[] args)throwsIOException {
List listStu=newArrayList<>();
Random random=newRandom();
OutputStream out=newFileOutputStream("D:/StudentScore.txt");
for(inti = 0; i < 40; i++) {
Studentsote Studentzo=newStudentsote();
intid=(170101+i);
Studentzo.setId(id);
String name="";
if(i+1<10){
name="0"+i+1;
}else{
name=""+i+1;
}
Studentzo.setName(name);
intchara=random.nextInt(51)+50;
Studentzo.setLanguage(chara);
intshuxue=random.nextInt(51)+50;
Studentzo.setMath(shuxue);
intyingyu=random.nextInt(51)+50;
Studentzo.setEnglish(yingyu);
intZoSc=chara+shuxue+yingyu;
Studentzo.setZoscore(ZoSc);
listStu.add(Studentzo);
}
Collections.sort(listStu);
Iterator 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 staticOutputStream File(String string) {
//TODOAuto-generated method stub
return null;
}
}
classStudentsoteimplementsComparable{
private int id;
privateStringname;
private int language;
private int math;
private int english;
private int zoscore;
@Override
public intcompareTo(Studentsote o) {
if(o.zoscore!=this.zoscore){
returno.zoscore-this.zoscore;
}else{
return this.id-o.id;
}
}
public intgetId() {
return id;
}
public voidsetId(intid) {
this.id= id;
}
publicString getName() {
return name;
}
public voidsetName(String name) {
this.name= name;
}
public intgetLanguage() {
return language;
}
public voidsetLanguage(intlanguage) {
this.language= language;
}
public intgetMath() {
return math;
}
public voidsetMath(intmath) {
this.math= math;
}
public intgetEnglish() {
return english;
}
public voidsetEnglish(intenglish) {
this.english= english;
}
public intgetZoscore() {
return zoscore;
}
public voidsetZoscore(intzoscore) {
this.zoscore= zoscore;
}
}

结果:

java 返回文件地址 java有返回值_子类_02