黑马程序员—常见API
2015-10-05 19:26
621 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一Scanner类
(1)Scanner是JDK5以后出现的方便我们从键盘接受数据的类。
(2)Scanner的构造格式:
Scanner sc = new Scanner(System.in);
System.in 是System类下面有一个静态的成员变量in。它的类型是InputStream。
代表的是标准键盘输入流。也就是键盘录入数据。
Scanner是对其进行了封装,提供了各种转换功能。方便我们获取到想要的数据类型的数据。
(3)要掌握的两个功能:
A:返回int类型
public int nextInt()
B:返回String类型
public String nextLine()
public String next()
注意事项:
先next,再nextLine会有问题。
解决方案:
重新建立Scanner对象。//一般不会这样做。因为消耗资源
根据需求,选择合适的方法。
统一一种方法。
代码实例
二String类的概述和使用
(1)由多个字符组成的一串数据。
(2)构造方法:
1:字面值常量赋值
2:public String() 创建一个空的字符串
3:public String(String original) 给定字符串,创建字符串对象
4:public String(byte[] bytes) 使用指定的字节数组创建字符串
5:public String(byte[] bytes, int offset,int length) 使用指定的字节数组的一部分创建字符串
6:public String(char[] value) 使用字符数组创建字符串
public String(char[] value, int offset, int count)
(3) String的普通方法:
判断:
重写equals方法:不再比较地址值,比较字符串内容本身
1:public boolean equalsIgnoreCase(String anotherString) 比较两个字符串内容,忽略大小写
2:public boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
CharSequence:char 值的一个可读序列 按照某种顺序排列的一列字符 String该接口的子类
在方法中如果看到CharSequence 类型,直接可以将其理解为String
3: public boolean startsWith(String prefix) 以某个字符串开头
public boolean endsWith(String suffix) 以某个字符串结尾
4: public boolean isEmpty() 判断字符串是否为空 判断依据字符串长度为0
代码实例
获取:
1:public int length() 获取字符串长度 int[] arr = new int[]{1,2,3,4}; >>arr.length
2:public char charAt(int index) 根据索引获取字符
3:public int indexOf(int ch) 根据字符获取索引
public int indexOf(int ch, int fromIndex)
public int lastIndexOf(int ch)与indexOf方法相对象,是最后一次出现的索引
4:public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
public String substring(int beginIndex, int endIndex) 截取字符串的一部分 包含头,不包含尾
代码实例
转换:
1:public char[] toCharArray() 字符串转为字符数组 字符数组的特殊性:可以直接打印数组,不是地址,是内容
2:public byte[] getBytes() 字符串转为字节数组
3: public static String valueOf(XX xx) 返回XX类型的字符串表示
4: public String toUpperCase() 转成大写
public String toLowerCase() 转成小写
5: public String concat(String str) 将指定字符串连接到此字符串的结尾。
代码实例
二String类的特殊性:
字符串是常量;它们的值在创建之后不能更改,因为 String 对象是不可变的,所以可以共享
指向字符串对象的引用,可以再指向其他字符串对象
字符串对象本身,无法改变。
常量池:
用于存放常量的内存区域
字符串属于常量,所以在使用字面值常量赋值时,就创建常量对象。
如果发现后边再次使用该常量时,不再创建新的对象,使用已经存在的对象。
String重写了Object的equals方法,比较的不是地址值,而是字符串内容
代码实例
三StringBuffer类
(1)StringBuffer: 字符串缓冲区 用来临时存储字符串内容的。
一个StringBuffer对象可以反复存放不同的字符串内容,最终只需要将这个拼写好的完整字符串返回即可。
字符串缓冲区用来拼写字符串,真正使用的仍然为字符串
代码实例
构造:
public StringBuffer() 创建一个空的字符串缓冲区
public StringBuffer(int capacity) 指定容量创建一个字符串缓冲区
public StringBuffer(String str) 给定内容创建一个字符串缓冲区
普通方法:
public StringBuffer append(XXX xxx) 将任意类型转为字符串,添加到字符串缓冲区
public int capacity() 返回当前容量
public int length() 返回字符数
代码实例
一Scanner类
(1)Scanner是JDK5以后出现的方便我们从键盘接受数据的类。
(2)Scanner的构造格式:
Scanner sc = new Scanner(System.in);
System.in 是System类下面有一个静态的成员变量in。它的类型是InputStream。
代表的是标准键盘输入流。也就是键盘录入数据。
Scanner是对其进行了封装,提供了各种转换功能。方便我们获取到想要的数据类型的数据。
(3)要掌握的两个功能:
A:返回int类型
public int nextInt()
B:返回String类型
public String nextLine()
public String next()
注意事项:
先next,再nextLine会有问题。
解决方案:
重新建立Scanner对象。//一般不会这样做。因为消耗资源
根据需求,选择合适的方法。
统一一种方法。
代码实例
public class Demo01_Scanner { public static void main(String[] args) { /* Scanner sc = new Scanner(System.in); int nextInt = sc.nextInt(); System.out.println(nextInt); Scanner sc2 = new Scanner(System.in); String data = sc2.next(); System.out.println(data); Scanner sc3 = new Scanner(System.in); String nextLine = sc3.nextLine(); System.out.println(nextLine); */ Scanner sc4 = new Scanner(System.in); String next = sc4.next(); String nextLine = sc4.nextLine(); System.out.println("next方法返回内容:"+next); System.out.println("这行内容:"+nextLine); } }
二String类的概述和使用
(1)由多个字符组成的一串数据。
(2)构造方法:
1:字面值常量赋值
2:public String() 创建一个空的字符串
3:public String(String original) 给定字符串,创建字符串对象
4:public String(byte[] bytes) 使用指定的字节数组创建字符串
5:public String(byte[] bytes, int offset,int length) 使用指定的字节数组的一部分创建字符串
6:public String(char[] value) 使用字符数组创建字符串
public String(char[] value, int offset, int count)
(3) String的普通方法:
判断:
重写equals方法:不再比较地址值,比较字符串内容本身
1:public boolean equalsIgnoreCase(String anotherString) 比较两个字符串内容,忽略大小写
2:public boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
CharSequence:char 值的一个可读序列 按照某种顺序排列的一列字符 String该接口的子类
在方法中如果看到CharSequence 类型,直接可以将其理解为String
3: public boolean startsWith(String prefix) 以某个字符串开头
public boolean endsWith(String suffix) 以某个字符串结尾
4: public boolean isEmpty() 判断字符串是否为空 判断依据字符串长度为0
代码实例
public class Demo04_String { public static void main(String[] args) { //1:public boolean equalsIgnoreCase(String anotherString) 比较两个字符串内容,忽略大小写 String s = "i love java"; String s2 = "I love java"; System.out.println(s.equals(s2)); System.out.println(s.equalsIgnoreCase(s2)); System.out.println("========================="); //2:public boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。 String s3 = "we love java"; String s4 = "you love java"; String s5 = "love java"; String s6 = ""; System.out.println(s3.contains(s4)); System.out.println(s3.contains(s5)); System.out.println(s3.contains(s6)); System.out.println("========================="); //3: public boolean startsWith(String prefix) 以某个字符串开头 //public boolean endsWith(String suffix) 以某个字符串结尾 String s7 = "i love java"; String s8 = "i lov"; String s9 = " java"; String s10 = "love"; System.out.println(s7.startsWith(s8)); System.out.println(s7.endsWith(s9)); System.out.println(s7.startsWith(s10, 2)); System.out.println("========================="); //4: public boolean isEmpty() 判断字符串是否为空 判断依据字符串长度为0 String s11 = "i love java"; String s12 = " "; String s13 = ""; //String s14 = null; System.out.println(s11.isEmpty()); System.out.println(s12.isEmpty()); System.out.println(s13.isEmpty()); //System.out.println(s14.isEmpty()); } }
获取:
1:public int length() 获取字符串长度 int[] arr = new int[]{1,2,3,4}; >>arr.length
2:public char charAt(int index) 根据索引获取字符
3:public int indexOf(int ch) 根据字符获取索引
public int indexOf(int ch, int fromIndex)
public int lastIndexOf(int ch)与indexOf方法相对象,是最后一次出现的索引
4:public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
public String substring(int beginIndex, int endIndex) 截取字符串的一部分 包含头,不包含尾
代码实例
public class Demo05_String { public static void main(String[] args) { //1:public int length() 获取字符串长度 String s = "i love java"; System.out.println(s.length()); System.out.println("=============="); //2:public char charAt(int index) 根据索引获取字符 String s2 = "i like java"; System.out.println(s2.charAt(2)); System.out.println("=============="); //3:public int indexOf(int ch) 根据字符获取索引,获取第一次遇到索引 //public int indexOf(int ch, int fromIndex) String s3 = "i miss java"; System.out.println(s3.indexOf('i')); System.out.println(s3.indexOf('i',2)); System.out.println("=============="); //4:public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。 //public String substring(int beginIndex, int endIndex) 截取字符串的一部分 包含头,不包含尾 String s4 = "i enjoy java"; System.out.println(s4.substring(2)); System.out.println(s4); System.out.println(s4.substring(0, 12)); System.out.println(s4.substring(0,s4.length())); } }
转换:
1:public char[] toCharArray() 字符串转为字符数组 字符数组的特殊性:可以直接打印数组,不是地址,是内容
2:public byte[] getBytes() 字符串转为字节数组
3: public static String valueOf(XX xx) 返回XX类型的字符串表示
4: public String toUpperCase() 转成大写
public String toLowerCase() 转成小写
5: public String concat(String str) 将指定字符串连接到此字符串的结尾。
代码实例
public class Demo06_String { public static void main(String[] args) { //1:public char[] toCharArray() 字符串转为字符数组 String s = "i love java"; char[] charArray = s.toCharArray(); System.out.println(charArray); for (int i = 0; i < charArray.length; i++) { char c = charArray[i]; System.out.println(c); } System.out.println("==================================="); //2:public byte[] getBytes() 字符串转为字节数组 String s2 = "i like java"; byte[] bytes = s2.getBytes(); for (int i = 0; i < bytes.length; i++) { byte b = bytes[i]; System.out.println(b); } System.out.println("==================================="); //3: public static String valueOf(XX xx) 返回XX类型的字符串表示 Person p = new Person("AngelaBaby",28); System.out.println(String.valueOf(p)); //4: public String toUpperCase() 转成大写 //public String toLowerCase() 转成小写 String s3 = "I love Java"; System.out.println(s3.toUpperCase()); System.out.println(s3.toLowerCase()); //5: public String concat(String str) 将指定字符串连接到此字符串的结尾。 String s4 = "i love "; String s5 = "java"; System.out.println(s4.concat(s5)); System.out.println(s4+s5); } }
二String类的特殊性:
字符串是常量;它们的值在创建之后不能更改,因为 String 对象是不可变的,所以可以共享
指向字符串对象的引用,可以再指向其他字符串对象
字符串对象本身,无法改变。
常量池:
用于存放常量的内存区域
字符串属于常量,所以在使用字面值常量赋值时,就创建常量对象。
如果发现后边再次使用该常量时,不再创建新的对象,使用已经存在的对象。
String重写了Object的equals方法,比较的不是地址值,而是字符串内容
代码实例
public class Demo03_String { public static void main(String[] args) { String s = "我是字符串"; String s2 = "我是字符串"; System.out.println(s == s2); System.out.println(s.equals(s2)); System.out.println("================"); String s3 = new String("我是字符串"); String s4 = new String("我是字符串"); System.out.println(s3 == s4); System.out.println(s3.equals(s4)); } }
三StringBuffer类
(1)StringBuffer: 字符串缓冲区 用来临时存储字符串内容的。
一个StringBuffer对象可以反复存放不同的字符串内容,最终只需要将这个拼写好的完整字符串返回即可。
字符串缓冲区用来拼写字符串,真正使用的仍然为字符串
代码实例
public class Demo01_StringBuffer { public static void main(String[] args) { //定义一个int类型数组 int[] arr = new int[]{12,4,6,7,734,34,67,8,0,0}; //定义变量,接收结果字符串,并加入{ String s = "{"; //遍历数组 for ( int i=0; i<arr.length; i++) { //依次获取到每一个元素 int j = arr[i]; //将每一个元素加到结果字符串中 s += j; //如果不是最后一个元素,则元素后边需要添加, if(i!=arr.length-1) { s += ","; } } //将所有元素添加到字符串内后,加入“}” s += "}"; //打印最终结果 System.out.println(s); } }
构造:
public StringBuffer() 创建一个空的字符串缓冲区
public StringBuffer(int capacity) 指定容量创建一个字符串缓冲区
public StringBuffer(String str) 给定内容创建一个字符串缓冲区
普通方法:
public StringBuffer append(XXX xxx) 将任意类型转为字符串,添加到字符串缓冲区
public int capacity() 返回当前容量
public int length() 返回字符数
代码实例
public class Demo02_StringBuffer { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); sb.append(2); sb.append(true); sb.append('a'); sb.append("i love java"); System.out.println(sb.toString()); System.out.println("========================"); StringBuffer sb2 = new StringBuffer(24); sb2.append("aaaaabbbbbcccccdddddeeeee"); System.out.println(sb2.length()); System.out.println(sb2.capacity()); System.out.println(sb2); System.out.println("========================"); /* StringBuffer sb3 = new StringBuffer("i love java"); System.out.println(sb3.capacity()); System.out.println(sb3.length()); System.out.println(sb3); */ } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统