求高手点拨:一个Java的代码书写,所反映的Java的底层知识.
高手,您好:
我是一名学习软件工程的学生,今天我写了一个小测试程序,如下:
public class Test32 {
public Test32(){
String str = "cjco$cjcocjco$cjcjcoco$cococjcjcjco";
String[] str1 = {"","","",""};
str1 = str.split("$");
for(int i=0;i<str1.length;i++){
System.out.println(str1[i]);
}
}
public static void main(String[] args){
new Test32();
}
}
得到的“console窗口中的结果”如下:
我将上面的代码中的第7行修改为:
str1 = str.split("\$");
之后,得到的“编译器”窗口中的内容如下:
我有将上面的代码中的第7行代码修改为:
str1 = str.split("\\$");
之后,得到的“console”窗口中的内容如下:
这里的三个窗口的输出,反映出了关于“转义字符”的输出逻辑和Java在此部分的语法.
弟我在这一部分,学得不是很扎实,希望能够得到高手的点拨:
这三个窗口中的内容,说明了“Java的语法对于转义字符”是“怎样进行控制和设计的”....?
在我的程序中的split()函数中:
为什么我用“一个$”符号,面向字符串中的“$分隔符”的“分隔标记”, 会产生:“输出的效果无视我写的split()函数”?
为什么我用“一个\$”符号,面向字符串中的“$分隔符”的“分隔标记”,会产生:
无法通过MyEclipse的编译,的结果...?
为什么我用“一个\\$”符号,面向字符串中的“$分隔符”的“分隔标记”,会产生:
“完美输出我想要的答案”的结果....?
希望高手能够从:
“计算机体系的"转义字符"以及计算机体系处理"转义字符的底层设计"和"计算机储存数据的结构"以及"计算机硬件在进行上述操作过程中的反应"”来进行弟我的这个问题的讲解.....
希望得到高手的详细解答..
谢谢高手!!
七十分奉上!!
一位日日夜夜向着理想奔跑的筑梦者
2013年9月9日星期一早晨5点01分