JAVA扫描器(键盘录入)
Scanner使用
#Scanner sc = new Scanner(System.in);#
- 获取一个单位内容: int a = sc.nextInt(); //其他类型还有Byte、Float、Double、Boolean等。
- 获取字符串: String str = sc.next();
String str = sc.nextLine();
next()与nextLine()使用的环境:
(1) 每个字符串中均无空格时使用next(),该函数会自动那个消去有效字符前的空格,并以有效字符后输入的空格、Tab、Enter作为字符串结束;
(2) 题中要求输入的字符串中含有空格,例如“I LOVE JAVA!”,此时需用nextLine()接收串内部的空格,该函数以Enter为字符串结束符。
字符串和字符数组
#String str; char[] c;#
- 串到数组: c = str.toCharArray();
子串到数组: c = str.subString(int, int).toCharArray(); - 数组到串: str = c.toString();
- 串之间的连接:
(1) str += “abc”;
(2) String s1=“abc”, s2=“def”; return s1+s2;
(3) StringBuffer buf = new StringBuffer(); buf.append(str); - String、StringBuffer、StringBuilder区别:
(1) 运行速度:StringBuilder > StringBuffer > String
(2) 适用范围:String用于操作少量字符,StringBuffer、StringBuilder用于动态增加内容,适用于串长度较大切不确定时;
(3) 线程安全:单线程且安全性要求低时用StringBuilder,多线程且安全性要求高时选择StringBuffer。