(1)字符串的连接
1.可以用加号+连接两个字符串,“+”在这里是起到了连接字符的运算。
2.转义字符 : \n(换行,另起一行,将光标移动到下一行的开始处)
\r 把光标移动到本行的开始的位置
\t 制表符,移动“8位”,也就是一个Tab的距离
虽然转义字符是有两个字符组成的,但是编译器会将其视为一个字符。(使用length的时候其为一个字符)
3.print 本行输出 println 输出的时候换行,相当于print加了一个\n
(2)测试字符串时候相等(equals)
1.Object 类中的equals
Object类的equals方法实现对象上差别可能性最大的相等的关系。也就是对于任意非空引用值x和y,当且仅当x和y引同一个对象的时,此方法才返回True。
2.String equals:比较的是内容是否相同,
Object equals:比较的是内存地址是否相同,与(==)运算一样都是比较内存的地址
(3).使用str.substring(arg0 ,arg1) 方法取出字符串从第(arg0-1)到(arg1)的字符。(字符串是从0开始储存)
(4)存储空间
存储空间有:寄存器,堆,栈,静态存储区,常量存储区,其他存储区(主要是光盘,U盘等)
堆:存储new关键字创建的操作对象
常量存储区:Java中的String都是作为常量来存储的,存储在称为String 常量池”的地方
(5)常量池,和堆存储的区别
当变量存储字符串的时候存在常量池中,首先它会检测一下常量池中有没有该字符串,有的话则将引用赋给S2
如图
当用new创建时,变量存在堆中(堆内是new创建的所以不会去看有没有一样的,就直接当做新变量引进来)