类与对象
对象:万物皆对象,客观存在的事物皆为对象。
类:是对现实生活中一类具有共同属性和行为的事物的抽象。
类的特点:
①类是对象的数据类型;
②类是具有相同属性的行为的一组对象的集合。
类是对象的抽象,对象是类的实体。
类是Java程序的基本组成单位。
面向对象三大特征:封装、继承、多态。
封装的好处:
①通过方法来控制成员变量的操作,提高了代码的安全性;
②把代码用方法进行封装,提高了代码的复用性。
字符串
API:应用程序编程接口。
String类在java.lang包下,使用的时候不需要导包。
Java程序中所有的双引号字符串,都是String类的对象。
字符串的特点:
①字符串不可变,它们的值在创建后不能被更改;
②虽然String的值是不可变的,但是它们可以被共享;
③字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])。
JDK8及以前是字符数组,JDK9及以后是字节数组。
①String s1=new String();
②char[] chs={'a','b','c'};
String s2=new String(chs); //输出abc
③byte[] bys={97,98,99};
String s3=new String(bys); //输出abc
④String s4="abc";
字符串的比较:
使用==做比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同
字符串是对象(==比较的是地址);它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()。 eg: s1.equals(s2) ;
遍历字符串的通用格式:
for(int i=0;i<s.length();i++){
s.charAt(i); //指定索引处的字符值
}
StringBuilder
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里可变指的是StringBuilder对象中的内容是可变的。
String和StringBuilder的区别:
①String:内容是不可变的;
②StringBuilder:内容是可变的。
StringBuilder构造方法:
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容。(初始容量为 16个字符)
StringBuilder sb=new StringBuilder();
sb.append("hello"); //添加
Sb.append("hello").append("world"); //链式编程
sb.reverse(); //返回相反的字符序列
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象。
StringBuilder和String相互转换:
①StringBuilder转换为String
String s=sb.toString();
②String转换为StringBuilder
StringBuilder sb=new StringBuilder(s );