【字符串的创建】
//1
String a ;
a = "Hello World ";
System.out.println(a);
//2
String b = new String ("Hi");//这个写法会强行增加一个新地址,区别见后文
System.out.println(b);
//3
String c = "Yes"; //定义其他的写法是一样的
System.out.println(c);
//4
String e = new String("");
e = a+"."+b+"."+c;
与八大基础变量不同,字符串是“不可修改的”,是不可变的对象(immutable)。原因大概可以理解为字符串算是被方法“创造”出来的,以及使用了一定内存来存储它
immutable不意味着字符串的内容没办法变更,我们每次对字符串的修改实质上是把一个新的内容指派给了它,这些有机会再说吧
关于String的官方文档 JAVA API for Strings : docs.oracle.com/javase/7/docs/api/java/lang/String.html
【字符串方法】
首先要说明的是,字符串方法是对字符串“一时的改变”,并不会改变字符串的原内容。想要得到修改后的字符串的内容,需要把修改后的字符串赋值
下面来介绍几种常用的字符串方法,一般对于初学者/入门学生来说,这些应该足够了
下文中代表字符的名字
. toLowerCase() 将X变为小写
. toUpperCase() 将X变为大写
.replace(‘a’,‘b’); 再字符串X中,用b代替a
.length() 得到字符串X的长度
.charAt(Y) 会调出 字符串 X中的第(Y)个字符,从0开始
.IndexOf(Y) 得到字符串中第一次出现字符Y的位置索引
.equals() 对字符串X、Y是否相等 进行一次bool判断
.substring (,)截取字符串X中int1到(int2 - 1)之间的字符生成子字符串
.concat() 连接XY两个字符串,事实上直接对两个字符串用+也行
什么是位置索引呢?比如我们有字符串
String c = "Yes";
其中Y的索引是0,e的索引是1,s的索引是2 程序员要习惯以0开始计数!
而c这个字符串啊,它的length是3,而索引最大值是2,调用的时候一定要注意不用越界了
【字符串的比较】
== :比较两个字符串的存储单元地址是否是相同的
.compareTo() 返回值是数字 : 对XY进行比较,相等输出0,X大输出1,X小输出-1
这一部分目前不需要仔细掌握
中心思想:String 是字符串,它的比较用compareTo方法,它从第一位开始比较,
如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型
1.当两个比较的字符串是英文且长度不等时
1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值
2)长度不一样且前几个字符也不一样,从第一位开始找,
当找到不一样的字符时,则返回的值是这两个字符比较的值
2.当两个比较的字符串是英文且长度相等时
1)一个字符
2)多个字符,第一个字符不同则直接比较第一个字符
3)多个字符,第一个字符相同则直接比较第二个字符,以此类推
【数据转化为字符串】
Integer.toString()
Byte.toString()
Short.toString()
Float.toString()
Boolean.toString()
当进行利用int定义转化char时,会得到一个对应的 ASCII值. 将double,float,long时同理