Java基础第七天--Scanner类,String类

API常见对象
String
StringBuffer/StringBuilder 字符串缓冲区类
基本数据类型封装类  (如Interger)
Math
System
Runtime
Date,DateFormat,Calendar

1. Scanner类:在JDK5以后,用于帮助我们接收键盘录入的数据
   Scanner sc = new Scanner(System.in);
   在System类下面有一个静态的成员变量:in
   public static final InputStream in:表示一个标准的键盘输入流,代表键盘输入
   Scanner仅仅是对其进行了一次包装(封装键盘录入),由Scanner去实现各种转换,最终按照Scanner的方式提供你要的数据
  
   要掌握的功能:
   1)int:返回一个int类型的数据 putlic int nextInt()
   2)没有提供返回字符的方法:String s = sc.nextLine();
   连续获取两种类型的问题:
   String 回车 String: 没有问题  
   String 回车 int: 没有问题
   int 回车 int:  没有问题
   int 回车 String:  有问题 这个时候把换行符给了String。在windows下换行符是\r\n
   这个时候你可以选择
   1)重新创建一个Scanner对象
   2)把所有的数据都当作String类型来看待,以后要什么类型,再转换
   \r转义字符:回车符   将光标移动到下一行的初始位置
   \n:换行符    将光标移动下一行的同一列位置
  
2.  String类:
 字符串:本质上是字符数组 字符串对象在开发中是最常见的,为了方便我们对字符串的操作,
 java把字符串用对象进行了封装,所有字符串字面值都作为字符串对象
 
3. 构造方法
 String():无参构造方法
 String(byte[] bytes):把字节数组转成字符串
 String(byte[], int startIndex, int length):把字节数组的一部分转成字符串
 String(char[] value):
 String(char[] value,int startIndex, int length):
 String(String original):把字符串字面值转成字符串
 
 字符串长度功能: public int length()
 String类重写了Object类的ToString方法
 
4. 注意事项:
 1)字符串一旦初始化就不可以被改变,指的是内存中的常量池的字符串常量数据不能发生改变,
    没有说字符串的引用不能改变(内容不变,引用改变)
 2)String s1 = new String("abc"); 与 String s2 = "abc";有区别吗?
    有。第一种方式,在内存中有两个对象,第二种方式只有一个对象
 3)看程序,写结果
    注意:如果直接赋值 String s1 = "Hello",是从常量池先找,如果有,就用;否则,就造一个
    注意:如果是变量,直接在内存中造变量
          如果是常量,先在常量池中找,有就用,没有就造
   
5.  String类的判断功能
 boolean equals(Object obj): 比较字符串的内容是否相同
 boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,不区分大小写
 boolean contains(String str): 判断字符串是否包含给定的字符串
 boolean startWith(String str): 判断字符串是否以给定的字符串开头
 boolean endWith(String str): 判断字符串是否以给定的字符串结束
 boolean isEmpty(): 判断该字符串对象是否为空,指内容为空
 内容为空 “”,地址为空null
 
6. 如何查看JDK提供的类的源码呢?
 1)在JDK安装目录下的src文件,自己找
 2)通过eclipse直接关联查看  左手CTRL+右手鼠标移动到要查看的类上单击
        也可以把光标移动到要查看的类上,然后按下F3

7.  String类的获取功能
 int length()
 char charAt(int index)
 int indexOf(int ch): 返回指定字符第一次出现的索引位置 找不到返回-1
 int indexOf(String str): 返回指定字符串第一次出现的索引位置
 int indexOf(int ch, int fromIndex): 从指定位置开始,返回指定字符串第一次出现的索引位置
 int indexOf(String str, int fromIndex): 从指定位置开始,返回指定字符串第一次出现的索引位置
 String substring(int start): 从指定位置开始截取字符串
 String sbustring(int start, int end): 从指定位置开始,到指定位置结束截取字符串 包左不包右
 
8. String类的转换功能
 byte[] getBytes():把该字符串转换成字节数组
 char[] toCharArray():把该字符串转换成字符数组
 static String copyValueOf(char[] chs):把字符数组转换成字符串
 static String Valueof(char[] chs):把字符数组转换成字符串
 static String Valueof(int i):把int类型的数据转换成字符串,字符串的一个Valueof功能,可以把其他类型转换为字符串
 String toLowerCase()
 String toUpperCase()
 String concat(String str):字符串的拼接  也可以用+做拼接
 
9. String类的其他功能
 1)替换
 String replace(char old, char new)
 String replace(String old, String new)
 2)分割
 String[] split(String regex)
 3)去除字符串两端空格
 String trim()
 4)按字典顺序比较两个字符串
 int compareTo(String str)   返回int类型
        如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数
        compareTo 只在方法 equals(Object) 返回 true 时才返回 0
 int compareToIgnoreCase(String str)
 
10. 案例:获取大字符串中小字符串出现的次数
    1)查找indexOf()和截取substring()方法的使用
    2)把功能封装成成方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值