Java 程序设计试题

​考试时间:120 分钟​

​总分:100 分​

一、选择题(每题 2 分,共 30 分)

1.以下哪个不是 Java 的关键字?

A. final

B. sizeof

C. static

D. void

2.以下代码输出结果是?

xml 复制代码
System.out.println(5 / 2);

A. 2

B. 2.5

C. 2.0

D. 编译错误

3.以下关于继承的说法正确的是:

A.子类可以继承父类的构造方法

B. 子类可以访问父类的 private 成员

C. 子类可以重写父类的私有方法

D. Java支持多继承

4.以下代码的输出是?

xml 复制代码
String a = "hello";
String b = new String("hello");
System.out.println(a == b);

A. True

B. false

C. 编译错误

D. 运行时异常

5.以下代码的输出是?

xml 复制代码
int[] arr = {1, 2, 3};
System.out.println(arr[3]);

A. 0

B. null

C. 编译错误

D. 抛出 ArrayIndexOutOfBoundsException

6.以下代码的输出是?

xml 复制代码
int x = 10;
int y = 0;
if(y >= 0  &  x / y >= 0)
{
	System.out.print(y - x);
}
else
{
	System.out.print(y + x);
}

A. 10

B. -10

C. ArithmeticException

D. 0

7.Java语言的特点不包括:

A. 面向对象

B. 平台无关性

C. 指针操作

D. 自动内存管理

8.下列代码输出结果是:

xml 复制代码
int x = 5;
int y = --x;
System.out.println(x++);
System.out.println(++x);
System.out.println(--y);

A. 4,5,6

B. 4,6,3

C. 5,6,4

D. 6,5,5

9.正确的三元运算符用法:

A. result = a > b ? true : false;

B. result = a > b ? "true" ; "false";

C. result = a > b ? true; false;

D. result = a > b ? "true" : "false";

10.Java内存管理采用:

A. 手动内存分配

B. 垃圾回收机制

C. 智能指针

D. 引用计数

11.下面正确的变量名是:

A. 2variable

B. public

C. _value

D. class

12.switch语句支持的数据类型不包括:

A. byte

B. String

C. boolean

D. enum

13.以下哪种不是合法的访问修饰符?

A. private

B. default

C. protected

D. public

14.以下代码的输出结果是什么?

xml 复制代码
int a = 10;
int b = 7;
System.out.println(a++ % --b);
System.out.println(++a / b);

A. 4,2

B. 3,1

C. 4,3

D. 3,3

15.以下代码的输出结果是什么?

xml 复制代码
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (Integer num : list) {
    if(num == 2){
        list.remove(num);
    }
}
System.out.println(list);

A. [1,2,3]

B. [2,3]

C. [1,3]

D. 运行报错

二、填空题(每空 2 分,共 20 分)

1.Java 程序运行的入口方法是_________________________。

2.使用_________________________________关键字声明包。

3.若 try 块中抛出异常,程序会跳转到______________块执行。

4.Java所有类的基类是_______________________________。

5.@Override注解的作用是 ___________________________。

6.下面方法中有________________________________处错误。

xml 复制代码
public int Run()
{
    String name;
    if(name.equals("张三"))
    {
        System.out.print("我是张三!")
    }
    double num = 0;
    int age = num;
    int times = 100 / age;
}

7.值类型存储在内存的__________________________。

8.float f = 3.14; 需要改为 float f = ______ 才能通过编译。

9.Integer和 int的自动转换称为 ___________________。

  1. 判断闰年平年的代码:
java 复制代码
private bool isLeapYear(int year)
{
    return _______________________________________;
}

三、编程题(共50分)

1.面向对象(10分)

设计Animal类:

(1) 包含name(名字) 、age(年龄)

(2) 方法: Eat 打印吃的食物, Bark: 打印动物的叫声

(3) 设计继承自Animal的狗(Dog),分别重写Eat(打印"吃骨头")和Bark(打印"汪汪")方法,新增方法:Use(打印"看家护院");

(4) 设计继承自Dog的宠物狗(PetDog),重写Eat(打印"吃狗粮")和Use(打印"陪伴主人")方法;

2.功能实现(15分)

(1) 输入任意一段英文句子,句子只允许使用的标点符号 叹号:"!" 逗号:"," 句号:"."

(2) 分别统计每个字符出现的次数,打印每个字符以及最终的出现次数;

(3) 统计句子有多少个单词;

(4) 统计有多少个标点符号

3.完善写出输出斐波那契数列(1,1,2,3,5,7,11,...)5分)

要求:

(1) 参数为:指定的项数

(2) 使用循环实现

(3) 输出格式:1,1,2,3,5(每行5个数字)

(4) 禁止使用递归

java 复制代码
private void print_Fibonacci(int number)
{
    
}

4.身份信息提取(5分)

要求:

(1) 输入一个18位的身份证号

(2) 分析出出生日期,输出格式:yyyy年mm月dd日

(2) 计算出年龄,并输出年龄

5.给一个整数数组nums,其中可能包含重复元素,请你返回,所有的不重复子集(15分)

java 复制代码
public List<List<Integer>> subsetsWithDup(int[] nums) 
{
        
}

参考答案:地址

相关推荐
lang201509286 分钟前
Reactor ConnectableFlux支持多订阅者
java·网络
R-sz11 分钟前
java流式计算 获取全量树形数据,非懒加载树,递归找儿
java·开发语言·windows
Ramos丶16 分钟前
【ABAP】 从无到有 新建一个Webdynpro程序
java·前端·javascript
sniper_fandc27 分钟前
SpringMVC详解
java·springmvc
TT哇2 小时前
【Java EE初阶】计算机是如何⼯作的
java·redis·java-ee
Fireworkitte8 小时前
Apache POI 详解 - Java 操作 Excel/Word/PPT
java·apache·excel
weixin-a153003083168 小时前
【playwright篇】教程(十七)[html元素知识]
java·前端·html
DCTANT9 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
Touper.9 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
黄雪超9 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm