【Java】Java基础知识3. tip21~30
2015-02-06 15:32
309 查看
1.Java中equal和==的区别是什么?
true false true
true true false
true false false
true true true
答案:A
equal:是用来比较两个对象内部的内容是否相等的。
==:是用来判断两个对象的地址是否相同,即是否是指向同一个对象。
new一个就是新地址
以下程序段的输出结果为:
false,false
false,true
true,false
true,true
答案:B
因为两次new() 分出的内存也不同
2.在jdk1.5的环境下,有如下4条语句:
以下输出结果为false的是:
System.out.println(i01== i02);
System.out.println(i01== i03);
System.out.println(i03== i04);
System.out.println(i02== i04);
答案:C
JVM中一个字节以下的整型数据会在JVM启动的时候加载进内存,除非用new Integer()显式的创建对象,否则都是同一个对象
所有只有i04是一个新对象,其他都是同一个对象。所有A,B选项为true
C选项i03和i04是两个不同的对象,返回false
D选项i02是基本数据类型,比较的时候比较的是数值,返回true 。有基本数据类型的比较的都是值。
3.根据下面的程序代码,哪些选项的值返回true?
a == b
s == a
b == c
a.equals(s)
答案:C
这里new了两个对象,所以a,b不是同一个引用a!=b
s的类型跟a,b不同类型,所以s!=a,s!=b
这里b,c是同一个对象的引用,所以b==c是true
public class Test1{ public static void main(String args[]){ String a="1234"; String b="1234"; String c = new String("1234"); System.out.println(a==b); System.out.println(a==c); System.out.println(a.equals(c)); } }
true false true
true true false
true false false
true true true
答案:A
equal:是用来比较两个对象内部的内容是否相等的。
==:是用来判断两个对象的地址是否相同,即是否是指向同一个对象。
new一个就是新地址
以下程序段的输出结果为:
public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1 == n2); System.out.print(","); System.out.println(n1 != n2); } }
false,false
false,true
true,false
true,true
答案:B
因为两次new() 分出的内存也不同
2.在jdk1.5的环境下,有如下4条语句:
Integer i01 = 59; int i02 = 59; Integer i03 =Integer.valueOf(59); Integer i04 = new Integer(59)。
以下输出结果为false的是:
System.out.println(i01== i02);
System.out.println(i01== i03);
System.out.println(i03== i04);
System.out.println(i02== i04);
答案:C
JVM中一个字节以下的整型数据会在JVM启动的时候加载进内存,除非用new Integer()显式的创建对象,否则都是同一个对象
所有只有i04是一个新对象,其他都是同一个对象。所有A,B选项为true
C选项i03和i04是两个不同的对象,返回false
D选项i02是基本数据类型,比较的时候比较的是数值,返回true 。有基本数据类型的比较的都是值。
3.根据下面的程序代码,哪些选项的值返回true?
public class Square { long width; public Square(long l) { width = l; } public static void main(String arg[]) { Square a, b, c; a = new Square(42L); b = new Square(42L); c = b; long s = 42L; } }
a == b
s == a
b == c
a.equals(s)
答案:C
a = new Square(42L); b = new Square(42L);
这里new了两个对象,所以a,b不是同一个引用a!=b
s的类型跟a,b不同类型,所以s!=a,s!=b
c = b;
这里b,c是同一个对象的引用,所以b==c是true
相关文章推荐
- Java基础知识强化21:java中length、length()、size()区别
- Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率
- Java面试题之Java基础部分 21-30题
- Java基础知识强化30:String类之String的特点
- Java经典基础练习21-30
- Java基础知识强化之集合框架笔记21:数据结构之 数组 和 链表
- Java基础知识_毕向东_Java基础视频教程笔记(19-21 IO流)
- 30、Java入门—网络编程之基础知识
- Java基础知识强化之集合框架笔记30:集合之泛型的引入
- JAVA企业面试题精选 Java基础 21-30
- Java基础知识强化之网络编程笔记21:Android网络通信之 Android常用OAuth登录(获取令牌信息)
- Java基础知识_毕向东_Java基础视频教程笔记(19-21 IO流)
- JAVA 基础知识学习21
- C++基础知识面试精选100题系列(21-30)[C++ basics]
- Java基础知识强化之IO流笔记21:FileInputStream读取数据
- JAVA企业面试题精选 Web基础 21-30
- 【Java】Java基础知识3. tip1~10
- JAVA相关基础知识(6)
- JAVA基础知识(3)
- JAVA相关基础知识(5)