输入与输出流和线程习题
线程、输入输出与集合练习题答案
线程、输入输出与集合练习题答案1、C创建一个新的Thread对象并调用start()方法。
对start()方法的调用会立即返回,而线程会异步启动run()方法。
2、C当扩展Thread类时,应该覆盖run()方法以提供线程要执行的代码。
这与Runnable 接口的run()方法的实现是类似的。
3、B、EThread类实现了Runnable接口,并且不是抽象的。
当最后一个非后台线程结束时,程序也就终止了。
Runnable接口有一个叫做run的方法,不过该接口没有规定实现必须定义一个叫做start的方法。
在一个Runnable对象上调用run()方法无须创建新线程。
Run()是由线程执行的方法。
必须创建Thread类的实例以生成大量的新线程。
4、E我们会创建两个线程对象,但是永远不会启动它们。
在线程对象上必须调用start()方法,使得这些线程可以异步执行run()方法。
5、A、E因为调度程序的确切行为是为定义的,所以打印文本A、B和END的次序是任意的。
打印B的线程是一个后台线程,这意味着程序可以在线程设法打印字母之前终止。
6、B在执行期间我们不能确定是否字母i、j和k中的任意一个会被打印出来。
对于每次的doit()方法调用来说,每个变量对都会递增,而当该方法返回时它们的值总是相等的。
如果check()方法是在第1个和第2个变量递增的间期执行的,一个字母可能被打印的唯一途径就会呈现。
7、D当run()方法的执行终止时,一个线程的生命期也就结束了。
Start()方法的调用是异步的,即它能立即返回,并且能启动线程的运行。
Sleep()或wait()方法的调用只是暂时阻塞线程。
8、B、D首先计算的是内部currentThread方法调用,并将打印出23作为第一个数字。
Main线程打印的最后一个数字是14。
在main线程结束之后,内部currentThread方法创建的线程会完成其join()调用,并打印出22。
《Java基础程序设计》_课后习题
第一章思考题】1、简述path 环境变量的作用。
2、请说说你对JVM 的理解。
答案】1、path 环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。
当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path 环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。
2、JVM 是Java Virtual Machine 的缩写,全称是Java 虚拟机。
Java 语言的一个非常重要的特性就是跨平台性,而Java 虚拟机是实现这一特性的关键。
不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。
Java语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
第二章【思考题】1、请简述& 与&& 的区别。
2、简述break、continue 和return 语句的区别。
【答案】1、&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
当运算符“ &”和“ && ”的右边为表达式时,使用“ &”进行运算,不论左边为true 或者false,右边的表达式都会进行运算。
如果使用" && ”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“ && ”被称作短路与。
2、break 语句:在switch 条件语句和循环语句中都可以使用break 语句。
当它出现在switch 条件语句中时,作用是终止某个case并跳出switch结构。
(完整版)5Java第五单元练习题-输入流与输出流
5 Java 输入流与输出流5.1 单项选择题1.实现字符流的写操作类是( A . FileReader B . Writer C)。
. FileInputStream D. FileOutputStream2. 实现字符流的读操作类是( )。
A . FileReaderB . WriterC . FileInputStreamD . FileOutputStream3.凡是从中央处理器流向外部设备的数据流称为() A. 文件流 B. 字符流 C. 输入流 D. 输出流4.构造 BufferedInputStream 的合适参数是哪一个?( ) A . FileInputStream B . BufferedOutputStreamC . FileD . FileOuterStream5.在编写 Java Application 程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
D . import java.awt.Graphics ;6.下列流中哪个不属于字符流?( A . InputStreamReaderC . FilterReader 7.流的传递方式是() A. 并行的B. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于( )A. 前者带有缓冲,后者没有B. 前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用A . import java.awt.* ;B import java.applet.Applet ;C . import java.io.* ; )B . BufferedReaderD . FileInputStream2D. 每次读写的字节数不同9.下列流中哪个不属于字节流 A . FileInputStream B . BufferedInputStream C. FilterInputStream D. InputStreamReader10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A . FileInputStreamB . FileOutputStreamC . DataOutputStreamD . FileWriter11. 下列哪一个 import 命令可以使我们在程序中创建输入/ 输出流对象()A .import java.sql.*;B . import java.util.*;C . import java.io.*;D . import .*;12.下面的程序段创建了 BufferedReader 类的对象in ,以便读取本机 c 盘my 文件夹下的文件 1.txt 。
javaio流练习题
javaio流练习题Java IO流练习题Java IO流是Java语言中用于输入和输出操作的重要组件。
掌握IO 流的使用对于Java程序员来说是至关重要的。
本文将介绍一些Java IO 流的练习题,旨在帮助读者熟悉IO流的用法。
练习一:文件复制题目要求:编写一个程序,实现文件的复制功能。
程序接收两个文件路径作为参数,将源文件复制到目标文件路径下,并输出复制完成的信息。
解题思路:1. 使用FileInputStream读取源文件的内容;2. 使用FileOutputStream将读取到的内容写入到目标文件;3. 分别关闭输入流和输出流。
练习二:文本文件排序题目要求:编写一个程序,从一个文本文件中读取多行文本,并按字母顺序对其进行排序,然后将排序后的结果写入到另一个文件中。
解题思路:1. 使用BufferedReader读取文本文件的内容,将每一行存储到一个List<String>中;2. 使用Collections类的sort方法对List<String>进行排序;3. 使用BufferedWriter将排序后的结果写入到另一个文本文件。
练习三:对象序列化与反序列化题目要求:编写一个程序,实现对象的序列化和反序列化。
程序可以接收一个对象作为参数,将对象序列化后保存到一个文件中,并可以将文件中的对象反序列化,并输出对象的内容。
解题思路:1. 创建一个实现Serializable接口的类,表示需要被序列化和反序列化的对象;2. 使用ObjectOutputStream将对象写入到文件中;3. 使用ObjectInputStream从文件中读取对象,并输出对象的内容。
练习四:文件压缩与解压缩题目要求:编写一个程序,实现文件的压缩和解压缩功能。
程序可以接收一个文件作为参数,将文件压缩后保存到另一个文件中,并可以将压缩后的文件解压缩。
解题思路:1. 使用ZipOutputStream将文件压缩并写入到另一个文件中;2. 使用ZipInputStream从压缩文件中读取内容,并解压缩。
c++流类库与输入输出习题答案
double b=2345.67890; char c[100]; cout<<setfill('*'); cout<<left<<setw(12)<<a<<endl; cout<<right<<setw(12)<<a<<endl; cout<<hex<<a<<'\t'<<dec<<a<<'\t'<<oct<<a<<endl; cout<<scientific<<b<<'\t'<<fixed<<b<<endl; return 0; } 4.2 编写一程序,将两个文件合并成一个文件。 #include<iostream> #include<fstream> using namespace std; int main(){ int i=1; char c[1000]; ifstream ifile1("D:\\10_4_3.cpp"); ifstream ifile2("D:\\10_4_4.cpp"); ofstream ofile("D:\\r10_4.cpp"); while(!ifile1.eof()){ ifile1.getline(c,999); ofile<<c<<endl; } while(!ifile2.eof()){ ifile2.getline(c,999); ofile<<c<<endl; } ifile1.close(); ifile2.close(); ofile.close(); return 0; } 4.3 编写一程序,统计一篇英文文章中单词的个数与行数。 #include<iostream> #include<fstream> using namespace std; bool isalph(char); int main(){ ifstream ifile("E:\\lenovo\\english\\daily.doc"); char text[1000]; bool inword=false; int rows=0,words=0; int i; while(!ifile.eof()){
Java输入输出流经典编程题
软件091班java程序机试题编程题:0. 求两点之间的距离。
要求:1)设计点类,属性为点的坐标;利用点类设计距离类。
2)两点的坐标通过键盘输入,键盘输入要运用流,输入数据时要有合理的提示信息,输出信息表达明确。
1.实现如下界面功能的图形界面应用程序(字体设置)。
2.编写程序,通过键盘输入多行信息,直接输入一个文本文件中。
要求:键盘输入的信息要使用流。
3.求5个以上学生的Java平均成绩。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)Java成绩的范围在0-分100分,若输错,则需要重新输入。
4.设计一个包含两个命令按钮(显示文字和显示图片)的界面。
要求:1)当单击“显示文字”命令按钮后,命令按钮变为“文字消失”,同时显示一行“单击了命令按钮!”的文字。
单击“文字消失”命令按钮后,命令按钮又变为“显示文字”命令按钮,同时文字“单击了命令按钮!”消失。
如此可以反复。
2)当单击“显示图片”命令按钮后,命令按钮变为“图片消失”,同时显示任意一幅图片。
单击“图片消失”命令按钮后,命令按钮又变为“显示图片”命令按钮,同时图片消失。
如此可以反复。
5.求5个以上人的平均年龄。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)人年龄的范围在0岁-120岁,若输错,则需要重新输入。
6.打开Login1.Java源程序,题目要求见源程序的注释部分。
7.分别利用接口和抽象类,求给定三个以上三角形和给定三个以上矩形的平均周长。
提示:应该产生两个源程序。
要求:1)要利用对象数组生成对象。
2)信息通过键盘输入(利用流)。
3)输入的三角形的三条边要能构成三角形,否则需要重新输入。
8.利用列表框和命令按钮实现如下界面功能的图形界面应用程序()。
要求:提示信息:。
第7章 用户输入和输出习题及答案
d=[["张三",76],["李四",45],["王五",83],["郑六",66]]
s1=input("是否输入数据Y/N")
while s1 =="Y" or s1 == "y":
s2=input("请输入学生姓名及成绩,用空格隔开")
name,grade=s2.split()
d.append([name,grade])
m = input("请输入正方形边长(整数):")
n = int(m)
for i in range(n):
for k in range(n):
print("*",end=" ",sep="");
print(sep="");
10、猜年龄游戏。系统中设置好一个年龄(如18),允许用户最多尝试3次,每次系统给出提示(猜的偏大了或猜的偏小了),3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出。
a=input(‘请输入数字:’)
print(a*2)
答案:33
4、阅读以下程序,输入3,给出输出结果。
a=int(input(‘请输入数字:’))
print(a*2)
答案:6
5、阅读以下程序,给出输出结果。
print(‘%x’%24)#18
print(‘%.1f’%1.11) #1.1
print('%20s' % 'hello world') # 右对齐,取20位,不够则补位 hello world
C++语言选择题40道:C++标准库:输入输出流.Tex
C++ 标准输入输出试题1.C++标准库中,哪个流对象用于标准输入?o A. couto B. cerro C. cino D. clog答案: C解析: cin是C++标准库中用于标准输入的流对象。
2.如何将一个整数变量i的值以十六进制形式输出?o A. cout << hex << i;o B. cout << dec << i;o C. cout << oct << i;o D. cout << "hex" << i;答案: A解析: 使用hex标志可以将整数以十六进制形式输出。
3.以下哪个函数用于将字符串转换为流对象?o A. stro B. geto C. puto D. stringstream答案: D解析: stringstream是一种流对象,可以用于将字符串转换为流,以便进行输入输出操作。
4.如何从流中读取一个字符串,直到遇到空格为止?o A. cin >> str;o B. cin.getline(str, 256);o C. cin.read(str, 256);o D. getline(cin, str);答案: A解析: >>运算符会读取流中的一个单词,即读取到第一个空格为止。
5.下面哪个流对象用于输出标准错误信息,不会被缓冲?o A. couto B. cerro C. clogo D. cin答案: B解析: cerr用于输出标准错误信息,且立即输出,不会被缓冲。
6.要设置流的宽度为10,可以使用哪个成员函数?o A. setw(10)o B. setfill(10)o C. setprecision(10)o D. setbase(10)答案: A解析: setw设置输出的宽度,setfill设置填充字符,setprecision设置小数点后的精度,setbase设置基数。
java练习题库
Java练习题库一、基础知识篇1.1 变量与数据类型1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型变量并初始化为3.14。
3. 创建一个字符变量并赋值为'A'。
4. 使用字符串类型声明并初始化一个变量,内容为"Hello World"。
1.2 运算符5. 计算5 + 3 2的值。
6. 判断下列表达式的结果:10 > 5 && 8 < 6。
7. 编写一个程序,实现两个整数的交换。
8. 使用三元运算符判断一个数是奇数还是偶数。
1.3 控制结构9. 编写一个for循环,输出1到10的整数。
10. 使用while循环计算1到100的和。
11. 根据分数判断学生等级(优秀、良好、及格、不及格)。
12. 编写一个switch语句,根据月份输出对应的天数。
二、面向对象篇2.1 类与对象13. 创建一个名为Person的类,包含姓名和年龄属性。
14. 为Person类添加一个方法,用于打印个人信息。
15. 编写一个构造方法,为Person类初始化姓名和年龄。
16. 创建一个Student类,继承自Person类,并添加一个成绩属性。
2.2 封装、继承与多态17. 将Person类的姓名和年龄属性设置为私有,并提供对应的get和set方法。
18. 在Student类中重写toString方法,输出学生信息。
19. 定义一个接口Animal,包含一个方法eat()。
20. 创建两个类Cat和Dog,实现Animal接口,并分别实现eat()方法。
2.3 异常处理21. 编写一个程序,捕获并处理数组越界异常。
22. 创建一个自定义异常类MyException,并在适当的时候抛出异常。
23. 使用trycatchfinally结构编写一个读取文件的程序。
三、高级特性篇3.1 集合框架24. 使用ArrayList存储并遍历一组字符串。
25. 创建一个HashMap,存储学生姓名和成绩,并遍历输出。
java练习题
Java练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,判断一个整数是奇数还是偶数。
6. 使用三元运算符计算两个整数中的较大值。
7. 编写一个Java程序,实现字符串的拼接。
8. 声明一个布尔型变量并赋值为true,然后输出该变量的值。
9. 编写一个Java程序,输出1到100的所有偶数。
10. 使用for循环输出九九乘法表。
二、数组与字符串1. 声明一个整型数组并初始化,然后输出数组中的所有元素。
2. 编写一个Java程序,实现数组的逆序输出。
3. 计算一个整型数组的平均值。
4. 编写一个Java程序,查找数组中的最大值和最小值。
5. 使用冒泡排序算法对整型数组进行排序。
6. 编写一个Java程序,实现字符串的反转。
7. 判断一个字符串是否为回文。
8. 输出一个字符串中字母和数字的个数。
9. 编写一个Java程序,实现字符串的截取。
10. 使用StringBuilder类拼接一个由100个“Java”组成的字符串。
三、面向对象1. 定义一个学生类(Student),包含姓名、年龄和成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个学生对象并设置其属性,然后调用打印学生信息的方法。
3. 定义一个矩形类(Rectangle),包含长和宽属性,并实现计算面积和周长的方法。
4. 编写一个Java程序,创建两个矩形对象,并比较它们的面积大小。
5. 定义一个动物类(Animal),包含吃、睡和叫的方法,然后创建一个狗类(Dog)继承动物类,并重写叫的方法。
6. 编写一个Java程序,演示多态性,创建一个动物数组,包含狗和猫对象,并调用它们的叫方法。
java输入输出练习题及答案
Java输入输出练习题及答案//******************************************************************** /*李白:春思燕草如碧丝,秦桑低绿枝。
当君怀归日,是妾断肠时。
春风不相识,何事入罗帏?*/public class l1 {public static void main(String[] args) {System.out.print(" 李白:春思\n\n");System.out.println("燕草如碧丝,秦桑低绿枝");System.out.println("当君怀归日,是妾断肠时");System.out.println("春风不相识,何事入罗帏");System.out.print("\n\n");}}//******************************************************************** /*********************/public class l2 {public static void main(String[] args) {System.out.println(" *");System.out.println(" *****");System.out.println(" *******");System.out.println(" *****");System.out.println(" *");System.out.print("\n\n");}}//******************************************************************** /*日一二三四五六1 2 3 45 6 7 8 9 10 1112 13 14 15 16 17 18*/public class l3 {public static void main(String[] args) {System.out.print("\t日\t一\t二\t三\t四\t五\t六\n\t\t\t\t1\t2\t3\t4\n\t5\t6\t7\t8\t9\t10\t11\n\t12\t13\t14\t15\t16\t17\t18\n\n\n");}}//******************************************************************** /***************************************人事管理系统1、添加用户2、查询用户3、退出系统***************************************/public class l4 {public static void main(String[] args) {System.out.print("******************************************\n\t人事管理系统\n\t1、添加用户\n\t2、查询用户\n\t2、退出系统\n******************************************\n\n");}}//******************************************************************** /*·曾造·程过·康仲伯·李敦诗*/public class l5 {public static void main(String[] args) {System.out.print("姓名:\n\b曾造\n\b陈过\n\b康仲伯\n\b李敦诗\n\n");}}//********************************************************************/*** ** ** * * * * * * **/public class l6 {public static void main(String[] args) {System.out.println(" *");System.out.println(" * *");System.out.println(" * *");System.out.println(" *********");System.out.print("\n\n");}}//******************************************************************** /*IT富豪榜排名序号名字身家1 李彦宏200亿2 马化腾150亿3 马云100亿4 陈天桥60亿*/public class l7 {public static void main(String[] args) {System.out.print("\tIT富豪榜排名\n序号\t名字\t身家\n1\t李彦宏\t200亿\n2\t马化腾\t200亿\n3\t马云\t150亿\n4\t陈天桥\t60亿");}}//******************************************************************** //定义3个整形变量,分别是3,4,5,计算他们的和public class l1{public static void main(String[] args) {int ai=3,bi=4,ci=5;System.out.println("a+b+c="+(ai+bi+ci));System.out.println();}}//******************************************************************** //输入打狗的包子数,获得屎的个数,注意:2个包子一坨屎public class l1{public static void main(String[] args) {int bao=21;System.out.println("屎的个数是"+(bao/2));System.out.println(); }}//******************************************************************** //定义2个字符串型变量,分别值为“hello”和“world”,并将他们进行拼接,打印输出public class l1{public static void main(String[] args) {String he="hello",wo="world";System.out.println(he+wo);System.out.println();}}//******************************************************************** //定义一个变量保存正方形的边长,计算此正方形的周长,及面积public class l1{public static void main(String[] args) {int bian=5;System.out.println("正方形的周长="+(4*bian)+",正方形的面积"+bian*bian);System.out.println();}}//******************************************************************** /*定义一个变量记录天数=10,计算10天共有多少小时。
5Java第五单元练习题-输入流与输出流
5Java输入流与输出流5.1单项选择题1.实现字符流的写操作类是()。
A.FileReader B.Writer C.FileInputStream D.FileOutputStream2. 实现字符流的读操作类是()。
A.FileReader B.Writer C.FileInputStream D.FileOutputStream 3.凡是从中央处理器流向外部设备的数据流称为()A. 文件流B. 字符流C. 输入流D. 输出流4.构造BufferedInputStream的合适参数是哪一个?()A.FileInputStream B.BufferedOutputStreamC.File D.FileOuterStream5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
A.import java.awt.* ; B.import java.applet.Applet ;C.import java.io.* ; D.import java.awt.Graphics ; 6.下列流中哪个不属于字符流?()A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream7.流的传递方式是()A. 并行的B. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于()A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同9.下列流中哪个不属于字节流()A.FileInputStreamB.BufferedInputStreamC. FilterInputStreamD. InputStreamReader10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A.FileInputStream B.FileOutputStreamC.DataOutputStream D.FileWriter11. 下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A.import java.sql.*; B.import java.util.*;C.import java.io.*; D.import .*;12.下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。
线程、输入输出与集合练习题
线程、输入输出与集合练习题1、以下哪个方法是正确的启动新线程的方法?请选出1个正确的答案。
(a)只须创建新线程对象,新线程会自动启动。
(b)创建新线程对象并调用方法begin()。
(c)创建新线程对象并调用方法start ( )。
(d)创建新线程对象并调用方法run ( )。
(e)创建新线程对象并调用方法resume()。
2、扩展Thread类以提供线程的行为时,应重载哪个方法?请选择1个正确的答案。
(a)begin( )(b)start( )(c)run ( )(d)resume ( )(e)behavior( )3、下列说法中哪些是正确的?请选出两上正确的答案。
(a)Thread类为抽象类。
(b)Thread类实现Runnable。
(c)实现Runnable接口的类必须定义一个名为star的方法。
(d)实现Runnable的对象调用run( )方法将创建一个新线程。
(e)当最后一个非守护线形程结束时,程序将终止。
4、如果编译并运行以下程序,将会出现什么结果?public class MyClass extends Thread {public MyClass (String s) {msg = s ; }String msg ;public void run ( ) {System .out .println (msg) ;}public static void main (String [ ] args ) {new MyClass (“Hello” ) ;new MyClass(”World”) ;}}请选择1个正确的答案。
(a)程序不能通过编译。
(b)程序顺利通过编译,每次运行时依次的印出Hello和World。
(c)程序通过编译并打印一个永不结束的Hello和World字符流。
(d)程序通过编译,运行时打印Hello和World,但顺序不可预测。
(e)程序通过编译,运行时不输出任何内容并终止。
JAVA第八章课后习题解答
sb.append('\n'); }
} catch (Exception e) { e.printStackTrace(); } //显示 System.out.println(sb.toString()); } public void copy(){ try { FileWriter fw=new FileWriter(fileCopy); BufferedWriter bw=new BufferedWriter(fw); //写数据流 bw.write(sb.toString(),0,sb.toString().length()); bw.flush(); } catch (Exception e) { e.printStackTrace(); } } //test public static void main(String[] args){ FileDisplayAndCopy fda=new FileDisplayAndCopy("d:\\a.txt","d:\\b.txt"); fda.display(); fda.copy(); } } 【8】建立一个文本文件,输入一段短文,编写一个程序,统计文件中字符的个数,并将结 果写入另一个文件 [解答]: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; /** * 统计文件中字符的个数,并将结果写入另一个文件 */ public class FileCharCounter {
数据可以是未经加工的原始二进制数据也可以是经一定编码处理后符合某种格式规定的特定数据java据流有字节流和字符流之分
Java输入输出(含部分答案)
Java输入输出(含部分答案)Java输入输出知识点:1、文件和流的操作,理解字节流和字符流的概念2、异常处理的概念,自定义异常类一、选择题1、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( )A)找到合适的例外类型后继续执行后面的catchB)找到每个符合条件的catch都执行一次C)找到合适的例外类型后就不再执行后面的catchD)对每个catch都执行一次2、程序员将可能发生异常的代码放在()块中,后面紧跟着一个或多个()块。
A) catch、try B) try、catchC) try、exception D) exception、try3、在Java语言中,在程序运行时会自动检查数组的下标是否越界,如果越界,会抛掷下面的异常( )A) SQLException B) IOExceptionC) ArrayIndexOutOfBoundsExcetion D) SecurityManager4、在Java中,关于捕获异常的语法try-catch-finally的下列描述哪些正确?( )A) try-catch必须配对使用B) try可以单独使用C) try-finally必须配对使用D) 在try-catch后如果定义了finally,则finally 肯定会执行5、给定下面的代码片断:public class Animal{public void Cat(){try{Method();}catch(ArrayIndexOutBoundsException e){System.out.println("Exception1");}catch(Exception e){System.out.println("Exception2");}finally{System.out.println("Hello World!!");}}public void Method(){//...}public static void main(String[] args){Animal.Ani=new Animal ();Ani. Cat ();}}如果函数method正常运行并返回,会显示下面的哪些信息?( ) A) Hello World B) Exception1C) Exception2 D) Hello World!!6、如果下列的方法能够正常运行,在控制台上将显示什么?( ) public void example(){try{unsafe();System.out.println("Test1");}catch(SafeException e){System.out.println("Test 2");}finally{System.out.println("Test 3");}System.out.println("Test 4");}A) Test 1 B) Test 2C) Test 3 D) Test 47、以下哪一项不是File类的功能: ( )A) 创建文件B) 创建目录C) 删除文件D) 拷贝文件2、下面哪个不是InputStream类中的方法: ( )A) int read(byte[]) B) void flush()C) void close() D) int available()8、构造BufferedInputStream的合适参数是哪个?A) BufferedInputStream B) BufferedOutputStreamC) FileInputStream D) FileOuterStreamE) File9、要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合? ( )A) FileInputStream in=new FileInputStream("file.dat");in.skip(9); intc=in.read();B) FileInputStream in=new FileInputStream("file.dat"); in.skip(10); intc=in.read();C) FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D) RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9);int c=in.readByte();10、以下程序发生什么异常?class A {int x;public static void main {A x;System.out.println(x.x);}}A. IOExceptionB. InterruptExceptionC. NullPointerExceptionD. DataFormatException11、设有如下方法:public void test() {try {oneMethod();System.out.println("condition 1");} catch (ArrayIndexOutOfBoundsException e) { System.out.println("condition 2");} catch(Exception e) {System.out.println("condition 3");} finally {System.out.println("finally");}}如果oneMethod正常运行,则输出结果中有哪些?A. condition 1B. condition 2C. condition 3D. finally12、设有如下代码:public void fun () {int i;try{i=System.in.read ();System.out.println("Location 1");} catch (IOException e) {System.out.println("Location 2");} finally {System.out.println("Location 3");}System.out.println("Location 4");}如果有一个IOException发生, 则输出有哪些?A. Location 1B. Location 2C. Location 3D. Location 413、设有如下代码:1 String s = null;2 if ( s != null & s.length() > 0)3 System.out.println("s != null & s.length() > 0");4 if ( s != null && s.length() > 0)5 System.out.println("s != null & s.length() > 0");6 if ( s != null || s.length() > 0)7 System.out.println("s != null & s.length() > 0");8 if ( s != null | s.length() > 0)9 System.out.println("s != null | s.length() > 0"); 以下行中哪些会产生空指针异常。
线程、输入输出与集合练习题
线程、输入输出与会合练习题1、以下哪个方法是正确的启动新线程的方法?请选出1个正确的答案。
只须创立新线程对象,新线程会自动启动。
创立新线程对象并调用方法begin()。
创立新线程对象并调用方法start()。
创立新线程对象并调用方法run()。
创立新线程对象并调用方法resume()。
2、扩展Thread类以供给线程的行为时,应重载哪个方法?请选择1个正确的答案。
begin()start()run()resume()behavior()3、以下说法中哪些是正确的?请选出两上正确的答案。
Thread类为抽象类。
Thread类实现Runnable。
(c) 实现Runnable接口的类一定定义一个名为star的方法。
实现Runnable的对象调用run()方法将创立一个新线程。
当最后一个非守卫线形程结束时,程序将停止。
4、假如编译并运转以下程序,将会出现什么结果?public class MyClassextends Thread {public MyClass(String s) {msg=s;}Stringmsg;publicvoidrun() {System.out.println(msg);}args)publicstaticvoidmain(String[]{new MyClass(“Hello”);new MyClass(”World”);}}请选择1个正确的答案。
程序不可以经过编译。
(b)程序顺利经过编译,每次运转时挨次的印出Hello和World。
(c) 程序经过编译并打印一个永不结束的Hello和World字符流。
程序经过编译,运转时打印Hello和World,但次序不行展望。
程序经过编译,运转时不输出任何内容并停止。
5、依据以下程序进行判断,哪些说法是正确的?publicclassThreadedprint{staticThreadmakeThread(finalStrin gid,booleandaemon){Threadt=newThread(id){publicvoidrun() {(id) ;}};t.setDaemon(daemon);t.start();return t;}publicstatic voidmain(String[] args) { Threada=makeThread(“A”,false);Threadb=makeThread(“B”,true);System.out.print(“End\n”);}}请选择两上正确的答案。
C语言输入输出与顺序程序设计测试题
(346)形参的缺省存储类别是_____。
a. 自动(auto)b. 静态(static)c. 寄存器(register)d. 外部(extern)(a)(347)下列程序的输出结果是_____。
fun(int a, int b, int c){c = a*b;}main( ){int c;fun(2, 3, c);printf("%d\n", c);}a. 0b. 1c. 6d. 无法确定(d)(348)在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
a. intb. doublec. voidd. char(a)(349)以下程序的输出结果是_____。
# include <stdio.h>main(){printf("%d\n",NULL);}a. 不确定的(因变量无定义)b.0c.-1d.1(b)(350)简单变量做实参时,它相对应形参之间的数据传递方式是____。
a. 地址传递b. 单向值传递c. 由实参传给形参,再由形参传回给实参d. 由用户指定传递方式(b)(351)以下四个程序中,______不能对两个整型变量的值进行交换。
a. # include <stdio.h>main(){int a=10, b=20;swap(&a,&b);printf("%d %d\n", a, b);}swap(int *p, int *q){int *t;t=(int)malloc(sizeof(int));t=p;*p=*q;*q=*t;}b. # include <stdio.h>main(){int a=10,b=20;swap(&a,&b);printf("%d %d\n", a, b);}swap(int *p, int *q){int t;t=*p;*p=*q;*q=t;}c. # include <stdio.h>main(){int *a,*b;*a=10,*b=20;swap(a,b);printf("%d %d\n", *a, *b);}swap(int *p, int *q){int t;t=*p;*p=*q;*q=t;}d. # include<stdio.h>main(){int a=10,b=20;int x=&a,y=&b;swap(x,y);printf("%d %d\n", a, b);}swap(int *p, int *q){int t;t=*p;*p=*q;*q=t;}(a.c.d)(352)不是建立函数的目的选项是_____。
CPU与输入输出习题
1、在8086微机系统中,物理地址是如何产生的?分析在不同情形下物理地址的生成过程。
2、8086/8088 有两种工作模式,它们是通过什么方法来实现的?在最大模式下其控制信号怎样产生?3、何谓总线操作?8086/8088的总线操作主要有哪些类型?4.在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的?BHE#信号起什么作用?一、单项选择题1.逻辑地址是( )地址。
A.信息在存储器中的具体B.经过处理后的20位C.允许在程序中编排的D.段寄存器与指针寄存器共同提供的2.8086最小工作方式和最大工作方式的主要差别是( )。
A.内存容量不同B.I/O端口数不同C.数据总线位数不同D.单处理器和多处理器的不同3.8086微处理器中寄存器( )通常用作数据寄存器,且隐含用法为计数寄存器。
A.AXB.BXC.CXD.DX4.8086微处理器可寻址访问的最大I/O空间为( )。
A.1KB.64KC.640KD.1M5.由8088微处理器组成的PC机的数据线是( )。
A.8条单向线B.16条单向线C.8条双向线D.16条双向线6.8086微处理器的一个典型总线周期需要( )个T状态。
A.4B.3C.2D.17.指令队列的作用是( )。
A.暂存操作数地址B.暂存操作数C.暂存指令地址D.暂存预取指令8.用DMA方式传送数据时,是由( )控制的。
A.CPUB.软件C.CPU+软件D.硬件控制器9.8086 CPU在进行I/O写操作时,M/IO和DT/R必须是( )。
A.L,LB.L,HC.H,LD.H,H10.当8086/8088访问100H端口时,采用( )寻址方式。
A.直接B.立即C.寄存器间接D.相对11.在DMA方式下,CPU与总线的关系是( )。
A.只能控制数据总线B.只能控制地址总线C.成隔离状态D.成短接状态12.8086在响应外部HOLD请求后,( )。
A.转入特殊中断服务程序 B.进入等待周期C. 只接收外部数据D.所有三态引脚处于高阻,CPU放弃对总线控制权。
08_JAVA练习题第八章-输入与输出
08_JAVA练习题第八章-输入与输出[单选题]1.下列数据流中,属于输入流的一项是()。
A)从内存流向硬盘的数据流B)从键盘流向内存的数据流C)从键盘流向显示器的数据流D)从网络流向显示器的数据流答案:B解析: 【解析】输入流是指从外围设备流向主机(包括CPU和内存)的数据流。
2.Java语言提供处理不同类型流的类所在的包是()。
A)java.sqlB)java.utilC)D)java.io答案:D解析: 【解析】java.io 包是Java语言提供处理不同类型流的类所在的包。
3.不属于java.io 包中的接口的是()。
A)DataInputB)DataOutputC)DataInputStreamD)ObjectInput答案:C解析: 【解析】DataInputStream是java.io包中的一个类,其他三个则是java.io 包中的接口。
4.下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入“ //x ”处,完成要求的功能()。
import java.io.*;public class X8_1_4 {public static void main(String[] args){ char ch;try{//xSystem.out.println(ch);}catch(IOExceptione){ e.printStackTrace();}}}A)ch = System.in.read();B)ch = (char)System.in.read();C)ch = (char)System.in.readln();D)ch = (int)System.in.read();答案:B解析: 【解析】System.in.read()方法返回的是字符对应的Unicode码,即返回的类型是int型,而ch 是char类型,因此必须把方法的返回值强制转换为char 类型才能把它赋值给ch变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入与输出流一、选择题1.流的传递方式是(B)A. 并行的B. 串行的C. 并行和串行D. 以上都不对2.下列不是java的输入输出流的是(A)A. 文本流B. 字节流C. 字符流D. 文件流3.凡是从中央处理器流向外部设备的数据流称为(D)A. 文件流B. 字符流C. 输入流D. 输出流4.获取一个不包含路径的文件名的方法为(A)A. String getName( )B. String getPath( )C. String getAbslutePath( )D. String getParent( )5.下列属于文件输入输出类的是(D)A. FileInputStream和FileOutputStreamB. BufferInputStream和BufferOutputStreamC. PipedInputStream和PipedOutputStreamD. 以上都是6.下列不属于FileInputStream输入流的read()成员函数的是(D)A. int read();B. int read(byte b[]);C. int read(byte b[],int offset,int len);D. int read(int line);7.当处理的数据量很多,或向文件些很多次小数据,一般使用(C)流A. DataOutputB. FileOutputC. BufferedOutputD.PipedOutput8.当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用(D)流A. DataOutputB. FileOutputC. BufferedOutputD. PipedOutput9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件的不同地方时,一般使用(B)类访问。
A. FileOutputStreamB. RandomAccessFileC. PipedOutputStreamD. BufferedOutputStream10.java中,实现通过网络使用URL访问对象的功能的流是(A)A. URL输入流B. Sock输入流C. PipedInputStream输入流D. BufferedInputStream输入流二、填空题1.java的输入输出流包括___字节流____、字符流、文件流、对象流以及多线程之间通信的管道。
2.java中的非字符输出流都是____OutputStream ____抽象类的子类。
3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是___过滤流____4. java中的字符输出流都是抽象类____Writer ____的子类.5. DataOutputStream数据流向文件里写数据的方法为____write() ______.6. RandomAccessFile所实现的接口是____DataInput接口_____和DataOutput接口.7. 文件类___File ____是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能.8. 文件操作中经常需要的是随机访问, java中的___RandomAccessFile ____类提供了随机访问文件的功能.9.下列程序实现从控制台输入并读取输出字符串. 请将程序补充完整import java.io.*;public class CharInput{public static void main(String args[]) throws java.io.IOException}String s;inputStreamReader ir;BufferedReader in;ir=new______InputStreamReader______(System.io);in=new______BufferedReader______(ir);while ((s=in.____readLine()______)!=null){System.out.println(“Read;”+s);}}}10. 下列程序实现从当前目录的date.ser文件中读取文件内容并显示出来.请将程序补充完整.import java.io.*;import java.util.Date;public class UnSerializeDate{UnSerializeDate(){Date d=null;try{FileInputStream f=new_____FileInputStreamf____(“date.ser”);ObjectInputStream s=newObjectInputStream(________);d=(Date) s.readObject();f.close();}catch(Exception e){e.printStackTrace();}System.out.println(“Unserialized Date object from date.set”);System.out.println(“Date:”+d);}public static void main(String args[]){new UnSerializeDate();}}多线程一、选择题1. 线程调用了sleep()方法后,该线程将进入( A )状态。
可运行状态运行状态阻塞状态终止状态2. 关于java线程,下面说法错误的是(D)线程是以CPU为主体的行为java利用线程使整个系统成为异步创建线程的方法有两种:实现Runnable接口和继承Thread类新线程一旦被创建,它将自动开始运行3. 在java中的线程模型包含(D)A. 一个虚拟处理器B. CPU执行的代码C. 代码操作的数据D. 以上都是4.在java语言中,临界区可以是一个语句块,或者是一个方法,并用(A)关键字标识。
A. synchronizedB. includeC. importD. Thread5. 线程控制方法中,yield()的作用是(D)A. 返回当前线程的引用B. 使比其低的优先级线程执行C. 强行终止线程D. 只让给同优先级线程运行6. 线程同步中,对象的锁在(D)情况下持有线程返回A. 当synchronized()语句块执行完后B. 当在synchronized()语句块执行中出现例外(exception)时C. 当持有锁的线程调用该对象的wait()方法时D. 以上都是7. 在以下(C)情况下,线程就进入可运行状态A. 线程调用了sleep()方法时B. 线程调用了join()方法时C. 线程调用了yield()方法时D. 以上都是8. java用(A)机制实现了进程之间的异步执行A. 监视器B. 虚拟机C. 多个CPUD. 异步调用9. 下列程序实现简单的线程调度,请回答以下问题:1 Thread myThread=new MyThreadClass();myThread.start();try{myThread.sleep(10000);}catch(InterruptedException e){}myThread.stop();程序执行完第一行后,线程进入____A____状态;程序执行完第二行后,线程进入____B____状态;程序开始执行第五行时,线程进入____C____状态;程序执行完第五行后,线程进入_____B___状态;程序执行完第十行后,线程进入____D____状态;A.新建状态B.可运行状态C.阻塞状态D.终止状态10.Thread类的方法中,toString()方法的作用是(D)A. 只返回线程的名称B. 返回当前线程所属的线程组的名称C. 返回当前线程对象D. 返回线程的名称二、填空题1. ____多线程____是java程序的并发机制,它能同步共享数据、处理不同的事件。
2. 线程是程序中的一个执行流,一个执行流是由CPU运行程序的代码、______操纵程序的数据____所形成的,因此,线程被认为是以CPU为主体的行为。
3. 线程的终止一般可以通过两种方法实现:自然撤销或者是____被停止______.4. 线程模型在java中是由_____ng.Thread_____类进行定义和描述的。
5. 线程的创建有两种方法:实现_____Runnable____接口和继承Thread类。
6. 多线程程序设计的含义是可以将程序任务分成几个____并行____的子任务。
7. 按照线程的模型,一个具体的线程也是由虚拟的CPU、代码与数据组成,其中代码与数据构成了_____线程体______,线程的行为由它决定。
8. java中,新建的线程调用start()方法、如myThread.start(),将使线程的状态从New(新建状态)转换为____可运行状态_____。
9. 多线程是java程序的____并发____机制,它能同步共享数据,处理不同事件。
10. 进程是由代码、数据、内核状态和一组寄存器组成,而线程是表示程序运行状态的___寄存器___,如程序计数器、栈指针以及堆栈组成。
11. Thread类提供了一系列基本线程控制方法,如果我们需要让与当前进程具有相同优先级的线程也有运行的机会则可以调用____yield()____方法。