Java程序设计(2021春)——第⼀章课后题(选择题+编程题)答案与详解Java程序设计(2021春)——第⼀章课后题(选择题+编程题)答案与详解
⽂章⽬录
第⼀章选择题
Tip:选择题部分我只针对部分我出错的或我认为有价值的题⽬在此整理。
1.1 Java与⾯向对象程序设计简介
T4
题⾯
⾯向对象技术给软件发展带来的益处有:
(1) ⼀个设计好的类,可以在后续开发中被部分或者全部的重复使⽤
(2) 每个类可以作为⼀个独⽴单元进⾏测试维护,⼤量代码来源于成熟可靠的类库,因此开发新程序时的新增代码明显减少,使程序更加可靠
(3) 有利于提⾼⽤户对类的修改和数据的控制,使得开发更加便捷。
A(1) (2) (3)
B(1) (2)
C(1) (3)
D(2) (3)
答案
B
详解
笔者不知道这个题⽬(3)为什么不对,先放在这以后学的过程中再体会(逃
T9
题⾯
Java的主要优点是()(多选)
A直接操作内存,功能强⼤
B⼀次编译,到处运⾏
C纯⾯向对象的语⾔
D可以通过拖拽的⽅式快速开发⽤户界⾯
答案
BC
详解
RT
T10
题⾯
下⾯有关JAVA代码安全性的叙述错误的是()
A字节码校验器加载查询执⾏所需的所有类
B运⾏时由解释器执⾏代码
C运⾏时,字节码被加载,验证,然后在解释器中执⾏
D类加载器通过分离本机⽂件系统的类和从⽹络导⼊的类增加安全性
答案
A
详解
思考.jpg(笔者查了⼀下也不是很清楚,mark⼀下以后学到的时候回来看)T11
题⾯
下⾯说法正确的是()
A JAVA程序的源⽂件名称与主类的名称相同,后缀可为.java或者.txt
B JDK的编译命令为java
C⼀个JAVA源程序编译后,可能产⽣⼏个字节码⽂件
D在DOS命令⾏下编译好字节码⽂件后,只需输⼊程序名即可运⾏该程序
答案
C
详解
A选项后缀应为.java
B选项编译命令应为javac
C选项正确
D选项显然不正确
T15
题⾯
设HelloWord的代码为:nextint()方法
class HelloWord{
public void main(String a[]){
System.out.println("hello world");
}
}
下⾯说法正确的是:
A HelloWord.java⽆法通过编译,因为main⽅法的声明⽅式不对
B HelloWord.java可以通过编译,但是运⾏该程序会出现异常,不会打印HelloWorld
C HelloWord.java可以通过编译,但是⽆法运⾏,因为该⽂件没有public类
D HelloWord.java可以通过编译并正常运⾏,结果输出hello world
答案
B
详解
笔者查了⼀下资料,不是很清楚,先mark住(逃
1.2 基本数据类型与表达式
T12
题⾯
在某个main()⽅法中有以下代码:
String s1,s2;
int[] numbers;
int num;
num=15;
boolean b=false;
下⾯哪个说法是正确的()
A 声明了1个基本类型变量和2个引⽤变量
B 声明了2个基本类型变量和2个引⽤变量
C 声明了2个基本类型变量和3个引⽤变量
D 声明了3个基本类型变量和3个引⽤变量
答案
C
详解
以笔者⽬前掌握知识来看,String声明了s1,s2两个引⽤变量;int[]声明了⼀个引⽤变量;int和boolean分别声明了⼀个基本类型变量。Tip: Java中的基本类型变量有boolean,byte,char,double,float,int long short
T14
题⾯
关于数据类型的声明,以下声明正确的是:
(1) byte  a = 129;(2) long  b = 129F ;(3) float  c = 1.234F ;(4) short  d = 1.2;(5) boolean  e = true ;(6) float  f = 1.234D ;
A(1)(3)(4)(5)B(3)(5)C(2)(3)(6)D(1)(5)(6)答案B 详解
声明数值型变量有如下规则
数据类型⽂字量
byte,short,int
⼗进制数,开头不为0;0X 跟⼗六进制数,如0XF1C4;0跟⼋进制数,如0726long 同上,但后⾯再跟⼀个l 或L ,如84l ,0X1F39L float 数字后跟f或F,如1.2456F ,1.893E2F double 后⾯可选d或D做后缀,如:1.23D boolean
true 或false
数值型变量范围如下
类型说明长度最⼩值最⼤值byte 带符号微整数8位-128127short 带符号短整数16位-22-1int 带符号整数32位-22-1long 带符号长整数64位-22-1float 单精度浮点数32位-2(2-2)·2double
双精度浮点数
64位
-2(2-2)·2(1):超出byte 范围,错。
(2):long 型变量末尾跟l 或L ,不是F 。(3):正确。
(4):short 声明为整型,1.2不是整型,错。(5):正确。
151531316363-149-23127-1074
-521023
(6):float型变量末尾跟f'或F,不跟D。
1.3数组
T1
题⾯
(1) 数组可以动态初始化
(2) 数组可以赋值给Object类型的对象
(3) 数组创建以后,其长度可以修改
(4) 数组可以调⽤Object类的所有⽅法
A (1)(2)(3)(4)
B (1)(2)(4)
C (2)(3)(4)
D (2)(4)
答案
B
详解
java中数组的长度不可以改变。java中的数组的定义就是相同类型,固定长度的⼀组数据,⼀旦被初始化,长度不可更改。
Tip:底层原理笔者还不是很清楚,但是考虑到C和Java的相似性,数组应该也是申请⼀块连续的空间,所以这样的话数组的长度如果再更改就不合适了。
T4
题⾯
关于⼆维数组的创建,以下做法正确的是:
(1)int a[][]=new int[4][5]
(2)int a[][]=new int[4][]; a[0]=new int[10]; a[1]=new int[20];
(3)int a[][]; a=new int[3][]; a[0]=new int[3]; a[1]={1,2};a[2]={1,2,3};
A (1)(2)(3)
B (1)(2)
C (1)(3)
D (1)
答案
B
详解
(1):声明数组的引⽤的同时指明元素的个数并且分配内存空间。
(2):⼆维数组的本质是⼀维数组再多⼀维,我们允许这样操作。
(3):语法int[] a = {1,2}仅允许出现在定义数组变量时使⽤,如果数组变量已经创建了,之后再修改它,就不能使⽤这种语法了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。