HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

      • Java基础

      • JVM

      • 牛客网题库

        • 前言
        • Java基础面试题库(一)
        • Java基础面试题库(二)
        • Java基础面试题库(三)
        • Java基础面试题库(四)
        • Java基础面试题库(五)
        • Java基础面试题库(六)
        • JVM面试题库(一)
        • Java线程类面试题库(一)
        • Java集合类面试题库(一)
      • MySQL

      • Linux

      • 计算机网络

      • 操作系统

      • Java框架

    • 【中级】12k-26k档

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【初级】6~12k档
  • 牛客网题库
#Java
码农阿雨
2022-06-02
目录

Java基础面试题库(五)

# 41、 下列选项中符合Java命名规则的标识符是()

A 2japro

B &Class

C const

D _123

D

const是关键字

Java 标识符有如下命名规则:

  • 由26个英文字母大小写、数字(0-9) 符号 _ 、$ 组成
  • 标识符应以 字母 、_ 、$ 开头。
  • 标识符不能是关键字。
# 42、给出以下代码,请给出结果
class PassO {
    public static void main(String[] args) {
        PassO p = new PassO();
        p.start();
    }

    void start() {
        Two t = new Two();
        System.out.print(t.x +””);
        Two t2 = fix(t);
        System.out.print(t.x +” ” + t2.x);
    }

    Two fix(Two tt) {
        tt.x = 42;
        return tt;
    }
}
null 42 42

1.注意第二行代码,Byte x;Byte是包装类,不是byte(基本数据类型),因此Byte的默认是null,不是0 2.t是一个引用地址类型,在调用fit(Two tt)函数是,是一个实参到形参的传值,也就是把t的地址赋值给了tt,但是都是指向堆内存中新建的对象,因此当对tt.x和t.x指向是相同的。因此t.x也是42 3.Two t2=fit(t);fit函数返回的还是一个引用地址,这句代码相当于把t(函数里面返回的是tt)的地址赋值给了t2,因此t2.x也是42

# 43、下面的switch语句中,x可以是哪些类型的数据:()
switch(x)
{
default:
System.out.println("Hello");
}

A long

B char

C float

D byte

E double

F Object

B D

在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。

在Java7中,支持了String、Enum 类型

# 44、输出结果为:
String str = "12,3";
String str2 = "123";
System.out.print(str.split(",").length);
System.out.print(str2.split(",").length);

2 1

split 这个方法默认返回一个数组,

如果 找到分隔符, 会把整个字符串当成字符串数组,即 { "12","3" }

如果没有找到分隔符, 会把整个字符串当成一个长度为1的字符串数组 , 即 { "123" }

# 45、以下输出什么?
class testTryCatch {
    public static void main(String[] args) {
        System.out.println(test2());
    }

    public static int test2() {
        int b = 20;
        try {
            System.out.println("try block");
            return b;
        } catch (Exception e) {
            b = 50;
            System.out.println("catch block");
        } finally {
            b = 100;
            System.out.println("finally block");
        }
        return b;
    }
}

try block finally block 20

  1. finally块的语句在try或catch中的return语句执行之后返回之前执行
  2. finally里的修改语句可能影响也可能不影响try或catch中 return已经确定的返回值,若finally里也有return语句则覆盖try或catch中的return语句 则 直接返回。
# 46、下列说法正确的是()

A JAVA程序的main方法必须写在类里面

B JAVA程序中可以有多个名字为main方法

C JAVA程序中类名必须与文件名一样

D JAVA程序的main方法中,如果只有一条语句,可以不用{}(大括号)括起来

A B

C: JAVA程序中public修饰的类名必须与文件名一样 D: JAVA程序的main方法中,不管有多少条语句都必须用{}(大括号)括起来

# 47、可以把任何一种数据类型的变量赋给Object类型的变量。

A 对

B 错

A

Java中一切都是对象,Object是所有类的根类,而且自动数据类型会自动装箱。

# 48、以下程序的输出结果为
class Base{
    public Base(String s){
        System.out.print("B");
    }
}
public class Derived extends Base{
    public Derived (String s) {
        System.out.print("D");
    }
    public static void main(String[] args){
        new Derived("C");
    }
}

A BD

B DB

C C

D 编译错误

D

在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。

# 49、以下执行结果是:
public class Test {
    private String name = "abc";
    public static void main(String[] args) {
        Test test = new Test();
        Test testB = new Test();
        String result = test.equals(testB) + ",";
        result += test.name.equals(testB.name) + ",";
        result += test.name == testB.name;
        System.out.println(result);
    }
}

false,true,true

test.equals(testB)是比较内存地址,显然不一样。

test.name和testB.name指向的都是常量池的"abc"

# 50、下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:
A	dst=String.fromBytes(src,"GBK").getBytes("UTF-8")
B	dst=new String(src,"GBK").getBytes("UTF-8")
C	dst=new String("GBK",src).getBytes()
D	dst=String.encode(String.decode(src,"GBK")),"UTF-8" )

答案:B

操作步骤就是先解码再编码

用new String(src,"GBK")解码得到字符串

用getBytes("UTF-8")得到UTF8编码字节数组

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Java
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式