java基础选择题--9

1.两个关系在没有公共属性时,共自然连接操作表现为 () 
A结果为空关系B无意义的操作C等值连接操作D笛卡尔操作

2.一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1=n,则P1为 () 
A.iB.n=iC.n-i+1D.不确定 

3. 用黑盒技术设计测试用例的方法之一为 () 
A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试 

A. 因果图:因果图(Cause-Effect Graph)是一种黑盒测试技术,它用于分析输入(原因)和输出(结果)之间的关系,并帮助确定测试用例。这种方法特别适合用于那些输入与输出之间存在复杂关系或组合的场景。

B. 逻辑覆盖:逻辑覆盖(Logic Coverage)是一种白盒测试技术,它关注于确保测试覆盖到程序中的所有逻辑路径。这包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。

C. 循环覆盖:循环覆盖(Loop Coverage)或称为“路径覆盖”的一种特殊情况,它关注于确保在测试中至少遍历一次程序中的所有循环。这也是一种白盒测试技术。

D. 基本路径测试:基本路径测试(Basis Path Testing)也是一种白盒测试技术,它基于程序的控制流图(CFG)来确定基本的执行路径,并设计测试用例以覆盖这些路径。

4. 在数据库设计的四个阶段中,为关系模式选择存取方法(建立存取路径)应该是在()阶段。 
A.需求分析B.概念设计C.逻辑设计D.物理设计 

6. 在关系数据库模型中,通常可以把()称为属性,其值称为属性值。 
A.记录B.基本表C.模式D.字段 

7. 结构化程序设计的一种基本方法是 () 
A.筛选法B.递归法C.归纳法D.逐步求精法 

8. 源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和 () 
A.程序的视觉组织B.尽量不用或少用GOTO语句C.检查输入数据的有效性D.设计良好的输出报表 

9. 软件详细设计的主要任务是确定每个模块的 () 
A.算法和使用的数据结构B.外部接口C.功能D.编程 

10. 在C+ +程序中,对象之间的相互通信通过 () 

A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现 

11.下面说法哪些是正确的( ) 
A.Applet可以访问本地文件      B.对static方法的调用需要类实例 
C.socket类在java.lang中      D.127.0.0/1地址代表本机 

以下是对给出说法的分析:

A. Applet可以访问本地文件

这个说法是不正确的。由于安全性限制,大多数浏览器在Applet安全方面受到诸多限制,不允许Applet访问本地文件系统。这是为了防止恶意Applet程序访问用户的本地文件。

B. 对static方法的调用需要类实例

这个说法也是不正确的。静态方法是属于类的,而不是属于类的实例的。因此,可以使用类名来直接调用静态方法,而不需要创建类的实例。例如:Person.sayHello();

C. socket类在java.lang中

这个说法是不正确的。Socket类并不在java.lang包中,而是在java.net包中。Socket通常用于描述IP地址和端口,是建立网络连接时使用的。

12.下面说法不正确的是( ) 
A.Java中线程是抢占式的      B.Java中线程是分时的 
C.Java中的线程可以共享数据    D.Java中的线程可以共享代码 

A. Java中线程是抢占式的

这个说法是正确的。在Java中,线程调度通常是抢占式的,即操作系统根据线程的优先级和时间片来决定当前运行的线程。当时间片用完或更高优先级的线程就绪时,当前线程可能会被抢占并让出CPU资源。

C. Java中的线程可以共享数据

这个说法是正确的。在Java中,多个线程可以共享同一个进程的内存空间,因此它们可以访问和修改同一份数据。然而,这也带来了线程安全性的问题,需要程序员采取适当的同步措施来确保数据的一致性。

D. Java中的线程可以共享代码

这个说法也是正确的。在Java中,线程是进程中的一个执行单元,它们共享进程的代码段、数据段和其他资源。因此,多个线程可以执行相同的代码段,但它们各自拥有独立的栈和程序计数器,以确保执行路径的独立性。

综上所述,不正确的说法是B(Java中线程是分时的),因为虽然线程调度涉及分时的概念,但Java本身并不直接实现分时调度。更准确的说法是Java中的线程调度是分时调度的一种形式,但具体实现依赖于底层操作系统的调度策略。

13.下面属于Java线程同步方法的方法有( ) 
A.joiny()            B.run() 
C.wait()             D.destroy() 

14.下列哪个方法可用于创建一个可运行的类( ) 
A.public class X implements Runable{ public void run(){......} } 
B.public class X implements Thread{ public void run(){......} } 
C.public class X implements Thread{ public int run(){......} } 
D.public class X implements Runable{ protected void run(){......} } 

15.下列说法不正确的是( ) 
A.IOException必须被捕获或抛出 
B.java语言会自动初始化成员变量的值 
C.java语言不允许同时继承一个类并实现一个接口 
D.java语言会自动回收内存中的垃圾 

16.Java程序的执行过程中用到一套JDK工具,其中java.exe是指( ) 
A.Java文档生成器         B.Java解释器 
C.Java编译器           D.Java类分解器 

17.Java语言中,下列标识符错误的是( ) 
A.—sys1             B.&—m 
C.I               D.40name 

18.在Java中,属于整数类型变量的是( ) 
A.single             B.double 
C.byte              D.char 

19.Applet类的直接父类是( ) 
A.Component类          B.Container类 
C.Frame类            D.Panel类 

20.Frame的默认的布局管理器是下列哪一个( ) 
A.FlowLayout          B.BorderLayout 
C.GridLayout          D.CardLayout 

21.在下列事件处理机制中哪个不是机制中的角色( ) 
A.事件             B.事件源 
C.事件接口           D.事件处理者 

A. 事件(Event) - 这是机制中的一个核心部分。事件是某种状态变化或发生的通知,通常由事件源生成并传递给感兴趣的事件处理者。

B. 事件源(Event Source) - 这是生成事件的对象或组件。当用户与图形用户界面(GUI)组件(如按钮)进行交互(如点击按钮)时,该组件就成为事件源并生成相应的事件。

C. 事件接口(Event Interface) - 这实际上并不是事件处理机制中的一个直接“角色”,但它是相关的。事件接口定义了事件的通用方法或属性,以便事件源可以遵循这些接口来生成事件,并且事件处理者可以知道如何处理这些事件。但在这个上下文中,我们考虑的是机制中的“角色”,而不是组成部分或组件的接口。

D. 事件处理者(Event Handler 或 Event Listener) - 这是注册以接收事件并对其进行响应的对象或方法。当事件源生成事件时,它通常会被传递给已注册的事件处理者,然后这些处理者会执行相应的操作。

因此,从上述描述中,我们可以看出“事件接口”并不是事件处理机制中的一个直接“角色”,而是一个用于定义事件如何被生成和处理的工具或规范。所以正确答案是 C. 事件接口。

22.下列语句片段 ??
int a=10,b=4,c=20,d=6; 
System.out.println(a++*b+c*--d); 
的结果为( ) 
A.144             B.28 
C.140             D.不能执行 

要计算这个表达式 a++*b+c*--d 的结果,我们需要按照Java中的运算符优先级和结合性来进行。

运算符优先级从高到低为:后缀递增/递减(++/--)、乘法(*)、加法(+)。
后缀递增/递减(++/--)是右结合的,但在这个表达式中,它们的优先级最高,所以首先执行。
乘法(*)和加法(+)是左结合的。

从左到右,首先执行后缀递增 a++。由于 a 初始值为10,所以表达式中 a 的值是10,但之后 a 的值会增加到11(因为后缀递增是在整个表达式计算完成后才执行的)。
接下来是乘法 b*...。因为 b 是4,所以这部分暂时是 4*...。
然后是后缀递减 --d。由于 d 初始值为6,所以表达式中 d 的值是6,但之后 d 的值会减少到5(因为后缀递减也是在整个表达式计算完成后才执行的)。
现在我们有两个乘法表达式:4*(...) 和 20*6(因为此时 d 在表达式中的值是6)。
先计算 4*...,由于后缀递增后 a 的值是10(但在乘法中我们用的是递增前的值,即10),所以这部分是 4*10,结果是40。
接着计算 20*6,结果是120。
最后,我们将两个乘法结果相加:40 + 120 = 160。

23.下列语句片段: ???????
int a=-67,b=116,c=78; 
int d=~a|b&c; 
System.out.println(d)的结果为( ) 
A.70             B.67 
C.78             D.56 

24.对象使用时,下面描述错误的是( ) 
A.通过“.”运算符调用成员变量和方法 
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用 
C.将一个对象申明为类的成员时,必须在使用前为其分配内存 
D.在方法中使用对象作为参数时,采用引用调用 

25.执行下列代码后,哪个结论是正确的String[] s=new String[10]; 
A.s[10]为″″            B.s[9]为null 
C.s[0]为未定义            D.s.length为101
 
26.Java编程所必须的默认引用包为( ) 
A.java.sys包             B.java.lang包 
C.java.new包             D.以上都不是 

27.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( ) 
A.private class MyClass extends Object 
B.class MyClass extends Object 
C.public class MyClass 
D.private class MyClass extends Object 

28.内部类是在一个类内嵌套定义的类。其特点描述错误的是( ) 
A.只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名 
B.可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 
C.可以作为其它类的成员,而且可访问它所在类的成员 
D.除static内部类外,不能在类内声明static成员 

29.switch语句( ) 
A.都可以用if-else if结构实现 
B.都不可以用if-else if结构实现 
C.有的可以用if-else if结构实现 
D.大部分不可以用if-else if结构实现 

30.JAVA程序经常用到“递归”,“递归”的基本思想是( ) 
A.“让别人反复调用自己”        B.“自己反复调用别人” 
C.“自己反复调用自己”         D.以上说法都不对 

31.下面是一个递归JAVA程序,其功能为( ) 

long Factorial(int n){ 
if(1==n){ 
return 1; 

else 
return n*Factorial(n-1); 

A.求1-n的和              B.求2到n的和 
C.求n的阶乘              D.求2-n的积 

32.Java流程控制结构不包括( ) 
A.分支语句              B.循环语句 
C.异常处理语句            D.汉语语句 

33.下列语句片段: 
int result; 
int a=17,b=6; 
result=(a%b>4)? a%b:a/b System,out.println(result); 
的结果为( ) 
A.0                 B.1 
C.2                 D.5 


首先,我们计算a % b,即17 % 6,结果是5。

然后,我们检查条件a % b > 4,即5 > 4,这是真(true)。

由于条件为真,所以三元运算符的结果是a % b的值,即5。

因此,result被赋值为5,并且System.out.println(result);将输出5。

所以,正确答案是 D.5。

34.Java中访问限定符不包括( ) 
A.public               B.private 
C.default              D.final 

35.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变( ) 
A.CardLayout  B.FlowLayout       C.BorderLayout   D.GridLayout 

 

一、选择题

11.D     12.B      13.C      14.A     15.C 
16.B    17.D    18.C    19.D    20.B 
21.C    22.C    23.A    24.B    25.B 
26.B    27.C    28.B    29.A    30.C 
31.C    32.D    33.D    34.D    35.B 

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值