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 – aa++; //等价于 a = a + 1
(2)do while至少执行一次,第二次是否执行do看while条件是否满足。
坦然接受生活给你的馈赠吧,不管是好的还是坏的。