2021级网络技术班Java程序设计考试
一 | 二 | 三 | 总分 |
30 | 10 | 60 | 100 |
注意:将文件名改为个人学号+姓名保存。
一、单选题(将答案写到后面的( )中)
1. 下列各选项中,( A)是有效的标识符。
A. _max
B. class
C. Abc#
D. interface
2. Java语言中while和do-while循环的主要区别是( B )。
A. while的循环控制条件比do-while的循环控制条件严格
B. do-while的循环体会至少执行一次
C. do-while的循环体不能是复合语句
D. do-while允许从外部转到循环体内
3. 为表示关系x>y或x<=z,应使用Java语言表达式( C )
A. (x>y)&(x>=z)
B. (x>=y)||(x<z)
C. (x>y)|(x<=z)
D. (z>=x>y)
4.请先阅读下面的代码
public class Test {
public Test(){
System.out.println("构造方法一被调用了");
}
public Test(int x){
this();
System.out.println("构造方法二被调用了");
}
public Test(boolean b){
this(1);
System.out.println("构造方法三被调用了");
}
public static void main(String[] args) {
Test test = new Test(false);
}
}
上面程序的运行结果为下列哪一项?B
A、 构造方法一被调用了
B、 构造方法一被调用了
构造方法二被调用了
构造方法三被调用了
C、 构造方法三被调用了
构造方法二被调用了
构造方法一被调用了
D、构造方法三被调用了
5. int a[ ]={10,9,8,7};(C )
A. 将4个初值依次赋给a[2]至a[5]
B. 因为数组长度与初值的个数不相同,所以此语句不正确
C. 将4个初值依次赋给a[0]至a[3]
D. 将4个初值依次赋给a[1]至a[4]
6、已知类的继承关系如下:
class Person;
class Teacher extends Person;
class Student extends Person; B
则以下语句能通过编译的有哪些?
A、 Teacher t=new Person(); B、Person s=new Student();
C、 Student s=new Person(); D、Student s=new Teacher ();
7. 下面关于布尔类型变量的定义中,正确的是( A )
A. boolean a=false;
B. boolean d='true';
C. boolean c=True;
D. Boolean e=FALSE;
8. do while语句的循环体中不能包含的语句是( D )
A. while语句
B. 方法调用语句
C. switch语句
D. 方法定义语句
9. 下面浮点型数据的定义中,错误的是(C )
A. double d=1.23;
B. float f='c';
C. float f=1.234;
D. double d=1.23E7;
10. 下面的代码执行完以后,j的值是?D
int i=3,j=4;
while(i<=7){
j=j*2;
i=i+2;
}
A. 4 B. 8 C. 6 D. 32
二、填空题(将答案写在【 】中)
1. 执行一个java程序的.class字节码文件的命令是【 java 】(2分java程序设计考试题)
2. java中的双分支判断语句的关键字分别是【 if 】【 else 】(4分)。
3. 如果子类想在自己的构造方法中调用父类的构造方法,可以通过关键字【 super 】实现调用(2分)。
4.若int a[4][4]={{1,2},{3,4},{5,6,7},{8,9,10,11}},则a[3][2]= 【 10 】(2分)。
三、编程题(将完整的源程序写在题目下方,类命名方式为姓名全拼或缩写加题号1-5,如Lijiayu01,将答案的完整代码复制到下面的空白处)
1. 请编写一个程序,计算5-100(包括边界值)以内所有偶数和(要求用for循环,和if语句)
(10分)
public class Lijiay {
public static void main(String[] args) {
int sum=0;
for(int i=5;i<=100;i++) {
if(i%2==0) {
sum+=i;
}
}
System.out.println("5-100(包括边界值)以内所有偶数和:"+sum);
}
}
2. 定义2个方法area,分别求长方形的面积和圆形的面积(边长均为整数),并从main方法中分别调用,实现给定一个数据,两个数据求圆形、长方形的面积。
(10分)
package Lijiay;
public class Lijiay {
public static void main(String[] args) {
area(3,4);
area(3);
}
static void area (int a,int b) {
int S1=a*b;
System.out.println("长方形的面积:"+S1);
}
static void area (int a) {
final double pi=3.14;
double S2=pi*a*a;
System.out.println("圆形的面积:"+String.format("%.2f", S2));
}
}
3. 定义一个整形数组score[10],并赋值{53,60,86,55,67,58,85, 96,75,80 }
求该数组中的平均值;将大于等于50且小于60分的改为60,并统计改的人数有几个(要求定义aver方法,change方法,调用这些方法后能输出相应的值,即在main方法中验证结果。)(15分)
package Lijiay;
public class Lijiay {
public static void main(String[] args) {
int score[]={53,60,86,55,67,58,85, 96,75,80 };
aver(score);
change(score);
}
static void aver (int a[]) {
int sum=0;
double avg=0;
for(int i=0;i<a.length;i++) {
sum+=a[i];
}
avg=(double)sum/a.length;
System.out.println("数组的平均值是:"+avg);
}
static void change (int score[]) {
int count=0;
for(int i=0;i<score.length;i++) {
if(score[i]>=50&score[i]<60) {
score[i]=60;
count++;
}
}
System.out.println("改的人数有:"+count+"个");
}
}
4.在开发车辆销售管理系统中,需要定义车辆类,要求如下:(25分)(本题可以建一个类如Lijiayu04,将下面两个类放在这个类中。也可以建三个类)
1、定义车辆类Vehicle.java
(1)包括成员变量:车辆类型type、车辆品牌brand、车辆价格price。
(2)无参的构造方法。
(3)一个3个参数的构造方法,分别实现对车辆类型、车辆品牌、车辆价格实现初始化。
(4)输出车辆信息的方法printInfo();输出车辆类型、品牌、价格。
package Lijiay;
public class Vehicle {
String type;
String brand;
double price;
public Vehicle() {
}
Vehicle(String type, String brand, Double price) {
this.type = type;
this.brand = brand;
this.price = price;
}
public void printlnfo() {
System.out.println("------车辆信息-------");
System.out.println("车辆类型:" + type);
System.out.println("车辆品牌:" + brand);
System.out.println("车辆价格:" + price);
}
}
2、以Vehicle车辆类为父类,创建小轿车子类Car.java
(1)定义Car类无参的构造方法,用super调用父类的无参的构造方法。
(2)定义Car类的3个参数(类型、品牌、价格)的构造方法,应用super去调用父类的有参的构造方法。
package Lijiay;
public class Car extends Vehicle {
Car() {
super.printlnfo();
}
Car(String type, String brand, double price) {
super(type,brand,price);
}
}
3、以Vehicle车辆类为父类,创建大巴车子类Bus.java
(1)Bus类中增加成员变量座位数numOfSeat。
(2)定义Bus类的4个参数(类型、品牌、价格、座位数)的构造方法,自己使用this返回自己的所有的形参的数据。
(3)重写父类的printInfo()方法,在继承父类printInfo()方法基础上,增加座位数的输出信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论