Java测试题

news2025/7/21 23:05:41
  1. 选择题(共15题,每题2分)

( B ) 1、使用下面哪个表达式能产生[20,999]之间的数?

A.(int)(20+Math.random( )*979) B.20+(int)(Math.random( )*980)

C.(int)Math.random( )*999 D.20+(int)Math.random( )*980

( C )2、请仔细阅读下面的程序代码,若经过编译和运行后,打印结果为?

Public class Test{

Public static void main(String [] args){

Int[]a={1,2,3,4,5};

Int s=1;

For(int c:a){

S*=c;

System.out.print(s);

} }

A、115 B、118、 C、120 D、122

( C )3、如果一个程序中有多个catch语句,则程序会出现按如下那种情况执行?

A、找到合适的异常类型后继续执行后面的catch语句

B、找到每个符合条件的catch都执行一次

C、找到合适的异常类型处理后就不再执行后面的catch语句

D、对每个catch都执行一次

( D )4、对于异常处理语句 try - catch - finally,下面哪个说法是正确的?

A、如果有多个catch语句,对所有的catch都执行一次

B、如果有多个catch语句,对每个符合条件的catch都会执行一次

C、多个catch的情况下,异常类的排序顺序应该是父类在前,子类在后

D、一般情况下,finally部分都会被执行一次

( D )5、下列哪些操作不会抛出异常?

A、打开不存在的文件 B、用负数索引访问数组

C、浮点数除以0 D、浮点数乘以0

( B )6、程序员将可能发生异常的代码放在( )块中,无论如何都需要执行的代码在( )块中?

A、catch try B、try finally C、try exception D、try final

( B )7、如果执行下面的example方法时,unsafe( )有异常,则输出结果是?

Public void example(){

Try{

Unsafe( );,,..

System.out.print(“1”);

} catch(exception e){

System.out.print(“2”);

}finally{

System.out.print(“3”); }

System.out.print(“4”); }

A、123 B、234 C、23 D、34

( B )8、下面关于set集合处理重复元素的说法正确的是?

A、如果加入一个重复元素,将抛出异常

B、如果加入一个重复元素,add方法将返回false

C、集合通过调用equals方法可以返回包含重复值的元素

D、添加重复值将导致编译错误

( A )9、以下哪个方法是Vector类中增加一个新元素的方法?

A、addElement B、insert C、append D、addItem11

( B )10、欲创建ArrayList类的一个实例,此类继承了list接口,下列哪个语句是正确的?

A、ArrayList myList = new Object( );

B、List myList = new ArratList( );

C、ArrayList myList = new List( );

D、List myList = new List( );

( C )11、 写出下面程序标记为1到6的执行顺序

Public class UsingExceptions{

Public static void main( String args[]){

Try{

Method1(); //1

}catch(Exception e){

System.out.println(e.getMessage( )); //2

}finally{

System.out.println(“program is end”); //3

} }

Public static void method1()throws Exception{

Method2( ); //4

}

Public static void method2( )throws Exception{

Method3( ); //5

}

Public static void method3( )throws Exception{

Throw new Exception(“Exception thrown in method3”); //6

} }

A、1,2,3,4,5,6 B、1,2,6,4,5,3 C、1,4,5,6,2,3 D、1,4,2,3,5,6

( B )12、 下列String类的()方法返回指定字符串的一部分?

A、extractstring( ) B、substring( )

C、Substring( ) D、Middlestring( )

( BD)13、执行下列代码后,哪个结论是正确的 ? String[] s=new String[10];

A、 s[10] 为 ""; B、 s[9]为 null;

C、 s[0]为未定义 D、s.length为10

( D )14、在java语言中,下列语句中正确的是哪个?

A、 String temp[]=new String{"a" "b" "c"};

B、 String temp[]={"a" "b" "c"};

C、 String temp={"a" "b" "c"};

D、 String temp[]={"a","b","c"};

( C )15、下面的哪些方法可以判断的对象的内容和类型是否一致。

A、两个对象的属性的值是否相等可以通过==比较

B 、String类的equals()方法可以比较两个String对象的内容是否相等

C、Object的equals()方法在两个对象的内容一致时返回true。

D、类File重写方法equals()在两个对象的内容和类型一致时返回true。

二、简答题(共10题,每题3分)

  1. 简述方法的重载与重写。

重写:

  • 发生在父类与子类之间。

  • 方法名,参数列表,返回值类型必须相同。

  • 访问修饰符的限制一定要大于被重写方法的访问。

  • 重写方法一定不能抛出新的检查异常或者被重写方法申明更加宽泛的检查型异常。

重载:

  • 重载Overload是一个类中多态性的一种表现

  • 重载要求同名方法的参数列表不同(参数类型,参数个数,甚至是参数顺序)

  • 重载的时候,返回值类型可以相同也可以不同,无法以返回型别作为重载函数的区分标准。

2、异常的分类。

一:异常父类:Throwable,有两个子类

  1. Error:严重问题

  1. Exception:非严重问题

二:Exception

  1. 运行时异常:是RuntimeException以及RuntemeException的子类

  1. 非运行时异常:编译器异常,非RuntimeException

三:编译器异常和运行期异常

编译器异常必须对其处理,如果不处理,程序不能运行。

运行期异常可以对其处理也可以 不处理。

3、捕获异常的方法。

1、try....catch

try{

可能发生异常的代码

}catch(可能出现异常的类型 标识符){

这种异常出现之后的处理方式

}

没有异常,直接打印try中的内容,再打印后续内容(catch中不执行,不需要捕获)在往下执行正常代码

2、try....catch...catch

try{

可能出现异常的代码

}catch(异常类型1 异常对象名1){

异常类型1出现之后的处理方法

}catch(异常类型2 异常对象名2){

异常类型2出现之后的处理方法

}.....

}catch(异常类型n 异常对象名n){

异常类型n出现后的处理方法

}

执行try中的内容,如果没有异常,try...catch语句直接结束,如果有异常,那么就在发生异常的代码位置直接跳转到catch块中,try中后面的代码就不再继续运行了,继续匹配各个catch块中的异常类型,从上到下,一旦匹配到某个catch声明的异常类型,就直接执行该catch块的处理方式。处理完成之后,try...catch语句就直接结束了,不会再去匹配后面其他的catch块的异常类型。

  1. try...catch...finally

try{

可能发生异常的代码

}catch(可能发生的异常类型 异常对象名称){

当前异常类型的处理方式

}finally{

一定要执行的

}

finally:一定要执行的代码

finally:也是一个代码块,在这个代码块中的代码,一定会执行,无论上面描述的哪种情况都会执行,甚至在代码中有return语句,都会先执行finally中的代码。

  1. try...finally

try{

可能发生异常的代码

}finally{

一定要执行的代码

}

4、有哪些集合类型

1、List(有序,可重复)

List里存放的对象是有序的,同时也是可以重复的。List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。

2、Set(无序,不能重复)

Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。

3、Map(键值对,键唯一,值不唯一)

Map集合里存放的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。

5、String和StringBufer的区别

String:

  • String创建的对象是不可变的,一旦创建不可改变。

  • 对象值可以改变其实是创建了一个新的对象,然后把新的值保存进去。

  • String类被final修饰,不可以被继承

  • String运行时间较长

  • String适用于比较短而小的字符串。

StringBuffer:

  • StringBuffer创建的对象是可变的。

  • 它的改变不像String那样重新创建对象,而是通过构造方法。

  • StringBuffer创建的对象的值存在于栈区,不用的时候会被销毁。

  • StringBuffer运行时间比较短。

  • StringBuffer适用于比较长的字符串,比较多的字符串。

6、写出八种包装器类型。

Byte,Short,Integer,Long,Float,Double,Boolean,Character

7、什么是集合

集合类存放于java.util包中

集合类型主要有三种:set,list,map

集合存放的都是对象的引用,而非对象本身,所以我们称集合中的对象就是集合中对象的引用。

集合就是一个放数据的容器,准确来说就是放数据对象引用的容器。

8、Date和SimpleDateFormat有什么作用。

Date:获取当前时间

SimpleDateFormat:对日期进行格式化,可以将日期转换为指定格式的文本,也可将文本转化为日期。

9、对于String对象,通过“=”赋值,和使用关键字new赋值有什么区别。

使用=赋值创建了一个对象

使用new关键字赋值创建了两个对象。

10、Object类有什么特点。

  • 超类,基类,所有类的直接或间接父类,位于继承树的最顶层

  • 任何类,都默认继承Object类

  • Object类中所定义的方法,是所有对象都具备的方法

  • Object类型可以存储任何对象:作为参数,可以接受任何对象;作为返回值,可返回任意对象。

三、编程题(共5题,每题8分)

1、编写一个程序,从键盘接收一个实数,如果实数小于0则抛出异常,否则输出这个数的平方根、

 public class Ch01 {
    public static void main(String[] args) throws Exception {
        System.out.println("请输入实数:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (n < 0) {
            throw new Exception("n should be>0");
        } else {
            System.out.println(Math.sqrt(n));
        }
    }
}

2、编写一个程序ShowDateTime,输出当前日期和当前时间。要求当前日期的格式为XXXX年XX月XX日,如2016年2月25日;当前时间格式为XXXX-XX-XX XX:XX:XX

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Ch01 {
    public static void main(String[] args)  {
        String months[]={"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"};
        Calendar calendar=Calendar.getInstance();
        System.out.println("当前日期:"+calendar.get(Calendar.YEAR)+"年"
                +calendar.get(Calendar.MONTH)+"月"+calendar.get(Calendar.DATE)+"日"
        +calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND));
        times();
    }
    public static void times(){
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(date));
    }
}

3、输入一个字符串,如果含有非数字给出提示,如果是纯数字则转换成double类型,然后按照巴拿马的货币格式(—— B ——)符号输出

 import java.util.Locale;
import java.util.Scanner;

public class Ch02 {
    public static void main(String[] args) {
        System.out.println("请输入一串字符串:");
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        for (int i = 0; i <s.length() ; i++) {
          char c = s.charAt(i);
          if(c<'0'||c>='9') {
              System.out.println("该字符串中含有非数字!");
              return;
          }
        }
        Double num=Double.valueOf(s);
        System.out.println("---"+s+"---");
    }
}

4、使用 String 类的 public String toUpperCase()方法可以将一个字符串中的小写字母变成大写字母;使用 public String toLowerCase()方法可以将一个字符串中的大写字母变成小写字母。编写一个程序,使用这个两个方法实现大小写的转换。

 public class Ch02 {
    public static void main(String[] args) {
        System.out.println("请输入一串字符串:");
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        System.out.println("大写:"+s.toUpperCase());
        System.out.println("小写:"+s.toLowerCase());
    }
}

5、

1)使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排

2)增加了一位新老师Allen 教JDBC

3)Lucy 改为教CoreJava

4)遍历Map,输出所有的老师及老师教授的课程

5)利用Map,输出所有教JSP 的老师

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Ch03 {
    public static void main(String[] args) {
        Map<String,String> course=new HashMap<>();
        course.put("张三","JSP");
        course.put("Lucy","JSP");
        course.put("王五","JSP");
        System.out.println("老师的授课信息为"+course);
        course.put("Allen","JDBC");
        System.out.println("Allen老师的教授课程为"+course.get("Allen"));
        if (course.containsKey("lucy")) {//判断如果存在 key ,就修改value
            course.put("Lucy","CoreJava");//修改
        }
        System.out.println("所有老师和课程:");
        Set<Map.Entry<String,String>> messages=course.entrySet();
        for (Map.Entry<String,String> entry:messages){
            System.out.println(entry.getKey()+"--->"+entry.getValue());
        }
        System.out.println("教授JSP课程的老师有:");
        for(Map.Entry<String,String> entry:messages){
            if(entry.getValue().equals("JSP")){
                System.out.println(entry.getKey()+"--->"+entry.getValue());
            }
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/395117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【记录】Samba|Windows 11的Samba连接切换用户

Samba是一个用于共享文件和打印机的网络协议&#xff0c;可以使不同的操作系统之间共享文件和资源变得容易。在Windows 11上&#xff0c;可以使用Samba来连接到网络共享。 如果您想在Windows 11上切换用户并连接到另一个Samba共享&#xff0c;可以按照以下步骤操作。 文章目录…

乐山持点电商:抖音外卖上线全国18城公告

抖音日前在全国15个城市上线外卖业务&#xff0c;包括南京、厦门、合肥、嘉兴、宁波、广州、无锡、杭州、武汉、深圳、温州、苏州、金华、长沙、福州等。加上此前抖音外卖试点的北京、上海和成都&#xff0c;抖音外卖已覆盖全国18个城市&#xff0c;入驻商家主要集中在餐饮行业…

基于声网 Flutter SDK 实现多人视频通话

前言 本文是由声网社区的开发者“小猿”撰写的Flutter基础教程系列中的第一篇。本文除了讲述实现多人视频通话的过程&#xff0c;还有一些 Flutter 开发方面的知识点。该系列将基于声网 Fluttter SDK 实现视频通话、互动直播&#xff0c;并尝试虚拟背景等更多功能的实现。 如果…

lvgl 笔记 基础对象与组件

一、基础对象 1.1基础对象简介 lvgl 库是纯 c 语言编写的&#xff0c;使用结构体实现类的操作。其所有组件都继承字lv_obj_t&#xff0c;可以使用他的属性和方法。 创建一个基本对象非常简单&#xff1a; lv_obj_t* obj1 lv_obj_create(lv_scr_act()); 其中填入的 lv_scr_a…

KUKA U盘备份系统

KUKA U盘备份系统 原创 March Cai Cass 机器人 2022-03-10 12:39 首先想做系统备份&#xff0c;需要KUKA 官方的U盘&#xff0c;需要设置如下 双击KUKA U盘里的Recovery.exe 打开如右上图&#xff0c;点开专家设置 设置好需要的功能 返回主菜单组选择 配置界面&#xff0c;…

20230306 LS-DYNA悬臂梁案例学习笔记

一、创建材料 在左侧linear elastic,将这个拉至新建的mat材料上

【立体匹配论文阅读】Pyramid Stereo Matching Network

Authors: Jia-Ren Chang, Yong-Sheng Chen Link: https://arxiv.org/abs/1803.08669 Years: 2018 Credit Novelty and Question set up 本文提出之时&#xff0c;基于深度学习的立体匹配主流方式仍是patch-based孪生结构&#xff0c;这种方式缺乏上下文信息的获取能力&#xf…

buuctf-web-[SUCTF 2018]MultiSQL1

打开界面&#xff0c;全部点击一遍&#xff0c;只有注册和登录功能可以使用注册一个账号&#xff0c;注册admin提示用户存在&#xff0c;可能有二次注入&#xff0c;注册admin自动加了一个字符&#xff0c;无法二次注入&#xff0c;点击其他功能点换浏览器重新登录后&#xff0…

java多线程(二一)并发协作生产者消费者设计模式

1.两个线程一个生产者一个消费者 需求情景 两个线程&#xff0c;一个负责生产&#xff0c;一个负责消费&#xff0c;生产者生产一个&#xff0c;消费者消费一个。 涉及问题 同步问题&#xff1a;如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用标记或加…

如何查看并读懂昇腾平台的应用日志

当您完成训练/推理工程开发后&#xff0c;将工程放到昇腾平台运行&#xff0c;以调试工程是否正常&#xff0c;此时&#xff0c;可能会出现各种各样、五花八门的异常状况。当问题发生时&#xff0c;我们的第一反应是不是查看日志&#xff0c;看看哪里报错了。昇腾平台有哪些日志…

面向对象设计模式:结构型模式之装饰器模式

一、引入 咖啡馆订购系统 Initial 初始 4 种咖啡 House blend (混合咖啡)Dark Roast (深度烘培)Decaf (低咖啡因咖啡)Espresso (意式浓缩咖啡) 需求变更&#xff1a;客户可以加料&#xff08;咖啡、牛奶、糖等&#xff09; steamed milksoymochaWhip 使用继承&#xff1…

Vue2的基本内容(二)

目录 一、props配置 二、全局事件总线 1.作用 2.原理 3.使用 三、插槽 1.默认插槽 2.具名插槽 3.作用域插槽 四、Vuex 1.vuex是什么 2.vuex工作流程 3.vuex的API &#xff08;1&#xff09;state &#xff08;2&#xff09;state辅助函数mapState &#xff08;…

Linux 练习六 (IPC 管道)

文章目录1 标准管道流2 无名管道&#xff08;PIPE&#xff09;3 命名管道&#xff08;FIFO&#xff09;3.1 创建删除管道文件3.2 打开和关闭FIFO文件3.3 管道案例&#xff1a;基于管道的客服端服务器程序使用环境&#xff1a;Ubuntu18.04 使用工具&#xff1a;VMWare workstati…

【C++】STL——string类的模拟实现

文章目录&#x1f449;string类&#x1f448;&#x1f4d5; 概念&#x1f4d5; 成员变量&#x1f4d5; 构造函数、析构函数&#x1f4d5; size() 、getstr() 函数&#x1f4d5; 拷贝构造&#x1f4d5; 赋值重载&#x1f4d5; 迭代器&#x1f4d5; 运算符重载&#x1f4d5; 尾插…

如何管控第三方软件,保护企业数据安全?

日前&#xff0c;密码管理供应商LastPass公布了关于其数据泄露事件的调查新进展。据其透露&#xff0c;这是一起“二次协同攻击”事件。LastPass在2022年8月、12月先后披露的两起违规事件&#xff0c;这两起事件的攻击链有关联。在此次攻击事件中&#xff0c;LastPass发现恶意黑…

王道计算机组成原理课代表 - 考研计算机 第五章 中央处理器 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记&#xff0c;以及一整年里对 计算机组成 知识点的理解的总结。希望对新一届的计算机考研人提供帮助&#xff01;&#xff01;&#xff01; 关于对 “中央处理器” 章节知识点总结的十分全面&#xff0c;涵括了《计算机组成原理》课…

C++基础——C++相比C语言的新特性梳理总结(C++新特性、输入输出方式、命名空间namespace)

【系列专栏】&#xff1a;博主结合工作实践输出的&#xff0c;解决实际问题的专栏&#xff0c;朋友们看过来&#xff01; 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

论文翻译 | Momentum Contrast for Unsupervised Visual Representation Learning(前三章)

前言&#xff1a; 上一次读恺明大神的文章还是两年前&#xff0c;被ResNet的设计折服得不行&#xff0c;两年过去了&#xff0c;我已经被卷死在沙滩上 Momentum Contrast for Unsupervised Visual Representation Learning 摘要 我们提出了针对无监督表征学习的方法MOCO,利用…

上门按摩预约APP源码-东郊到家源码(开发,PHP,平台搭建)

一、什么是上门按摩预约APP源码&#xff1f; 上门按摩预约APP源码是一款家政服务类型的APP&#xff0c;可以帮忙用户在家就能享受按摩的服务。APP源码分两端&#xff0c;一端是用户端&#xff0c;另外一端是技师端。采用的技术&#xff0c;前端是安卓IOS&#xff0c;后端是PHP&…

java_Day004

1.二维数组 二维数组的创建与初始化&#xff08;java是支持规则数组和不规则数组的&#xff09; 例&#xff1a;int[][] array {{1,2},{2,3}{3,4,5}}; 结构如下&#xff1a; 二维数组的遍历&#xff1a; 例子&#xff1a; Testpublic void test21(){int[][] array new int[…