一切皆对象
Object类
所有的类都继承Object,我们定义的类直接或间接继承Object类。
String s1=“hello”;
s1 +=“world”;
System.out.println(s1);
输出helloworld
+=有字符串拼接的作用
string字符串类型:string是引用类型,在设计之初,虚拟机就对他做了特殊优化,将字符串保存在虚拟机内部的字符串长量池中。一旦我们要创建一个字符串,虚拟机会
先去常量池中检查是否创建过这个字符串,若有则直接引用。
String对象因为有了上述的优化,就该保证该对象的内容自创建开始就不能改变,所以对该字符串的任何变化都会创建新的对象。
在比较字符串的时候我们通常的做法是使用equals方法,字符串重写了Object的equals方法。用于比较字符串内容是否一致。
当我们将一个字符串变量与一个字面量进行等值比较时,我们不要调用变量的.equals方法,二是应该调用字面量的.equals方法。原因在于
我们不能保证变量不是NUll,若变量为NULL,则会抛出空指针异常。导致程序退出。
String自己实现的比较方法,该方法可以忽略字符串大小写问题:equalsignoreCase方法
String s3 ="hello";
if("hello".equelsIgnoreCase(s3)){
System.out.println("字符串内容是“hello”");
}else{
System.out.println("字符串内容不相等");
}
常用环境:
上网注册时,输入验证码。
其他string方法
String s5 = "HelloWorld";
s5.startWith("Hello");//判断s5是否是以Hello开头,若是返回true,否则返回false(既是boolean类型)
endsWith()类同上方法。
int length()返回字符串的长度。
String s1 = " abs ";
String trims1 = s1.trim();//去掉字符串s1两边的空白
String s2 = "HelloWorld";
String lowers2 = s2.toLowerCase();//将字符串s2的英文字符转化为小写
String uppers2 = s2.toUpperCase();//转化为大写
indexOf方法
用于实现在字符串中检索另外一个字符串
String str = "Think in java";
int index = str.indexOf("java");
System.out.println("java出现的位置:"+index);
index = str.indexOf("i",4);
index = str.indexOf("in");
index = str.indexOf("i",index+"in".legth);//这里加in的长度的目的是从in之后的位置开始查找
System.out.println("i出现的位置:"+index);
index = str.lastIndexOf("in");
System.out.println("in最后出现的位置:"+index);
index = str.lastIndexOf("in",2);
CharAt方法:
//获取str指定位置的单个字符
char ch = str.charAt(6);
System.out.println(ch);
判断回文:
String str2 = "上海自来水来自海上";
boolean tf = true;
for(int i=0;i
char first = str2.charAt(i);
char last = str.charAt(str2.length()-1-i);
if(first != last){
tf = false;
break;
}
}
if(tf){
System.out.println("是回文");
}else{
System.out.println("不是回文");
}
//java中很多方法描述范围都是“包前不包后”的
subString(int start,int end);//作用:截取从指定start到指定end的字符串
String str = "HelloWorld";
String sub = str.substring(0,5);
System.out.pringln(sub);
//subString的重载方法subString(int start)表示从start截取到结尾
String info = "我爱java";
byte[] array = info.getBytes();
System.out.println(Arrays.toString(array));
byte[] utf = info.getBytes("UTF-8");
System.out.println(Arrays.toString(utf));//utf 中文用三个字节描述一个汉字
String infoUTF = new String(utf,"UTF-8");//将编码转换为汉字
System.out.println(infoUTF);