java基础10题

1.以下哪一项正则能正确的匹配网址: http://www.bilibili.com/video/av21061574 ()
A./^(https?😕/)?([a-zA-Z\d]+).bilibili.com/?video/av(\D{1,8})/?KaTeX parse error: Undefined control sequence: \/ at position 13: / B./^(http:\̲/̲\/)?(\w+)\.bili…/
C./^(https?😕/)?(\w+).bilibili.com/?\w*KaTeX parse error: Undefined control sequence: \/ at position 13: / D./^(http:\̲/̲\/)?([a-zA-Z\d]…/
2.下列程序test 类中的变量c 的最后结果为

public class Test {
    public static void main(String args[]) {
        int a = 10;
        int b;
        int c;
        if (a > 50) {
             b = 9;
        }
        c = b + a;
    }
}

3.关于下面的一段代码,输出的值为:

public static void main(String[] args) {
    String a = new String("myString");
    String b = "myString";
    String c = "my" + "String";
    String d = c;
    System.out.print(a == b);
    System.out.print(a == c);
    System.out.print(b == c);
    System.out.print(b == d);
}

4.以下哪些表达式返回为真()

String a="My field1";
String b="My field1";
    String c=new String("My field1");
    String d=new String("My field1");

A.ab
B.a
c
C.c=d
D.a.equals(b)
E.a.equals©
5.有关静态初始化块说法正确的是?
A.无法直接调用静态初始化块
B.在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化
C.静态初始化块既没有访问修饰符,也没有参数
D.在程序中,用户可以控制何时执行静态初始化块
6.在程序代码中写的注释太多,会使编译后的程序尺寸变大。
A.正确
B.错误
7.下面不是类及类成员的访问控制符的是( )。(不考虑内部类的情况)
A.public
B.private
C.static
D.protected
8.BufferedReader的父类是以下哪个?
A.FilterReader
B.InputStreamReader
C.PipedReader
D.Reader
9.String s = new String(“xyz”);创建了几个StringObject?
A.两个或一个都有可能
B.两个
C.一个
D.三个
10.某程序要求每次输入只能是正整数,并且每次输入的数值要求必须是100的倍数且小于等于500,则下列哪个是正确的无效等价类( )
A.(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
B.(500,+∞)
C.(500,+∞)、任意大于0小于500的非100倍数的整数;
D.(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

(1)B
在这里插入图片描述
(2)编译出错
本题需要注意一点:a、b、c三个变量是定义在方法中的局部变量,使用前必须初始化,否则就会出现错误。

当我们新建一个对象时,Java会在Heap中申请一块内存区域用以存放类的数据。而成员变量就是类的数据,也是放在这块内存区域中的。初始化时只需要JVM在申请内存的时候顺便把整块区域都置为零即可完成。所以JVM会自动帮我们完成全局变量的初始化。

对于方法的局部变量,是在线程的Stack中,虽然Stack可以帮我们完成初始化,但这样是存在问题的,比如有些局部变量,在方法的一开始是没有的,有些在循环中的局部变量是要反复的声明多次的。有些局部变量作用域结束后,另一个局部变量又会占用这个局部变量的位置。

局部变量不自动初始化是一种约束,它会尽最大程度减少使用者犯错的可能。假使局部变量可以使用默认值,可能总会无意间忘记赋值,进而导致不可预期的情况出现。
(3)false false true true
字符串以非new形式创建时,会先在常量池寻找是否有相同字符;若有,则引用,若没有,则创建后引用。
(4)正确答案: A D E

a,b在常量池中,c,d是new出来的,在栈空间中且c,d的Hello那句在堆空间中,==比较的时候,引用数据类型比地址基本数据类型比值,所以a==b,c,d是new出来的地址不一样是false,equals重写了==,比较的是对象值,所以abcd任何两个用equals都true

(5)正确答案: A B C
静态内容只在类加载时执行一次,之后不再执行,因此不能直接调用。 子类初始化时,先默认调用父类的无参构造方法,可以在子类构造方法中利用super指定调用父类的哪个构造方法。
(6)B
在预处理阶段:展开头文件、宏替换、条件编译、去掉注释。到编译阶段时是没有注释的。
(7)C
类访问控制符只有三种:public ,private, protected
static和访问控制无关
(8)
在这里插入图片描述
(9) A
用new关键字创建字符串对象时,JVM会先检查字符串常量池中时候有存在的对应字符串,如果已经存在,则不会在字符串常量池中创建,如果没有存在,那么就会在字符串常量池中创建一个字符串对象,然后还会去堆内存中创建一份字符串对象,把常量池中的对象内容拷贝到内存中的字符串对象,然后返回堆内存中的字符串对象内存地址。综上所述,选项A正确。
(10)正确答案: D

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nicholas_giao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值