String的概述:在java中双引号中的字符串都属于String类的对象。
String 的特点:一旦被创建就不能被改变,但是能被引用。字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )。
例如:public class StringDemo01 {
public static void main(String[] args) {
//public String():创建一个空白字符串对象,不含有任何内容
String s1 = new String();
System.out.println(“s1:” + s1);
//public String(char[] chs):根据字符数组的内容,来创建字符串对象
char[] chs = {'a', 'b', 'c'};
String s2 = new String(chs);
System.out.println("s2:" + s2);
//public String(byte[] bys):根据字节数组的内容,来创建字符串对象
byte[] bys = {97, 98, 99};
String s3 = new String(bys);
System.out.println("s3:" + s3);
//String s = “abc”; 直接赋值的方式创建字符串对象,内容就是abc
String s4 = "abc";
System.out.println("s4:" + s4);
}
}
字符串创建的区别:
创建字符串有两种办法:(1)第一种:例如 String s ={"abc},这种就是直接赋值。那么这种什么优点呢!1:他在堆内存里面没有创建库内存,如果有一样的字符窜那他们可以共用一个库内存。
(2)第二种:创建新对象:
char[]chs={'a,‘b,c’}
String s=new String (chs);
这种new的在堆内存中就创建了新对象。
==号的作用
-
比较基本数据类型:比较的是具体的值.
-
比较引用数据类型:比较的是对象地址值。
- 例如
public class StringDemo02 {
public static void main(String[] args) {
//构造方法的方式得到对象
char[] chs = {‘a’, ‘b’, ‘c’};
String s1 = new String(chs);
String s2 = new String(chs);//直接赋值的方式得到对象 String s3 = "abc"; String s4 = "abc"; //比较字符串对象地址是否相同 System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s3 == s4); System.out.println("--------"); //比较字符串内容是否相同 System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(s3.equals(s4));
}
}
String 类的方法有哪些呢?**
这是最常用的几种方法了,如果想了解更多的你可以通过API查询他。
StringBuilder:
概述: StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的
和String的区别:首先前者的内容是可变的,但是string是不可变的。
StringBulider:他的两种常见方法,
append:表示增加数据并返回对象本身,
reserve :返回相反的字符顺序
和String的相互转换:ublic class StringBuilderDemo02 {
public static void main(String[] args) {
/*
//StringBuilder 转换为 String
StringBuilder sb = new StringBuilder();
sb.append("hello");
//String s = sb; //这个是错误的做法
//public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
String s = sb.toString();
System.out.println(s);
*/
//String 转换为 StringBuilder
String s = "hello";
//StringBuilder sb = s; //这个是错误的做法
//public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
学生管理系统
我们最先除了定义属性以外:还要列出他的选项栏:选项栏里面有退出所以这是个循环的体系所以是这样的。
显现出来是这样的
这里的用的是String类型所以输出任何数都不会有影响;所以在客户管理系统中用了这么一个工具包。
能够控输入的 不规范。
五个选项就连着五个方法;
第一个添加学生
这里其实用到了集合的 add功能。把输入一次的但当做集合里面的一个元素。
第二个删除学生
首先我要找到学生的学号,然后在遍历集合找有没有一样的,如果有一样的那么久找到他的学号进行arry.get()。找出来把它删除
3修改学生
修改先找到位置然后手动输入替换。用了set方法
4查看学生
查看就是遍历集合,
5结束
这个最简单
当然你也可以就是多一层的选择。
第五阶段就是对String的大致了解和对集合的了解