API的使用:
1.关注查询的类所在的包
2.查看构造方法(一般使用无参的构造)
3.查看方法摘要对方法的介绍
Scanner sc = new Scanner(System.in);
sc.nextInt();//接收一个数字
sc.next();//接收一个字符串 如果遇到空格 后面的内容将不在获取 hello world 只会获取前面的hello 遇到空格就会停止接收
sc.nextLine();//接收一行的数据 hello world 全部获取到
//sc.nextInt();后面不能跟sc.nextLine(); 原因: nextInt();只能接收数字的输入 如果要让程序继续执行我们需要按回车键
//回车键nextInt无法接收 只能是后面的nextLine()来接收 造成的结果是 nextLine() 无法接收指定的数据
//
String 类型:
是要是双引号引起来的内容 都是字符串 String str ="这里面的内容都是字符串";
String字符串 类似于 char[] 数组的长度不能变化的
字符串一旦创建长度和内容都不能发生变化
字符串构造方法:
String str = "中文";
char[] chars = {'中','文'}
String str = new String(chars);
char[] chars ={'a','b','c'};
String str = new String(chars);
byte[] bytes = {97,98,99};
String str = new String(bytes);
String str = new String();
String对象在内存中的情况:
只要是new出来的东西 地址值不会相同
常量池:
只会执行第一次的创建 在程序执行完毕之后销毁
好处:少创建的过程 少销毁的过程
比较两个字符串的内容是否相等:
"==" 功能:
如果是基本的数据类型 比较 数据值
如果是引用类型 比较的是 地址值
boolean equals(Object anObject);
总结:以后在使用 equals方法的时候 尽可能的把已知的数据放在前面 把未知的放在后面
防止空指针异常(NullPointerException )
/* String str = "heihei";
String str1 = "heihei";
char[] chars={'h','e','i','h','e','i'}
String str2 = new String(chars);
str== str1;
str1== str2;
str.equals(str1);
str.equals(str2);
*/
/**
String str1 = "123";
String str2 = "456";
String str3 = "123456";
String str4 = str1 + "456";//变量只有在运行的时候才能得到其结果
// int num = 9+6;
String str5 = "123" + "456"; //编译器会自动把常量进行运算
System.out.println(str3 == str4); //false
System.out.println(str3 == str5); //true
hello world helloworld
*/
StringBuilder 字符串缓冲区:
StringBuilder和 String区别:
StringBuilder 是可以变的
String 不可变的
public StringBuilder append(任意类型):添加数据,并返回对象本身
public StringBuilder reverse():返回相反的字符序列
String toString();
把String类型的数据 转换成 StringBuilder
StringBuilder sb = new StringBuilder(字符串);
把 StringBuilder 转换 String
String toString(); |
|