Java程序设计基础习题答案Word格式文档下载.docx
- 文档编号:21761587
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:33
- 大小:30.44KB
Java程序设计基础习题答案Word格式文档下载.docx
《Java程序设计基础习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java程序设计基础习题答案Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
=10%2
表达式
(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)
将5赋值给4是不合法的。
7.下列()是合法的Java标识符。
(1)Counter1
(2)$index,
(3)name-7(4)_byte
(5)larray(6)2i
(7)try(8)integer
Java标识符由数字,字母和下划线(_),美元符号($)组成。
在Java
中是区分大小写的。
而且还要求首位不能是数字。
最重要的是,Java关键字不能
当作Java标识符。
因此,
(1)、(4)、(5)、(8)是合法标识符。
8.下列各项中定义变量及赋值不正确的是()
(1)intI=32;
(2)floatf=45.0;
(3)doubled=45.0;
(2)不正确,选项
(2)定义float类型时必须在数据后面加上“F”或“f。
”
9.Java语言中,整型常数123占用的存储字节数是()
(1)1
(2)2(3)4(4)8
正确选项是(3),Java语言中,默认整型数占用4个字节数。
10.以下代码的编译运行结果是
publicclassTest{
publicstaticvoidmain(String[]args){
intage;
age=age+1;
System.out.println(“theageis“+age);
}}
(1)编译通过,运行无输出
(2)编译通过,运行结果为“theageis1”
(3)编译通过但运行时出错
(4)不能通过编译
(4)为正确选项。
Java在使用变量前应该先初始化。
11.写出下列表达式的运行结果
(1)6+3<
2+7
(2)4%2+4*3/2
(3)(1+3)*2+12/3(4)8>
3&
&
6==6&
12<
4
(5)7+12<
4&
12-4<
8(6)23>
>
2
(1)false;
(2)6;
(3)12;
(4)fale;
(5)false;
(6)5;
第3章
12.编码验证i++和++i的区别。
++i和i++在单独使用时,就是i=i+1。
而a=++i,相当于i=i+1;
a=i;
(先i=i+1,再使用i的值),而a=i++,相当于a=i;
i=i+1;
(先使用i
的值,再i=i+1)。
13.写出下面表达式的结果
(1)5/3
(2)5/3.0
(3)5%3
(4)5%-3
(1)1
(2)1.6666666666666667
(3)2
(4)2
14.考虑如下的Test.java,并指出错误原因。
程序清单:
Test.java
classTest{
publicstaticvoidmain(String[]args){
byteb=5;
b=(b–2);
System.out.println(b);
b=(b-2);
错误,在进行b-2时,运算结果类自动提升为int,而b是byte
类型,编译的时候会报错,因为存在高类型数据向低类型数据转化的风险。
而
byteb=5;
是正确的,因为在编译的时候就能够确定5在byte允许的范围内,虚拟
机在编译时做了一定的优化处理。
15.考虑一下对于if⋯⋯else⋯语⋯句,还有没有更简洁的写法。
例如:
if(x>
0){
y=x;
}else{
y=-x;
}
可以简写成什么?
y=x>
0?
x:
-x;
16.给定N,编程实现打印N*N的乘法表。
for(inti=0;
i<
9;
i++){
for(intj=0;
j<
i+1;
j++){
b=j+1;
c=a*b;
System.out.print(a+"
*"
+b+"
="
+c+"
"
);
System.out.println("
17.将下列语句转换成Java代码:
(1)如果b1为真,打印“one,”否则打印“two。
(2)如果b1为假并且b2为真,打印“one,”否则打印“two。
(3)如果b1为假,并且如果b2为真则打印“one,”如果b2为假则打印“two;
否则打印“three。
”参考答案:
(1)if(b1=true){
System.out.print("
one"
two"
(2)if(b1=false&
b2=true){
(3)if(b1=false&
}elseif(b1=false&
b2=false){
three"
18.找出如下各项中的语法错误:
(1)
for(intk=0;
k<
100;
k++)
System.out.println(k)
(2)
k++);
System.out.println(k);
(3)
intk=0
whilek<
100{
k++
};
(4)
intk=0;
do{
k++;
}whilek<
(1)for(intk=0;
k++){
(2)for(intk=0;
}
(3)intk=0;
while(k<
100){
k++;
(4)intk=0;
}while(k<
100);
19.写出三个不同的循环―for、while和do-while循环,打印出从0(包括0)开
20.始直到1000的所有10的倍数。
(1)intn=0;
while(n<
=1000&
n%10==0){
System.out.print(n);
n++;
(2)
intn=0
if(n%10==0){
}while(n<
1000);
(3)
if(n%10==0){
system.out.print(n);
21.给定N,编程实现打印行数为N的菱形。
Scannerread=newScanner(System.in);
intn;
while(true){
输入一个整数(>
=0)"
if(read.hasNextInt()){
n=read.nextInt();
if(n<
0)
continue;
break;
read.next();
for(inti=0;
i<
n;
for(intj=1;
j<
n-i;
j++)
for(intj=0;
i*2+1;
for(intj=1;
System.out.println();
for(inti=n-2;
i>
=0;
i--){
22.写出下面程序的输出结果:
publicclassTestWhile{
inta=0;
while(++a<
=100)
if((a%9)==0)
System.out.print(a+"
\t"
918273645546372819099
第4章
23.比较String和StringBuffer的区别,并说明什么时候适合使用StringBuffer。
在Java中,String被完全当成一个对象,一个String对象是组成这个字符串的字
符序列,加上用来操作字符串的方法。
字符串一旦被创建,就不能改变它的值。
StringBuffer类同样能够表示一串字符。
但是,与String类不同,一个StringBuffer类能够被修改,StringBuffer类维护的是一个字符缓冲区,在必要时它的长度能
够增长和缩短。
对任何涉及修改字符串的任务,应该用StringBuffer代替String。
24.说明==和equals的区别,并举例。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在
堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的是两个变
量是否是对同一个对象的引用,即堆中的内容是否相同。
==比较的是两个对象
的地址,而equals比较的是两个对象的内容。
25.假定s是字符串字面值“exercise,找”出下列表达式有语法错误的并改正:
(1)s.charAt("
hello"
)
(2)s.indexOf("
er"
(3)s.substring(5)(4)s.lastIndexOf(er)(5)s.length()
其中
(1)和(4)表达式有语法错误。
(1)charAt(int)参数是int类型的;
(4)lastIndexOf()
中的参数应该为int或者String,这里的er既不是int也不是String。
26.给定一个句子,统计单词中字母的出现次数(字母不区分大小写,全部按照
小写计算)。
参考代码
importjava.util.Scanner;
publicclasscountChar{
//输入需要检测的字符串
InputString:
"
Scannerstr0=newScanner(System.in);
Strings=str0.next();
theStringis:
+s);
s=s.toLowerCase();
//将字符串转换为小写
//输入需要统计的字符
Inputchar:
Scannerstr1=newScanner(System.in);
Strings1=str1.next();
charc=s1.charAt(0);
Inputcharis:
+c);
intcount=0;
//统计出现次数变量
s.length();
charch=s.charAt(i);
if(ch==c){
count++;
Thetimesis:
+count);
27.执行Strings=newString("
xyz"
这一语句,共创建几个String对象?
两个。
本身是一个字符串对象,而newString()也会创造一个字
符串对象。
28.对于语句Strings="
;
下面那个表达式是合法的?
(1)s+=5;
(2)charc=s[1]
(3)intlen=s.length;
(4)Stringt=s.toLowCase;
(1)为合法的。
29.String和StringBuffer中的哪个方法能改变调用该方法的对象自身的值?
(1)String的charAt()
(2)String的replace()
(3)String的toUpperCase()
(4)StringBuffer的reverse()
(4)StringBuffer的reverse()可以改变对象自身的值。
30.假定s是字符串字面值“exercise,计”算下面每个表达式的值:
(1)s.charAt(5)
(3)s.substring(5)
(4)s.lastIndexOf(,e?
(5)s.length()
(1)i;
(2)2;
(3)ise;
(4)0;
(5)8;
31.写出下面程序的输出结果:
publicclassStringExample{
Stringstr=newString("
abcd"
Stringstr1="
Stringstr2=newString("
System.out.println(str==str1);
System.out.println(str==str2);
System.out.println(str1==str2);
System.out.println(str.equals(str1));
System.out.println(str.equals(str2));
System.out.println(str1.equals(str2));
System.out.println(str==str.intern());
System.out.println(str1==str1.intern());
System.out.println(str.intern()==str2.intern());
Stringhello="
Stringhel="
hel"
Stringlo="
lo"
System.out.println(hello=="
+"
+lo);
falsefalse
falsetruetruetruefalsetrue
true
false
32.编写程序,将字符串“aabbcdefg中”每个字符作加2操作,最后结果为
33.“ccddefgh。
i”参考答案:
publicclassChar{
Strings="
aabbcdefg"
char[]ch=s.toCharArray();
ch.length;
ch[i]=(char)(ch[i]+2);
ch.toString();
System.out.println(ch);
第5章
1.编写一个程序,计算出前10个平方数(例如1,4,9,16),并将这10个数
保存到一个整型数组中,将数组中的所有元素输出到控制台,验证程序是否正确。
要确保数组有10个元素,并且元素值的范围是1~100.
intb[]=newint[10];
for(inti=1;
11;
b[i]=i*i;
10;
System.out.println(a[i]);
2.声明一个数组,其中的元素为37,47,23,-5,19,56,然后创建一个新数
组,将前一个数组的内容复制到后一个数组中。
inta[]={37,47,23,-5,19,56};
intb[]=newint[a.length];
for(inti=0;
a.length;
i++){
b[i]=a[i];
for(intj=0;
b.length;
j++){
System.out.print(b[j]+"
34.从命令行输入5个整数到数组a中,分别输入33、55、22、66及77。
求偶数
的个数及其和。
示例代码:
inta[]=newint[5];
intsum=0;
请输入数组中的元素:
a[i]=read.nextInt();
if(i%2!
=0){
sum=sum+a[i];
偶数个数是:
偶数的和是:
+sum);
35.从命令行输入一个字符串“JavaServle,t将”每个字符存入a数组。
(1)大写字母有几个?
分别是那几个?
(2)小写字母有几个?
(3)将小写字母转换成大写字母,大写字母转换成小写字母。
if(args[0]!
="
){
StringinputString=args[0];
intcountLower=0;
intcountUpper=0;
StringstrLower="
StringstrUpper="
inputString.length();
charc=inputString.charAt(i);
if(Character.isUpperCase(c)){
countUpper++;
strUpper+=c+"
}elseif(Character.isLowerCase(c)){
countLower++;
strLower+=c+"
大写字母有"
+countUpper+"
个,分别是:
+
strUpper);
小写字母有"
strLower);
36.阅读下面代码:
int[]ages
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 基础 习题 答案