Java专项练习4

1.现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( )
正确答案: A
aa=false;
aa=False;
aa=“true”;
aa=0;
解释:

boolean的值要不是true,要不就是false。
2.Math.round(11.5) 等于:()
正确答案: C
11
11.5
12
12.5

解析ound方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。 ceil是天花板,向上取整。 floor是地板,向下去整。
其他参考https://blog.csdn.net/qq_40817827/article/details/89432759
3.java的一个异常处理中,可以包含多个的语句块是 ( )。
正确答案: D
try
finally
throws
catch
解析

异常处理一般格式:
捕获异常:
try{
//代码块
}catch(异常类型,例如:Exception e){
//需要抛出的异常,例如:e.printStackTrace();
}catch(异常类型){
//需要抛出的异常
}finally{
//必定执行的代码块
}
所以说在一个异常处理中catch语句块是可以多个的,也就是可以抛出多个异常!
4.JAVA中,下列语句哪一个正确()
正确答案: C
class中的constructor不可省略
constructor必须与class同名,但方法不能与class同名
constructor在一个对象被new时执行
一个class只能定义一个constructor

解释
A 省略构造函数,编译器会自动生成。
D 构造函数可以重载
B 方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。如下代码:

public class TestConStructor
{
    public TestConStructor()
    {
        System.out.println("constructor");
    }
    public void TestConStructor()
    {
        System.out.println("not constructor");
}
public static void main(String[] args)
{
    TestConStructor testConStructor = new TestConStructor();
    System.out.println("main");
    testConStructor.TestConStructor();
}

5.以下方法,哪个不是对add方法的重载?

public class Test
{
    public void add( int x,int y,int z){}
}

正确答案: B
public int add(int x,int y,float z){return 0;}
public int add(int x,int y,int z){return 0;}
public void add(int x,int y){}
以上都不是

解释:
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
原则如下:
一.方法名一定要相同。
二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1.如果参数个数不同,就不管它的参数类型了!
2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
三.方法的返回类型、修饰符可以相同,也可不同。
6.以下哪项是错误的( )。
正确答案: A
JPanel中不能包含按钮。
Frame 中可以设置Panel。
Applet 中可以包含按钮。
Dialog 中不可以设置菜单条。

解释”
JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对对窗体上的这些控件进行组合,所以说A是错误的。
7.ArrayList list = new ArrayList(20);中的list扩充几次
正确答案: A
0
1
2
3

解释
ArrayList的构造函数总共有三个:
(1)ArrayList()构造一个初始容量为 10 的空列表。
(2)ArrayList(Collection<? extends E> c)构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
(3)ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
调用的是第三个构造函数,直接初始化为大小为20的list,没有扩容,所以选择A
8.HashMap和HashTable的描述,错误的是?
正确答案: D
他们都实现了Map接口。
HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。

解释

/HashMap的源码
public class HashMap<K,V>
    extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable
-----------------------------------
//Hashtable的源码
public class Hashtable<K,V>
    extends Dictionary<K,V>
    implements Map<K,V>, Cloneable, java.io.Serializable
----------------------------------
很明显,都实现了Map接口,所以,A正确

-----------------------------------------------------------------------------

public V put(K key, V value) //HashMap的put方法,没有同步
 
public synchronized V put(K key, V value) //Hashtable的put方法
//当然,Hashtable的其他方法,如get,size,remove等方法,
//都加了synchronized关键词同步操作
//Hashtable的put方法有以下语句块,大伙看了都知道
// Make sure the value is not null
if (value == null) {
    throw new NullPointerException();
}
 
//那么,我们再来看下HashMap的put方法中,有如下语句
//调用某个方法直接把key为null,值为value的键值对插入进去。
if (key == null)
    return putForNullKey(value);

10.下面哪个方法与Applet的显示无关?
正确答案: A
draw
paint
repaint
update
解释

Applet显示相关的方法主要有3个。

  1. paint(Graphicsg)方法,具体执行Applet的绘制。
  2. update(Graphicsg)()方法,主要用于更新Applet的显示。
  3. repaint()方法,主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。
    而draw()方法与显示无关,故选A draw
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值