Scanner的概述和方法介绍:
A:Scanner的构造方法原理
Scanner(InputStream source)
System类下有一个静态的字段:
public static final InputStream in;标准的输入流,对应着键盘录入
B:一般方法
hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是Int,Double等。
如果需要判断是否包含下一个字符串,则可以省略Xxx
nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同,
默认情况下,Scanner使用空格,回车等作为分隔符
Scanner获取数据出现的小问题及解决方案:
A:两个常用的方法
public int nextInt():获取一个int类型的值
public String nextLine():获取一个String类型的值
B:问题解决方案
第一种:先获取一个数值后,再创建一个新的键盘录入对象获取字符串。
第二种:把所有的数据都先按照字符串获取,然后要什么,就对应转换为什么
String类的构造方法:
public String():空构造
public String(byte[ ] bytes):把字节数组转成字符串
public String(byte[ ] bytes,int index,int length):把字节数组的一部分转成字符串
public String(char[ ] value):把字符数组转成字符串
public String(char[ ] value,int index,int count):把字符数组的一部分转成字符串
public String(String original):把字符串常量值转成字符串
String类的常见面试题:
1、判断定义为String类型的s1和s2是否相等
String s1 = “abc”;
String s2 = “abc”;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
2、下面这句话在内存中创建了几个对象?
String s1 = new String(“abc”);
3、判断定义为String类型的s1和s2是否相等
String s1 = new String(“abc”);
String s2 = “abc”;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
4、判断定义为String类型的s1和s2是否相等
String s1 = “a” + “b” + “c”;
String s2 = “abc”;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
5、判断定义为String类型的s1和s2是否相等
String s1 = “ab”;
String s2 = “abc”;
String s3 = s1 +“c”;
System.out.println(s3 == s2);
System.out.println(s3.equals(s2));
String类的判断功能:
boolean equals(Object obj):比较字符串的内容是否相等,区分大小写
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean contains(String str):判断大字符串中是否包含小字符串
boolean startWith(String str):判断字符串是否以某个指定的字符串开头
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
boolean isEmpty():判断祖符串是否为空
String类的获取功能:
int length():获取字符串长度
char charAt(int index):获取指定索引位置的字符
int indexOf(int ch):返回指定字符在此字符串中第一次出现处索引
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
int indexOf(int ch,int fromIndex):返回指定字符串在此字符中从指定位置后第一次出现处的索引
int indexOf(String str,int fromIndex):返回指定字符串在此字符中从指定位置后第一次出现处的索引
lastIndexOf
String substring(int start):从指定位置开始截取字符串,默认到末尾
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串
String类的转换功能:
byte[ ] getBytes():把字符串转换为字节数组
char[ ] toCharArray():把字符串转换为字符数组
static String valueOf(char[ ] chs):把字符数组转成字符串
static String valueOf(int i):把int类型的数据转成字符串
注意:String类的valueOf方法可以把任意类型的数据转成字符串
String toLowerCase():把字符串转成小写
String toUpperCase():把字符串转成大写
String concat(String str):把字符串拼接