JAVA选择题

2021.10.27
1、下列哪一个方法你认为是新线程开始执行的点,也就是从该点开始线性n被执行(B)
A public void start()
B pulic void run()
C public void int()
D public static void main(string srgs[])
E public void runnable()

线程:

2、下列关于容器集合类的说法正确的是(C)
A LinkedList 继承自List
B AbstractSet 继承自Set
C HashSet继承自AbstractSet
D weekMap继承自HashMap

集合

3、有关线程的叙述正确的是(CD)
A 可以获取对任何对象的互斥锁定
B 通过继承Thread类或实现Runable接口,可以获得对类中方法的互斥锁定
C 线程通过使用synchronized关键字可获得对象的互斥锁定

线程

D 线程调度算法是平台独立的
4、下列关于Java package的描述,哪个是正确的(B)
A 包不提供将所有类名分区为更易管理的块机制
B 包提供可见性控制机制
C 包的一个重要属性是包内定义的所有类都可以通过该包外的代码访问
D 什么为包的一部分的类的.class文件可以存储在多个目录中


管理java文件 类似于文件夹

5、下列程序最后的结果为(D)
在这里插入图片描述A 10
B 0
C 19
D 编译出错

常量与变量
方法内定义的变量没有初始值,必须要进行初始化。 类中定义的变量可以不需要赋予初始值,默认初始值为0。

6、命令javac-d参数的用途是(A)
A指定编译后类层次的根目录
B指定编译时需要依赖类的路径
C 指定编译时的编码
D 没有这一参数

java 命令
-d destination 目的地
-s source 起源地
javac -d 指定放置生成的类文件的位置
javac -s 指定放置生成的源文件的位置
7、对于以下代码段,4个输出语句中输出true的个数是(c)
在这里插入图片描述
A 1 B 2 C 3 D 4
instanceof:是java的一个二元操作符,类似于==,<,>,等操作符
instanceof是Java保留的关键字,他的 作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

8、以下代码的返回值
在这里插入图片描述
A true B false

异常:try…catch
首先执行到try里的return,但是有finally语句还要执行,于是先执行return后面的语句,执行finally语句的内容,其中有return语句,这时就会忽略try中的return,直接返回。

9、现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( A)
A aa=false;
B aa=False;
C aa=“true”;
D aa=0;

boolean类型

10、ava 语言中创建一个对象使用的关键字是(C)
A class
B interface
C new
D create

new关键字:Cat cat = new Cat()实例化对象 参考数组的声明与创建
声明: int [] arr
创建: arr = new int[]


2021.10.28
将类的成员的访问权限修饰符设置为默认的,则该成员能被(A)
A 同一包中的类访问
B 其他包中的类访问
C 所有的类访问
D 所有类的子类访问

权限修饰符:
private 只能在同一个类中访问
default:只能在同一个类和同一个包中访问
protected:不能在其他类中
public:都可以
在这里插入图片描述

2、下列修饰符中与访问控制权限无关的是(D)
A private
B public
C protected
D final

权限修饰符: private default(默认)protected public
final:修饰常量

3、有如下代码:请写出程序的输出结果()

在这里插入图片描述
A 432
B 531
C 421
D 523

V
i++(线运算后加)和++i(先加后运算)
&&逻辑运算符与:有短路功能,如果前面错误后面将不再运行

4、java表达式13 & 17 的结果是(D)
A 30
B 13
C 17
D 1

& 逻辑与运算符
13 = 01101
17= 10001

  	00001

5、此代码片段输出正确的值是
在这里插入图片描述
A string is :g
string is :g
B string is :103
string is :g
C string is :g
string is :103
D string is :103
string is :103

类型转化
在这里插入图片描述

6、Panel和Applet的默认布局管理器是(B)
A CardLayout
B FlowLayout
C BorderLayout
D GridLayout

jdk已弃用

7、下面有关struts1和struts2的区别,描述错误的是(B)
A Struts1要求Action类继承一个抽象基类。
Struts 2 Action类可以实现一个Action接口
B Struts1 Action对象为每一个请求产生一个实例。Struts2 Action是单例模式并且必须是线程安全的
C Struts1 Action 依赖于Servlet API,Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试
D Struts1 整合了JSTL,Struts2可以使用JSTL,但是也支持OGNL

Struts1和Struts2的区别和对比:
Action 类:
• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。
• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

8、以下哪些继承自 Collection 接口(AB)
List
Set
Map
Array

collection接口

9、下列说法正确的是(AB)
A JAVA程序的main方法必须写在类里面
B JAVA程序中可以有多个名字为main方法
C JAVA程序中类名必须与文件名一样
D JAVA程序的main方法中,如果只有一条语句,可以不用{}(大括号)括起来

10、下列说法正确的是(AB)?
A 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们
B 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)
C 由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的
D 静态内部类可以直接访问外部类的非静态成员


2021.10.29
1、以下代码的循环次数是(D)
在这里插入图片描述

A 0
B 1
C 7
D 无限次

在这里插入图片描述
最后结果无0,所以为死循环

2、下列代码中错误的原因是(D)
在这里插入图片描述

A 非法的表达式
B 找不到符号i
C 类不应该为public
D 未初始化变量 i

在类中初始化变量值
在对象中没有初始化变量值也可以运行

3、如下代码的结果是(B)
在这里插入图片描述
A Base
B BaseBase
C 编译失败
D 代码运行但是没有输出
E 运行时抛出异常

继承:先继承Base方法,输出Base
让然后调用Base方法,输出Base

4、下面哪个选项是正确计算42度的余弦值(C)
A double d = Math.cos(42)
B double d = Math.cosine(42)
C double d =Math.cos(Math.toRadians(42))
D double d = Math.cos(Math.toDegrees(42))

Math类
自然常量:
static double E:自然对数
static double PI:圆周率
取整方法:
static double ceil(double a):向上取整
static double floor(double a):向下取整
static double round(double a):四舍五入
三角函数
static double sin(double a):正弦函数 参数是弧度值static double cos(double a):余弦函数static double tan(double a):正切函数static double toDegrees(double a):将弧度转角度static double toRadians(double angles):将角度转弧度static double asin(double a):反正弦函数static double acos(double a):反余弦函数static double atan(double a):反正切函数
指数函数
求a的b次幂:static double pow(double a, double b):
static double sqrt(double a):求a的平方根static double cbrt(double a):求a的立方根
其他方法:
static double abs(double a):求a的绝对值static double hypot(double deltX, double deltY):返回 两点间距离static double max(a,b):返回a和b之间的最大值static double min(a,b):返回a和b之间的最小值static double random():返回[0,1)之间的随机小数

5、JMX是在哪一个JDK版本开始支持的(A)
A 1.3
B 1.5
C 1.6
D 1.7

JMX

6、从内存实现或者反射的角度来看,关于继承的说法正确的是(A)
注*此继承不代表调用
A 子类将继承父类的所有的数据域和方法
B 子类将继承父类的其可见的数据域和方法
C 子类将继承父类public 方法和数据域
D 子类只继承父类的方法,而不继承数据域

继承:子类可以继承父类的全部数据与和方法,但是这里继承代表的是“拥有”,即:只是拥有父类的全部数据域和方法,但不具备对某些私有数据域或私有方法的使用权(调用)。
继承:子类可以调用父类的非私有
父类不能调用子类
兄弟之间的数据不能相互调用

7、面向对象程序设计语言不同于其它语言的主要特点(ACD)
A 继承性
B 消息传递
C 多态性
D 封装性

面向对象的三大特征:继承、多态、封装

8、下面哪些具体实现类可以用于存储键值对,并且方法调用提供了基本的多线程安全支持(AE)
A java.util.ConcurrentHashMap
B java.util.Map
C java.util.TreeMap
D java.util.SortMap
E java.util.Hashtable
F java.util.HashMap

线程安全的全部类有
hashtable concurrentHashMap synchronizedMap

下列哪些情况下会导致线程中断或停止运行( A B )
A InterruptedException异常被捕获
B 线程调用了wait方法
C 当前线程创建了一个新的线程
D 高优先级线程进入就绪状态

线程

10、下列说法正确的是(BD)?
A 我们直接调用Thread对象的run方法会报异常,所以我们应该使用start方法来开启一个线程
B 一个进程是一个独立的运行环境,可以被看做一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源
C synchronized可以解决可见性问题,volatile可以解决原子性问题
D ThreadLocal用于创建线程的本地变量,该变量是线程之间不共享的

进程