| 本帖最后由 魏-玉-彪 于 2013-11-4 11:55 编辑 
 从截图上看,编译失败是因为你编译的是其它文件,与此代码无关复制代码
public class StringTest {
    public static void main(String[] args) {
            String s = "abc";//把字符串abc赋值给字符串变量s
               //s.substring(1);
  //百度substring,得知该方法返回字符串,所以返回bc,但是这行语句是个表达式,不是完整语句。编译报错。
 s=s.substring(1)           // substring()方法返回一个字符串,所以要用变量接收 加上此行试试
              System.out.println(s);
            
           
 //s.replace("bc", "xyz"); 
            //百度replace,得知该方法返回字符串,所以返回xyz,但是这行语句也是个表达式,不是完整语句。编译报错。
s=s.replace("bc", "xyz");           //同理,.replace()方法也是返回一个字符串,所以也要有变量接收
           System.out.println(s); //打印abc,但是执行不到这行语句。
//这里批印xyz而不是abc
           String value = new String ("abc");//建立String型对象 value,往对象内传参数为字符串abc。
           System.out.println(s == value);//编译报错,不同类型。s是字符串"abc",value是引用类型变量
//上面不会报错
    }
}
字符串无论s "abc"还是变量value都是引用数据类型 包括用final修饰的
 字符串常量都是一个类型,不存在不同类型的说法   false 是  (s == value)得出
 的值
 
 
 
 
 
 |