1. 首页
  2. java基础面试

03-Java基础面试题(三)

1.以下哪些定义的变量是正确的()

A int 1abc;
B char abc1;
C long #abc;
D boolean abc; E:String_123456asdfghjklqwertyuiopzmnbvasdf12345; 答案 B D 解析: 因为java中变量名必须是一个以字母开头并由字母或者数字构成的序列。 字母包括 A-Z,a-z,_,或在某种语言中表示的字母的任何Unicode字符。变量名中所有的字符都是有意义的,并且大小写敏感,变量名基本上没有限制.

2.代码如下


public class Test { public final String a; public Test() { a = "10"; } public void setA1(){ a = "20"; } public static void main(String[] args) { Test t = new Test(); t.setA1(); System.out.println(t.a); } }

t.a的值为()
A “10”
B “20”
C “”
D 以上都不对,并且编译错误
答案 D
解析 :
因为a被final(只能在初始化时赋值一次,一旦被赋值后,就不能再更改了,习惯上常量名使用全大写)修饰了,所以在setA1中再次赋值了,直接导致编译错误。

3.代码如下


double a = 15.0; int b=2; system.out.println(a+b);

打印出来的数值类型为()
A int
B float
C String
D double
答案 D
解析:
如果两个操作数中有一个是double类型,另一个操作数就会自动转换为double类型。

4.以private修饰的元素的作用域的是()

A. 当前类
B. 同一个package 内
C. 子孙类中
D. 其他的package 内
答案 A
解析:
共有四个访问修饰符public protected friendly private
public 的作用域有当前类,同一个package,子孙类和其他的package
protected的作用域有当前类,同一个package,和子孙类
friendly的作用域有当前类和同一个package
private 的作用域只有当前类

5.String s =new String ("xyz");这句一共创建了几个String Object?

A. 1
B. 2
C. 3
D. 4
答案:B
解析:
一共创建了两个对象,一个是"xyz",为缓冲区对象。另一个是new出来的String 对象。这两个对象的值相同,但不是同一个对象。

6.String 是最基本的数据类型吗?()

A:是
B:不是
答案:A
解析
A存储在数据源(通常是一个关系数据库)中的数据的 API
B java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类
C是提供利用 Java 编程语言进行程序设计的基础类
D Swing是一个用于开发Java应用程序用户界面的开发工具包

7.选择下面代码的运行结果:()。


public class Test{ public void method() { for(int i = ; i < 5; i++) { System.out.print(i); } System.out.print(i); } }

A.122
B.123
C.编译错误
D.没有任何输出
答案:C
解析:
本试题属于 本身该试题就有严重的语法程序错误,并且没有主方法。

8.下面程序的运行结果是()

String str1 = "banalan";
String str2 = "bana" + new String("lan");
System.err.println(str1 == str2);
A:true
B:false
C:不确定
答案:B
解析
对于字符串,==比较引用对象的内存地址,equals比较的是字符串的内容
String str1 = "banalan"; //一个对象
String str2 = "bana" + new String("lan"); //new了一个对象,总的就是2个对象 System.err.println(str1 == str2); // ==是比较引用,两个对象的地址能一样么?只有重写equals比较内容(值)才能为TRUE

9.String能被继承吗?为什么?

不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和String str=new String(“a”)还是有差异的。

前者默认调用的是String.valueOf来返回String实例对象,至于调用哪个则取决于你的赋值,比如String num=1,调用的是
public static String valueOf(int i) {
return Integer.toString(i);
}

后者则是调用如下部分:
public String(String original) {
this.value = original.value;
this.hash = original.hash;
}
最后我们的变量都存储在一个char数组中
private final char value[];

10.Java I/O中字符流和字节流的区别 ?

字节流是传递0~255的整数而Java中有一些(如unicode代码)不能使用字符流,是特殊的字节流。

希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:03-Java基础面试题(三)

    链接:https://www.javajike.com/article/1369.html

« 04-Java基础面试题(四)
01-Java基础面试题(一)»

相关推荐

QR code