1 字符串
字符串的创建有两种方式:
//直接赋值
String e = ""; //空字符串
String greeting = "Hello";
//使用new String()创建
String aa = new String("hello");
String直接赋值与new String的区别:
String直接赋值字符串进行比较时,是对值进行比较;
使用new String进行比较时,是对地址空间进行比较。aa与bb地址空间不同,因此返回false。
String aa = new String("nana");
String bb = new String("nana");
System.out.println(aa==bb); //false
String sa = "nana";
String sb = "nana";
System.out.println(sa==sb); //true
1.1 子串
String greeting = "Hello"
String s = greeting.substring(0,3) // s = "Hel"
substring方法的第二个参数是不想复制的第一个位置。
1.2 拼接
使用+号连接两个字符串。
String a = "aaaa";
String b = "bbbb";
String c = a + b; // c = "aaaabbbb"
当一个字符串与一个非字符串进行拼接时,后者会被转换成字符串。
String a = "name";
int b = 10;
System.out.println(b+a); //name10
1.3 检测字符串是否相等
// 检测两个字符串是否相等
s.equals(t) // 若字符串s与t相等,则返回true;否则,返回false。
// 检测是否相等,且不区分大小写,使用equalsIgnoreCase方法
"HeLLo".equalsIgnoreCase("hello")
1.4 空串与Null串
空串 "" 是长度为0的字符串。
// 判断字符串是否为空
if(str.length()==0) 或 if(str.equals(""))
//判断字符串是否是null值
if(str==null)
//检查字符串既不是null也不为空串
if(str!=null && str.length()!=0)
2 scanner交互
想通过控制台输入,需要构造一个scanner对象,与“标准输入流”System.in关联。Scanner类定义在java.util包中。
import java.util.*
Scanner in = new Scanner(System.in);
// nextLine方法将输入一行(在输入行中有可以包含空格)
String name = in.nextLine();
// 读取单词(遇空格则停止)
String fistname = in.next();
// 读取一个整数
int age = in.nextInt();
// 读取一个浮点数
Double d = in.nextDouble();
.next()与.nextline() 方法的区别实例:
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收输入:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类若不关闭则会一直占用资源,因此用完就关。
scanner.close();
run:
使用next方式接收输入:
Hello world!
输出的内容为:Hello
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收输入:");
//判断用户有没有输入字符串
if(scanner.hasNextLine()){
//使用next方式接收
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类若不关闭则会一直占用资源,因此用完就关。
scanner.close();
run:
使用nextLine方式接收输入:
提莫开始学java啦 好开心~
输出的内容为:提莫开始学java啦 好开心~