西工大作业集JAVA语言程序设计作业集Word下载.docx
《西工大作业集JAVA语言程序设计作业集Word下载.docx》由会员分享,可在线阅读,更多相关《西工大作业集JAVA语言程序设计作业集Word下载.docx(77页珍藏版)》请在冰豆网上搜索。
(A)1996年5月;
(B)1995年5月;
(C)1994年6月;
(D)1995年4月。
10:
下列不是Java开发工具的是_______。
(A)Java解释器;
(B)Javah头文件生成器;
(C)Java编译器;
(D).JavadocAPI文件产生器。
二.填空题
Java的语言特点有_______。
简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,髙性能,多线程,以及动态性
Java的口号是_______。
WriteOnce,RunAnywhere
Java程序分为_______和_______。
Java应用程序。
Java小程序
对Java小程序来说,它必须作为_______类或_______类的一个子类,继承_______或_______类的类是小程序的主类
Applet。
JApplet。
JApplet
常用的Java程序开发工具有_______,_______,_______。
美国Sun公司的JavaSDK,NetBeans。
微软公司的VisualJ++。
Borland公司的JBuilder等
JavaSDK的意思是_______。
SoftwareDevelopmentkit
Java命令行方式的编程环境由一系列_______,_______,_______。
目录文件。
类库字节码文件。
动态连接库DLL文件
Java应用程序和Java小程序的主要区别是_______。
小程序中没有main()方法
一个源文件中最多只能有一个_______类,其他类的个数_______。
Public。
无限
包语句的标识符是_______,引入语句的标识符是_______,接口定义的标识符是_______,类定义的标识符是_______。
Package。
Import。
interfaceDefinition。
classDefinition
三.简答题
什么叫Java虚拟机?
Java虚拟机是一个想象中的机器,在实际的计算机上i过软件模拟来实现。
Java虚拟机有自己想象中的硬件,如处理器.堆栈.寄存器等,还具有相应的指令系统。
Java程序分哪两类?
各有什么特点
Java程序有Java应用程序和Java小程序,无论是Java应用程序还是Java小程序,它们都是以类为基础构建的。
Java应用程序中有main()函数,而Java小程序没有。
写出显示信息为”welcometoJavaword!
”的Java小程序。
importJava.awt.Graphics;
importJava.applet.Applet
publicclassHelloAppletextendsApplet{
publicvoidpaint(Graphicsg){
g.drawstring("
welcometoJavaword!
!
"
20,20);
}
Java的开发工具有哪些?
各有什么作用?
常用的Java程序开发工具有:
美国Sun公司的JavaSDK,NetBeans;
微软公司的VisualJ++;
Borland公司的JBuilder等。
目前JavaSDK是命令行开发工具,而NetBeans,VisualJ++JBuilder是集成环境开发工具。
Java应用程序和小程序的开发上有什么不同的地方吗?
Java应用程序和小程序开发有共同的步骤如:
创建新程序.输入和编辑程序.对程序进行编译。
但编译之后还需要为Java小程序创建相应的HTML网页文件,步骤为:
创建HTML文件.输入HTML文件.运行HTML文件。
第二章测试题
一.单选题
下面对标识符的说法不正确的是_______。
(A)标识符可以以数字开头;
(B)标识符可以以字母开头;
(C)标识符可以以下划线开头;
(D)标识符可以以美元符号开头。
以下不属于Java分隔符的是_______。
(A)单行和多行注释;
(B)空格.回车和制表符;
(C)句号.引号;
(D)大括号.分号.逗号和冒号。
下列_______数据类型是Java和C不同的。
(A)接口;
(B)数组;
(C)字符串;
以下变量定义方式正确的是_______。
(A)类型标识符[[=初始赋值];
标识符];
(B)类型标识符[[=初始赋值],标识符];
(C)类型标识符[[=初始赋值]标识符];
(D)类型标识符[[初始賦值],标识符]。
以下_______运算符返回的是bool的类型。
(A)&
&
.;
(B)||;
(C)!
;
(D)0。
关于bool类型说法不正确的是_______。
(A)其完整写法为boolean;
(B)布尔数据只有两个值:
true和false;
(C)可以如下方式定义布尔变量:
booleanmouseon=true;
(D)Java中的布尔类型不能转换成数字。
缺省值错误的是_______。
(A)数值数据,缺省数值为相应类型的零;
(B)字符的缺省初值为\0000;
(C)布尔初值为false.;
(D)Object类型初值为null。
下列对运算符的说法不正确的是_______。
(A)++和--是算术运算符;
(B)Java语言对运算符的优先级.结合性和求值顺序有明确的规定;
(C)+,-,*,/和%运算符改变操作数的值;
(D)!
=(不等于)和==(等于)是双目运算符。
下列不是Java数值计算方法的是_______
(A)abs(),sin(),cos()
(B)tan(),asin(),acos()
(C)floorO,pow(a,b)
(D)strcopy(),conn()
Java标识符是大小写_______(敏感/不敏感)的,_______(没有/有)字符数
的限制。
敏感。
没有
保留字(reservedword)又称为_______,是Java语言本身使用的标识符,它有其特定的语法含义。
所有的Java保留字将不能被用做_______。
关键字。
标识符
程序中所处理的数据表现为_______和_______两种形式。
常量。
变量
Java的整型常数有_______、_______和_______三种形式。
十进制。
十六进制。
八进制
Java的实型常量有标准和科学计数法两种表现形式。
标准形式由_______和_______组成,且必须有_______,如_______等。
科学计数法形式,数字中带_______。
数字。
小数点。
0.123,4.56,789.0。
e或E
字符型char数据是由一对_______括起来的单个字符。
Java使用_______的16位字符集,而不仅仅为_______字符集,因此char类型的范围_______。
单引号。
Unicode格式。
ASCII。
0到65535
字符串常量是用_______括起来的零个或多个字符(包括转义字符)。
例如:
空串为_______。
双引号。
在Java语言中,毎个字符串常量被作为字符串类_______的对象来处理。
String
在Java语言中,字符串变暈是对象,是_______(复合类型/简简单类型)。
有_______和_______两种字符串变量类String类是常量类,初始化后不能改变StringBuffer类是_______,可以修改。
复合类型。
Strig类。
StringBuffer类。
字符串缓冲区
六种关系运算符分别_______,!
=(不等于)和==(等于)。
运算符“==”和“!
=”的运算优先级__________另外四个关系运算符。
>
(大于).<
(小于).>
=(大于或等于).<
=(小于或等于)。
低于
11:
Java中提供了7种位运算符,位逻辑运算符是_______。
算术移位运算符是_______。
~(按位取反);
(与运算);
丨(或运算);
^(异或运算)。
<
(左移);
(算术右移)和>
(逻辑右移)
12:
(a>
b)?
a:
b;
将返回_______。
a和b中较大的那个数值
13:
inta,charb;
将整形a将强制转换为字符型b的语句为_______。
b=(char)a
14:
a+b-c先执行_______,再执行_______。
a=b=c先执行_______再执行_______。
a+b。
a+b-c。
b=c。
a=b
15:
Java标准输出有_______方法和_______方法。
要控制输出数据的格式,可以使用_______方法和_______方法。
Print。
println。
printf。
format
写出下列程序的输出结果,并予以说明。
6异或3
写出下列使用Math方法的程序的输出结果。
程序运行结果如下:
半径为3.0的圆面积是:
28.XX8138
直角三角形直角边为3.0和4.0时的斜边长为:
5.0
-8和-4的较大者是:
一4
-18的绝对值是:
18
不小于45.7的最小整数是:
46.0
不大于45.7的最大整数是:
45.0
sin25度的值是:
0.XX069944。
写出下列程序的结果。
2005的二进制是:
XX
2005的八进制是:
3725
2005的十六进制是:
7d5
iobj=123
i=123
iobjl==iobj2?
true
iobj=2128
num=4133
编写程序将整数15左移2位,右移2位。
第三章测试题
Java语言中,整形常数123占有的存储字节数是_______。
(A)1(B)2(C)4(D)8
下列if-else语句正确的是_______。
(A)if
(1)语句1[else语句2]
(B)if(0)语句1
(C)if(5>
3)语句1[else语句2]
(D)if5=3)语句1[else语句2]
用if-then-else语句,_______使用缩排。
(A)不能(B)建议(C)必须(D)有时必须
有循环结构的程序中,应该注意_______。
(A)循环体中的程序不应太长
(B)避免条件表达式永远为真值
(C)能够使用while循环,尽量使用while循环
(D)有时必须使用循环结构
成了这个循环语句后,y的值将变成_______。
(A)0(B)250(C)50(D)51
成了这个循环语句后,x的值将变成_______。
这个循环中,循环体内的语句共执行了_______次,循环判断了_______次。
略
这段代码中,每一次循坏时,首先执行_______语句。
(A)intx=10(B)x>
(C)x--(D)System.out.println(i)
那么每一次循环中最后执行的是_______语句。
(A)intx=10(B)x>
(C)x--(D)System.out.println(i)
二.多选题
switch语句的选择变量可以_______类型的。
(A)int(B)boolean(C)char.(D)float
AC
来区别每一个switch分支的保留字是_______。
(A)choice(B)condition(C)case(D)break
果switch语句的选择变量的值与每一个case语句中都不匹配,将使用_______选择。
(A)any(B)default(C)none(D)other
switch语句中是可选的语句是_______。
(A)switch(B)default(C)other(D)case
三.填空题
在Java中,用_______声明一个新的对象。
New
在Java语言中使用的分支语句有_______语句和_______语句。
if–else。
switch
Java语言提供_______循环语句._______循环语句和_______循环语句三种形式。
while。
do-while。
for
四.问答题
阅读以下程序,
如果myScore=96,则程序将输出什么?
如果mySore=50,则程序将输出什么?
你认为这符合逻辑吗?
如果不合逻辑该如何修改?
如果myScope=96,程序将输出:
Congratulatetoyou!
Youscoreisverygood!
。
如果myScope=50,程序将输出:
makegreatefforts!
当成绩为50分时,程序还说“youscoreisverygood!
”,这说明这个程序不符合逻辑。
应该改为
这是因为,if(myScore>
=90)这个语句如果是真的话,应该执行两个语句,而如果不使用“将它们围起来,则第2个语句就不属于if(myScore>
=90)了。
这样,程序就不管在什么情况下都会执行这一句。
写一个程序段,判断成绩(myScope),若小于60,则输出bad;
若大于60,则输出middle;
若大于80,就输出good;
若大于90时,输出better。
这个程序有多种写法,下面列出了其中的一种:
现有一个如下的数组:
Stringweeks[]={“Monday”;
“Tuesday”;
“Wednesday”;
“Thursday”;
“Friday”;
“Saturday”;
“Sunday”;
};
请分别使用while循环和for循环,写一个程序将它们的值打印到屏幕上。
(1)使用while语句:
(2)使用for语句:
在下列程序片段中,你认为变置condition是______型的。
你认为这个程序存在什么问题?
b,能够作为条件表达式的变量,只能是boolean型的。
在这个程序中,循环体内并未改变condition的值。
如果condition是true的话,则这个循环将永远不会结束;
而如果condition是fasle的话,还好,只是不执行这个循环体。
判断以下命题是否正确,如果不正确,请举例说明。
for循环都能够改写成while循环()while循环都能够改写成for循环()
for循环都能够改写成while循环(对)
while循环都能够改写成for循环(错)
例如,上一题中的while循环就无法改写成为for循环。
根据以下要求,使用switch语句编写程序。
某校使用“A”,“B”,“C”,“D”,“E”来为学生打成绩,请编写一个程序,当:
成绩为A时,打印出“Excellent!
”,
成缋为B时,打印出“Good!
”;
成绩为C时,打印出“Average!
”;
成绩为D时,打印出“Pool!
成绩为E时,打印出“Failure!
”。
假设本程序用来打印学生甲的成绩情况,而学生甲的成绩“B”存放在变量myScope。
第四章测试题
一.判断题
数组在定义时,不能分配空间。
只有定义完后,可以给数组分配空间。
是
可以这样定义数组:
int[]num=newint[3]{l,2,3};
否
判断下列定义二维数组的方法是否正确。
int[][]num=newint[][]{l,2,3,4,5,5};
int[][]num=newint[][]{{1,2,3},{4,5,5}};
int[][]num=newint[2][]{{l,2,3},{4,5,5}};
int[][]num={{l,2,3},{4,5,6}};
是
对象数组在创建之初会自动初始化成null,由原始数据类型构成的数组会自动初始化成零(针对数值类型),(Char)0(针对字符类型)或者false(针对布尔类型)。
int[]al={1,2,3,4,5};
int[]a2;
a2=al;
此复制方法是否正确。
float[][]A=newfloat[26][26];
A[0][]={0.731,0.012,0.001,0.230,•••}可以定义一个float数组
数组中可以有不同的数据类型。
复制数组使用的方法是_______。
**()
一维数组的定义格式为_______,二维数组的定义格式为_______。
类型数组名[]或类型[]数组名。
类型数组名[]或类型[][]数组名或类型[]数组名[];
阅读下列代码,写出其输出。
classTwoDAgain{publicstaticvoidmain(Stringargs[]){
inttwoD[][]=newint[4][];
twoD[0]=newint[l];
twoD[l]=newint[2];
twoD[2]=newint[3];
twoD[3]=newint[4];
inti,j,k=0;
for(i=0ji<
4;
i++)
for(j=0;
j<
i+l;
j++){twoD[i][j]=k;
k++;
for(i=0;
i<
i++){for(j=0;
j<
j++)System,out.print(twoD[i][j]+"
)}System,out.Println();
}}}
该程序产生的输出如下:
0123456789
阅读下列代码写出其输出。
publicclassArrays{
publicstaticvoidmain(String[]args){
int[]al={1,2,3,4,5}
for(inti=0;
i<
a2.length;
i++)
a2[i]++;
for(inti=0;
i<
al.length;
i++)
prt("
al["
+i+"
]="
+al[i]);
staticvoidprt(Strings){
System,out.println(s);
运行结果是:
al[0]=2
al[l]=3
al[2]=4
al[3]=5
al[4]=6
写出下列程序的所有输出,并说明数组a1和a2的关系。
int[]al={1,2,3,4,5};
for(inti=0;
al.length;
i++)
System,out.println("
+i+"
+al);
int[]a2;
a2=al;
a2++;
**.println("
-----afterchangea2------"
);
+al);
-----afterchangea2[0]------"
a2[0]=333;
a2[0]="
+a2[0]);
al[0]="
+a