A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gonghe 中级黑马   /  2016-8-7 00:21  /  693 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

课程内容
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() 不区分大小写

字符串反转
大串中小串出现次数

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马