您的位置:首页 > 编程语言 > Java开发

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

2015-03-21 10:29 155 查看
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)把功能封装成成方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: