package scanner;
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//输入数据
System.out.println("请输入一个数据");
// String line=sc.nextLine();
String line = sc.nextLine();
System.out.println("你输入的数据是:" + line);
}
}
如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题呢?答案是肯定的,我们可以通过Java提供的
StringBuilder类就来解决这个问题。
package StringBuilder;
public class StringDemo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
System.out.println("sb="+sb);
System.out.println("sb.length="+sb.length());
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2="+sb2);
System.out.println("sb2.length="+sb2.length());
}
}
sb=
sb.length=0
sb2=hello
sb2.length=5
public class StringDemo01 {
public static void main(String[] args) {
StringBuilder sb= new StringBuilder();
StringBuilder sb2=sb.append("hello");
System.out.println("sb="+sb);
System.out.println("sb2="+sb2);
}
}
sb=hello
sb2=hello
所以,StringBuilder append()会返回这个append之后的String Builder对象。
因为string没有String Builder那么多的方法,所以我们需要将String进行转换为String Builder才能使用那些方法,然后还需要再转换回来。
集合类的特点:提供-种存储空间可变的存储模型,存储的数据容量可以发生改变。
集合类有很多,目前我们先学习: ArrayList
nextInt()方法在我们点击Enter键后执行,nextLine()方法也在我们点击Enter键后执行,那么nextInt()方法是只读取了数字,没有读取n,这个遗留下来的n被后面的nextLine()读取到了所以才出现这个方法被跳过的假象。
解决方法
在nextInt()方法后用一个nextLine()来读取掉遗留下来的n
使用Alt+Insert键自动生成代码,生成构造方法与get、set方法
shift+点任意一个选中全部成员变量



