码迷,mamicode.com
首页 > 编程语言 > 详细

java基础:面试题【不断更新】

时间:2015-01-31 12:59:44      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:面试题   java   

1:

Q:String s1 = new String("hello");这句话创建了几个对象?

A:两个或者一个。字符串是一个常用的类型。JVM中存在常量池,保存了大量的字符串对象,并共享使用。

如果常量池中没有“hello”,则在常量池中创建“hello”,然后在堆中开辟一块空间存储new的对象。如果常量池中已经存在“hello”,则只需要创建new一个对象。


2:

String a = "hello";
changeValue(a);
System.out.println(a);

输出结果为hello。因为String只要初始化,就不可变。changeValue(a)创建了一个新的对象。


3:

String str1 = "china";
String str2  = "hello";

Q:如何比较两个字符串的字典顺序

A:使用compareTo方法

//compareTo结果大于0 表示调用方法的字符串字典顺序在后面
//compareTo结果小于0 表示调用方法的字符串字典顺序在前面


4:public class TestLoop {
public static void main(String[] args) {
int a = 1;
int b = 10;
do {
b-= a; 
a++;  
} while (b--<0);

System.out.println("a="+a);
System.out.println("b="+b);
}
}

知识点:

(1)b-= a; //等价于 b = b - a
  a++;   //等价于 a = a + 1

 (2)do while至少执行一次,第二次是否执行do看while条件是否满足。

     

java基础:面试题【不断更新】

标签:面试题   java   

原文地址:http://blog.csdn.net/u013628152/article/details/43319221

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!