#Java基础测试

涉及知识点:数组,面向对象,重载,重写,继承,集合,排序,线程,文件流

一、多项选择题(可能是单选,也可能是多选)

1.下列标识符命名不合法的是(   D  )。

A.$_Name

B.$_¥

C.line

D.2variable

2.下列不属于基本数据类型的是(  B C )。

A.boolean

B.Integer;

C.String

D.char

3.设数据的源码为10100110,那么这个数据的补码是多少(  C )。

A.10100110

B.10100111

C.11011010

D.11011001

4. 给出下列代码片段:

  If ( x > 0 ) { System.out.println(“Hello.”); }

  else if ( x <-3 ) { System.out.pirntln ( “ I am Tom. ”); }

  else { System.out.println (“How are you?”); }

  请问将打印字符串 “How are you ?”的x的范围是( B   )。

A. x>0

B. x<=0&&x>=-3

C. x>=-3

D. x<=0||x>=-3

5.对函数void add(int a, int b){}下面不属于函数重载的是(  AB )。

A. public void add(int a, int b){}

B. int add(int a, int b){return a + b;}

C. int add(int a){return a + 10;}

D. double add(){return 9.0}

6.关于多态,下面描述正确的是(  C  )。【注:Father是Son的父类】

A. 当编译时类型与运行时类型不一致时,才会有多态的体现。

B. Son s = new Father(); 这行代码在Java中是允许存在的

C. Father f = new Son();将Father的引用变量f转化成Son类型需要强转

D. Father f = new Son(); 用f调用Son类型的方法,编译可以通过。

7.下列说法正确的有(
ACD  )。

A.在Java中接口允许多继承

B.在自定义类时,既继承类又实现接口,可以实现接口在前,继承类在后

C.普通类继承自抽象类时,必须重写抽象类中的抽象方法

D.实现接口时,重写接口中的方法时不用考虑方法的访问权限问题

8.对于说法有误的是(  CD  )。

A.定义类和成员时,要不写访问权限修饰符,默认的访问权限是default

B.线程的默认优先级别值对应的字段是NORMAL_PRIORITY

C.线程优先级别高的会一直霸占的CPU的调度,级别低的必须等级别高的执行完才有执行的机会

D.创建不同包下类的对象时,可以直接使用类,无需考虑其他问题

9.下面关于集合的描述正确的有(   BC  )。

A.集合中的类主要是由Collection,List和Map接口派生来的

B.在HashSet集合中存放元素时,元素位置是根据hashCode值放置的

C.当遍历集合时,我们可以对集合进行删除元素的操作

D.Stack类中调用peek()方法时,会依次取出集合中的元素

10.下面线程说法正确的有(  ACD   )。

A.当前台线程执行完之后,后台线程随之消亡

B.线程阻塞后会立即死亡

C.当遇到多个线程访问同一资源出现数据混乱问题时,可以使用同步方法来解决

D.在继承Thread类来定义线程类时,重写的run方法可以使用this表示当前线程

 

第二题:

1、打印出所有的 "水仙花数 ",所谓 "水仙花数 “是指一个三位数,其各位数字立方和等于它本身

2、利用封装的思想,编写程序:

创建一个叫做Person的实体类:

属性:姓名、年龄、性别

行为:说话、计算加法、改名

创建一个测试类P_Test,在测试类中创建Person类的对象:名叫“张三”,性别“男”,年龄23岁,让该对象调用成员方法:说出“Hello”;计算23+78的值;将名字改为“Mike”。

第三题: 按照要求完成下列问题

【1】请随机生成10个从5到150之间的数字(大于等于5小于等于150),将生成的随机数存储在整型数组中(不考虑重复)

【2】使用冒泡排序对数组中的元素进行降序排列

【3】有如下一个数组{11,22,1,33,1,1,44,0,66,1,77,1,1,88}

要求将其中为1的元素值给去掉,通过合适的代码得到如下的新数组

{11,22,33,44,0,66,77,88}(数组长度等于数据长度)

第四题:.此题要求用IO流完成

1. 使用File类在D盘下创建目录myFiles, 并在myFiles目录下创建三个文件分别为:info1.txt, info2.txt, info3.txt 。

2. 向info1.txt, info2.txt, info3.txt 中分别追加内容“第一个文件内容,千锋欢迎你”,“第二个文件内容,中国移动培训专家”,“第三个文件内容,千锋助你高薪就业”。

3. 把info1.txt , info2.txt,info3.txt 用String类中的方法截取到 文件名字,不包括拓展名,将名字变成大写,并且给文件重命名成为 INFO1.txt,INFO2.txt
,INFO3.txt,并复制到myFiles\txt目录下(须用程序创建txt文件夹)

4. 键盘输入一个关键字“千锋”,列出myFiles目录下包含“千锋”关键字的文件

5. 递归删除myFiles目录,并记录删除的信息,格式为 “INFO1.txt  删除成功(失败)  2015-8-10 10:20:30”.将文件保存到D:\log.txt中,(注意:log.txt文件不要提交)

运行效果:如下图

 

第五题.按要求完成如下功能

【1】创建一明星Star类,属性:star_No(明星编号)、star_Name(明星名字)、star_Masterpieces(明星的成名作)、star_Home(明星祖籍)、star_Marriage(明星婚否)、star_Info(明星信息);封要求所有属性封装,重写toString方法。
(4分)

【2】
根据下列提供的信息创建Star对象,将每个字符串中的字段所对应的值设置到对象属性中。

star_No:10000001 star_Name:胡军 star_Masterpieces:天龙八部 star_Marriage:true star_Home:北京市Star_Info:胡军出生在北京的一个艺术世家,属于满族镶黄旗。父亲胡宝善是男中音歌唱家,母亲王亦满是话剧演员,伯父是著名的男高音歌唱家胡松华,2013年,担任北京东城区消防形象大使。

(2)star_No:10000002 star_Name:鹿晗 star_Masterpieces:重返20岁star_Marriage:false  star_Home:北京市Star_Info:鹿晗(LU HAN),中国男演员、歌手。1990年4月20日出生于北京。2008年赴韩国留学期间在明洞逛街时被韩国SM娱乐公司星探发掘,签约成为旗下练习生。2012年4月以EXO组合主唱、领舞门面担当身份正式出道,在中外各国迅速获得超高人气。

(3)star_No:10000011 star_Name:孙俪 star_Masterpieces:后宫甄嬛传star_Marriage:true star_Home:上海市 Star_Info:孙俪,本名孙丽,1982年9月26日出生于上海市,中国大陆女演员、歌手。5岁开始学舞蹈,11岁出访国外表演,15岁担任上海警备区文工团文艺兵3年;退伍后进入东方文化学院学习。

(4)star_No:10000101 star_Name:王宝强 star_Masterpieces:天下无贼 star_Marriage:true star_Home:河北省邢台市南和县Star_Info:王宝强,中国内地男演员,1984年5月29日出生于河北省邢台市,6岁时开始练习武术,8岁在嵩山少林寺做俗家弟子,20岁时主演独立电影《盲井》获金马奖最佳新人奖及法国、泰国电影节最佳男主角奖。

【3】创建用于存放明星对象的TreeMap<Star,String>,用于存放上述的几个明星,使用自然排序进行排序,要求按照第一条件star_No明星编号升序排列,第二条件start_Name
降序排序

【4】使用HashMap<Star,String>集合进行存储,将Star对象作为键,vlaue值为与该明星有关的作品名。并遍历输出集合元素(要求:明星编号和明星姓名和明星成名作相同的为同一明星)。

【5】
要求在上题遍历集合时,要求编程实现在当前项目中,根据获取的每个具体对象的star_Name为名称创建相应文件,将明星对象进行序列化保存

 

运行效果:如下图

第六题  线程

写两个线程,一个线程打印1-52,另一个线程答应字母A-Z。打印顺序为12A34B56C……5152Z。通过使用线程之间的通信协调关系。

注:分别给两个对象构造一个对象o,数字每打印两个或字母每打印一个就执行o.wait()。在o.wait()之前不要忘了写o.notify()

编程题代码见下一节

Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流的更多相关文章

  1. Java集合、IO流、线程知识

    一.集合: 1. 集合框架: 1)Collection (1)List:有序的,有索引,元素可重复. (add(index, element).add(index, Collection).remov ...

  2. RabbitMQ/JAVA 客户端测试(补:利用线程)

    上次进行了简单的连接测试.这次主要进行一下小小的补充.利用线程将生产者消费者代码合到一个文件中. 我是将Recv.java(消费者)文件放在一个线程里添加到Send.java(生产者)中. 代码如下: ...

  3. Java阶段性测试--第四五六大题参考代码

    第四题:.此题要求用IO流完成 使用File类在D盘下创建目录myFiles, 并在myFiles目录下创建三个文件分别为:info1.txt, info2.txt, info3.txt . 代码: ...

  4. 关于Java中面向对象章节、IO 流中的重点基础知识。

    一.面向对象的三大特征,以及作用. 答:面向对象的三大特征即,封装性.继承性.多态性. 其分别的作用为 : 封装作用:将数据封装起来,提高数据的安全性, 继承作用:提高代码的复用性,减少冗余代码. 多 ...

  5. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

  6. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  7. 线程+IO流

    第十八天知识点总结 线程的停止: 1.停止一个线程,一般是通过一个变量来控制. 2.如果需要停止一个处于一个等待状态的线程,那么需要配合interrupt方法来完成 守护线程(后台线程):在一个进程中 ...

  8. Java高级程序设计笔记 • 【第1章 IO流】

    全部章节   >>>> 本章目录 1.1 File类访问文件 1.1.1 File 类 1.1.2 File 类方法 1.1.3 实践练习 1.2 文件过滤器 1.2.1 Fi ...

  9. Java第三阶段学习(二、IO流--------递归,字节流Stream)

    一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...

随机推荐

  1. sptt规范介绍

    相关资源 如何开发sptt工程的原子操作 移动端测试方案--sptt sptt规范 一个标准的sptt工程的目录如下: [sptt-project] | -- [ios] | | -- [atoms] ...

  2. [编织消息框架][网络IO模型]aio

    asynchronous I/O (the POSIX aio_functions)—————异步IO模型最大的特点是 完成后发回通知. [编织消息框架][网络IO模型]NIO(select and ...

  3. 各种API总结大全 JAVA、HTML、HTML5等等

    本文章,发现新的API会进行更新,如果你们觉得有新的版本或者拥有新的,也可以发有邮箱到"zenglei8732@163.com"当中,本人会在12小时内更新,非常感谢!!! HTM ...

  4. springmvc学习笔记(简介及使用)

    springmvc学习笔记(简介及使用) 工作之余, 回顾了一下springmvc的相关内容, 这次也为后面复习什么的做个标记, 也希望能与大家交流学习, 通过回帖留言等方式表达自己的观点或学习心得. ...

  5. JavaScript获取html元素的实际宽度和高度

    一.JavaScript获取html元素宽高 1.宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offs ...

  6. python基本数据类型——int

    一.int的范围 python2: 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1: 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1: pyth ...

  7. 子集构造法实现NFA的确定化

    功能: 采用子集构造算法实现NFA的确定化 输入:读取NFA的文件(文件名test.txt),  文件格式: 第一列表示状态名,第二列和第三列分别表示输入字符a和b到达的状态 输出:确定化后的DFA( ...

  8. java.util.zip.ZipException: invalid LOC header (bad signature)

    Debug on Server(Tomcat 9) 遇到这个exception: SEVERE: A child container failed during startjava.util.conc ...

  9. Transform java future into completable future 【将 future 转成 completable future】

    Future is introduced in JDK 1.5 by Doug Lea to represent "the result of an asynchronous computa ...

  10. 使用Dotfuscator加密混淆程序以及如何脱壳反编译

    混淆演示 首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL. 这里随便创建了一个C#的命令行控制台程序.程序很简单,对当前的时间进行了AE ...