课程内容
Scanner类和String类
1.Scanner类的概述 public final class Scanner
其实是一个文本扫描器
Scanner sc = new Scanner(System.in)
hasNextInt()方法的概述
hasNext() 判断录入是否为字符串
int i = sc.nextInt();
if (hasNextInt) {
int i = sc.nextInt();
System.out.print(i);
}else { System.out.println(录入错误);}
hasNextInt() 判断键盘录入的数是否是int类型的,是就返回ture,不是返回false
用于解决键盘录入非int型报错问题.
Scanner获取数据时出现的问题(首先录入int型数据,再录入String数据,String数据录入不成功)
nextInt 是键盘录入整数的方法,当我们录入10的时候,其实在键盘上录入的是10和\r\n,nextInt()方法只获取10就结束
nextLine是键盘录入字符的方法,可以接收任何类型,
解决方法1.创建两次键盘录入对象,但是浪费空间
两个常用的方法
解决方法2,键盘录入的都是字符串都用nextLine方法,再用整数字符串转换为整数的方法
nextint
nextLine
2.String 类
"abc"是String的一个对象,可以调用String类中的方法
String一旦初始化,值不能改变,会被覆盖.
String类重写了toString方法,返回的是它本身
构造方法 (重点关注可以放那些参数)
如何将字节数组转化为字符
如何将字符数组转化为字符
public String():空构造
public String(byte [] bytes):把字节数组转成字符串 将计算机读的懂的转换成我们看的懂的
public String(byte [] bytes,int index,int length):把字节数组的一部分转成字符串
public String(char [] value,int index,int count):将字符数组转换成字符串
面试题
String s1 = "abc" String s2 = "abc" abc进的是常量池,常量池中没有这个字符串时,会创建,有时会直接用.
String s1 = new String("abc")创建几个对象,两个,一个在堆内存,一个在常量池
java中存在常量优化机制 同byte b =3+4;编译时就变成了7,把7赋值给b,常量优化机制
String类的判断功能
equals 方法,区分大小写 s1.equals(s2)
equalsIgnoreCase不区分大小写 s1.equalsIgnoreCase(s2)
contains 判断是否包含传入的字符串 s1.contains(s2)
endsWith 判断是否以传入的字符串结尾
startsWith 判断是否以传入的字符串开始
isEmpty 判断字符串是否为空 s1.isEmpty()
6个常量 整数常量 小数常量 布尔常量 字符串常量 字符常量 null常量
""和null的区别
""shi字符串常量,同时也是一个String类的对量,既然是对象当然可以调用String中的方法
null是空常量,不能调用任何方法,可能会出现空指针异常,null常量可以给任意引用数据类型赋值
模拟登陆界面
如果是字符串常量和字符串变量比较,通常都是常量调用equals方法,将变量当做参数传递,防止空指针异常
String类的获取功能
int length() 方法,获取的是每一个字符的个数,一个汉字一个 数组中的length是属性,String中的是方法
char charAt(int) 根据索引获取对应位置的字符 s2.charAt(3);字符串索引越界异常
int indexof(int) 返回指定字符在此字符串中第一次出现处的索引. 参数接收的是int类型的,传递char类型的会自动提升 如 果不存在返回的就是-1.
lastIndexof('a') 从后向前找,第一次出现的字符.
字符串的遍历
charAt(i)
通过for循环获取到字符串中每个字符的索引. 通过索引获取每个字符
统计不同类型字符个数
每一种字符都有不同范围 i>=A && i<=Z i>=a && i<=z ...
String 的转换功能
getBytes() 通过gdk码表将字符串转换成字节数组 把我们能看的懂的转化成计算机看的懂的gdk码表一个汉字代表两个字节
gdk码表特点,中文的第一个字节肯定是负数
value of() 可以传char 数组 数
toLowerCase()
了解性方法
replace(char old,char new)
s.trim() 去两边空格
compareTo() 按字典顺序比较,正负表示大小
compareToIgnorCase() 不区分大小写
字符串反转
大串中小串出现次数
|
|