2022年Java程序设计基础习题答案.pdf
《2022年Java程序设计基础习题答案.pdf》由会员分享,可在线阅读,更多相关《2022年Java程序设计基础习题答案.pdf(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Java 程序设计基础习题答案Java程序设计基础课后习题参考答案第 2 章1、 关于 Java Application 的入口方法 main()的检验 : main()方法的参数名就是否可以改变?main()方法的参数个数就是否可以改变?该方法名就是否可以改变?参考答案 :(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。2、 当一个程序没有 main()方法时 ,能编译不?如果能编译 ,能运行不?参考答案 :当一个程序没有main()方法就是 ,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。3、 下列语句能否编译
2、通过?byte i = 127; byte j = 128; long l1 = 999999; long l2 = 9999999999; 参考答案 :byte i 与 long l1 可以编译通过。而byte j 与 long l2 超出自身数据类型范围 ,所以编译失败。4、 下列语句能否编译通过?float f1 = 3、5; float f2 = 3、5f; 参考答案 :java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是 float 型的 ,必须在数据后面加上 “F”或“f ”;因此,float f1 无法编译通过。5、 验证 int 与 char,i
3、nt与 double 等类型就是否可以相互转换。参考答案 :(1)char 类型可以转换为int 类型的 ,但就是 int 类型无法转换为char类型的;(2)int 可以转换为double 类型的 ,但就是 double 类型无法转换为int 类型的。6、 计算下列表达式 ,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。(1) 4+5 = 6*2 (2) (4=5)/6 (3) 9%2*7/317 (4) (4+5)=10%2 参考答案 :表达式 (2)为不合法表达式 ,只能将值赋值给一个变量,因此其中 (4=5)将5 赋值给 4 就是不合法的。7、 下列(
4、)就是合法的 Java标识符。(1) Counter1 (2) $index, (3) name-7 (4) _byte (5) larray (6) 2i 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案(7) try (8) integer 参考答案 :Java标识符由数字 ,字母与下划线 (_),美元符号 ($)组成。在 Java中就是区分大小写的。而且还要求首位不能就是数字。最重要的就是,Java 关键字不
5、能当作 Java标识符。因此 ,(1)、(4)、(5)、(8)就是合法标识符。8、 下列各项中定义变量及赋值不正确的就是() (1) int I = 32; (2) float f = 45、0; (3) double d = 45、0; 参考答案 :(2)不正确,选项(2)定义 float 类型时必须在数据后面加上“F”或“f ”。9、 Java语言中 ,整型常数 123 占用的存储字节数就是 () (1) 1 (2) 2 (3) 4 (4) 8 参考答案 :正确选项就是 (3), Java语言中 ,默认整型数占用 4 个字节数。10、 以下代码的编译运行结果就是public class T
6、est public static void main(String args) int age; age = age + 1; System 、out、println( “the age is “ + age); (1) 编译通过 ,运行无输出(2) 编译通过 ,运行结果为“the age is 1”(3) 编译通过但运行时出错(4) 不能通过编译参考答案 :(4)为正确选项。 Java 在使用变量前应该先初始化。11、 写出下列表达式的运行结果(1) 6+33&6=6&124 (5)7+124&12-42 参考答案 :(1) false;(2) 6;(3) 12; (4) fale;(5)
7、 false;(6) 5; 第 3 章1. 编码验证 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)。2、 写出下面表达式的结果(1)5/3 (2)5/3、0 (3)5%3 (4)5%-3 参考答案 :(1)1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页
8、,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案(2)1、6666666666666667 (3)2 (4)2 3、 考虑如下的 Test、java,并指出错误原因。程序清单 :Test、java class Test public static void main(String args) byte b = 5; b = (b 2); System 、out、println(b); 参考答案 :b=(b-2);错误,在进行 b-2 时,运算结果类自动提升为int,而 b 就是 byte类型,编译的时候会报错,因为存在高类型数据向低类型数据转化的风险。而b
9、yte b=5;就是正确的 ,因为在编译的时候就能够确定5 在 byte 允许的范围内 ,虚拟机在编译时做了一定的优化处理。4、 考虑一下对于 if else 语句,还有没有更简洁的写法。例如:if( x 0 ) y = x; else y = -x; 可以简写成什么?参考答案 :y=x0?x:-x; 5. 给定 N,编程实现打印 N*N 的乘法表。参考答案 : public static void main(String args) int a = 0, b = 0, c = 0; for(int i=0; i9; i+) a=i+1; for(int j=0;ji+1;j+) b = j+
10、1; c = a*b; System、out、print(a + * + b + = + c + ); System 、out、println( ); 6、 将下列语句转换成Java代码: (1)如果 b1 为真,打印“one”,否则打印 “two”。(2)如果 b1 为假并且 b2 为真,打印“one”,否则打印 “two”。(3)如果 b1为假,并且如果 b2 为真则打印 “one”,如果 b2 为假则打印 “two”;否则打印“three ”。参考答案 :(1) if(b1=true) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - -
11、 - - - - - - - -第 3 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案System 、out、print(one); else System 、out、print(two); (2)if(b1=false & b2 =true) System 、out、print(one); else System 、out、print(two); (3)if(b1=false & b2 =true) System 、out、print(one); else if (b1=false & b2 =false) System 、out、print(two
12、); else System 、out、print(three); 7、 找出如下各项中的语法错误: (1) for(int k=0;k100;k+) System 、out、println(k) (2) for(int k=0;k100;k+); System 、out、println(k); (3) int k=0 while k100 System 、out、println(k);k+ ; (4) int k=0; do System、out、println(k); k+; while k100; 参考答案 : (1)for(int k=0;k100;k+) System 、out、pr
13、intln(k); (2)for(int k=0;k100;k+) System 、out、println(k); (3)int k=0; while (k100 ) System 、out、println(k); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案k+; (4)int k=0; do System 、out、println(k); k+; while (k100); 8. 写出三个不同的循环 for
14、、while 与 do-while 循环,打印出从 0(包括 0)开始直到 1000 的所有 10 的倍数。参考答案 : (1) int n=0; while(n=1000 & n%10=0) System 、out、print(n); n+; (2) int n=0 do if(n%10=0) System 、out、print(n); n+; while(n1000); (3) for(int n=0;n=0); if (read、hasNextInt() n = read、nextInt(); if (n 0) continue; break; else read、next(); 精品资
15、料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案for (int i = 0; i n; i+) for (int j = 1; j n - i; j+) System 、out、print( ); for (int j = 0; j i * 2 + 1; j+) System 、out、print(*); for (int j = 1; j = 0; i-) for (int j = 1; j n - i; j+) S
16、ystem 、out、print( ); for (int j = 0; j i * 2 + 1; j+) System 、out、print(*); for (int j = 1; j n - i; j+) System 、out、print( ); System、out、println(); 10、 写出下面程序的输出结果 : public class TestWhile public static void main(String args) int a=0; while(+a=100) if (a%9)=0) System、out、print(a+t); System、out、prin
17、tln(); 参考答案 :9 18 27 36 45 54 63 72 81 90 99 第 4 章1、 比较 String 与 StringBuffer 的区别 ,并说明什么时候适合使用StringBuffer。参考答案 : 在 Java中,String 被完全当成一个对象 ,一个 String 对象就是组成这个字符串的字符序列 ,加上用来操作字符串的方法。字符串一旦被创建,就不能改变它的值。StringBuffer 类同样能够表示一串字符。 但就是 ,与 String 类不同 ,一个 StringBuffer类能够被修改 ,StringBuffer 类维护的就是一个字符缓冲区,在必要时它的
18、长度能够增长与缩短。对任何涉及修改字符串的任务,应该用 StringBuffer 代替 String。2、 说明=与 equals的区别 ,并举例。参考答案 : =操作比较的就是两个变量的值就是否相等,对于引用型变量表示的就是两个变量在堆中存储的地址就是否相同,即栈中的内容就是否相同。equals 操作表示的精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案就是两个变量就是否就是对同一个对象的引用,即堆中的内容就是否
19、相同。=比较的就是两个对象的地址,而 equals比较的就是两个对象的内容。3、 假定 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。4、
20、给定一个句子 ,统计单词中字母的出现次数(字母不区分大小写 ,全部按照小写计算)。参考答案 :参考代码import java、util、Scanner; public class countChar public static void main(String args) /输入需要检测的字符串System 、out、print(Input String :); Scanner str0 = new Scanner(System、in); String s = str0、next(); System 、out、println(the String is : + s); s = s、toLowe
21、rCase(); /将字符串转换为小写/输入需要统计的字符System 、out、print(Input char :); Scanner str1 = new Scanner(System、in); String s1 = str1、next(); char c = s1 、charAt(0); System 、out、println(Input char is : + c); int count = 0; /统计出现次数变量for (int i = 0; i s、length(); i+) char ch = s、charAt(i); if (ch = c) count+; System
22、、out、println(The times is : + count); 5、 执行 String s = new String(xyz);这一语句 ,共创建几个 String 对象?参考答案 :两个。 xyz 本身就是一个字符串对象 ,而 new String()也会创造一个字符串对象。6、 对于语句 String s = hello; 下面那个表达式就是合法的?精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 23 页 - - - - - - - - - - Java 程序设计基础习题答案
23、(1)s += 5; (2)char c = s1 (3)int len = s、length; (4)String t = s、toLowCase; 参考答案 :(1)为合法的。7、 String 与 StringBuffer 中的哪个方法能改变调用该方法的对象自身的值?(1)String 的 charAt() (2)String 的 replace() (3)String 的 toUpperCase() (4)StringBuffer 的 reverse() 参考答案 :(4)StringBuffer 的 reverse()可以改变对象自身的值。8、 假定 s 就是字符串字面值 “exer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 Java 程序设计 基础 习题 答案
限制150内