Scanner-String-StringBuilder-API
1.能够明确API的使用步骤
1)打开帮助文档
2)点击显示,找到索引,看到输入框
3)你要找谁?在输入框里输入,然后回车
4)看包:java.lang下的类不需要导包,其他需要
5)看类的解释和说明
6)学习构造方法
7)使用成员方法
2.能够使用Scanner类获取键盘输入的字符串
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter ....");
String s = sc.nextLine();
3.能够使用String类的构造方法创建字符串对象
1: String s = new String("hello");
2: String s ="hello";
3: char[] ch ={'a','b','c'};
String s1 = new String(ch);
4: char[] ch ={'a','b','c','d','e'};
String s2 = new String(ch,1,3) //第1号位置开始,数3个
4.能够明确String类的构造方法创建对象,和直接赋值创建字符串对象的区别
1: String s = new String("hello");
2: String s ="hello";
第一种方式是在通过在堆区开辟空间,引用了方法区常量池里的“hello”对象;
第二种方式是直接引用方法区常量池里的“hello”对象;
5.能够使用文档查询String类的常用方法、
1)判断功能方法:
s1.equals(s2):判断s1和s2的引用内容是否相同,如若用==则比较的是地址;
s1.euqalsIgnoreCase(s2):忽略大小写比较引用内容是否相同
s1.startsWith("abc"):是否以abc开头
s1.endsWith("abc"):是否以abc结尾
2)获取功能方法:
s.length():计算字符串长度
s.charAt(0):获取第0位置的字符
s.indexOf("wo"):获取“wo”第一次出现的索引
s.substring(1):从第1号位置字符至结尾
s.substring(3,8):从第3号位置截取字符至第7号位置
3)转换功能方法
s.toCharArray():把字符串转换为字符数组
s.toUpperCase():把字符串转换为大写
s.toLowerCase():把字符串转换为小写
4)去除空格方法
s.trim():去除字符串左右空格,但是不能去除字符串中间的空格
5)分割功能方法
s.split(","):按照“,”分割字符串
6)替换功能方法--支持正则
s.replaceOf("str","rts"):使用rts替换原str
7)String类对正则的支持
public boolean matches(String regex)
public String replaceAll(String regex,String replacement)
public String replaceFirst(String regex,String replacement)
public String[] split(String regex,int limit)
public String[] split(String regex)
6.能够使用类名作为形式参数和返回值
1)类名作为形式参数案例:需要的其实是该类的对象
class Test {
public void show(Person p){
p.eat();
}
}
2)类名作为返回值案例:返回的其实是该类的对象
class Test {
public Person show(){
Person p = new Person("小王");
return p;
}
}
7.能够使用StringBuilder类的添加功能和反转功能
sb.append("12"):拼接
sb.reverse():反转
sb.capacity():理论长度
sb.length():实际长度
sb.toString():转换为字符串
public class Demo02 {
public static void main(String[] args) {
int[] arr = { 12, 34, 4, 5 };
String s = arrToString(arr);
System.out.println(s);
String s1 = myReverse(s);
System.out.print(s1);
}
// arrToString
public static String arrToString(int[] arr) {
StringBuilder s = new StringBuilder();
s.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
s.append(arr[i] + "]");
} else {
s.append(arr[i] + ",");
}
}
String result = s.toString();
return result;
}
//reverse
public static String myReverse(String s) {
StringBuilder builder = new StringBuilder(s);
builder.reverse();
String result = builder.toString();
return result;
}
}
toCharArray()
Arrays.toString()
toString()
Scanner-String-StringBuilder-API的更多相关文章
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
字符串,就是一系列字符的集合. Java里面提供了String,StringBuffer和StringBuilder三个类来封装字符串,其中StringBuilder类是到jdk 1.5才新增的.字符 ...
- 深入源码剖析String,StringBuilder,StringBuffer
[String,StringBuffer,StringBulider] 深入源码剖析String,StringBuilder,StringBuffer [作者:高瑞林] [博客地址]http://ww ...
- String, StringBuilder, StringBuffer问题
1. 区别 String为字符串常量,而StringBuilder和StringBuffer都是字符串变量,其中StringBuilder线程非安全,StringBuffer线程安全. 每次对 Str ...
- String StringBuilder 包装类
1. String 概述 程序中直接写上双引号的字符串就在字符串常量池中,new的不在池当中 java6之前常量池在方法区,java7以后将字符串常量池放在堆中 因为字符串是对象,应该在堆中 相同的字 ...
- String StringBuilder StringBuffer区别
String StringBuilder StringBuffer String类是final类,不可以被继承,且它的成员方法也是final方法,当一个字符串对象进行操作操作时,任何的改变不会影响到这 ...
- difference among String,StringBuilder,StringBuffer
difference among String,StringBuilder,StringBuffer String常用构造函数 String(byte[] bytes) String(byte[] b ...
- Effective STL 学习笔记 Item 16:vector, string & C API
有时需要支持 C 的接口,但这并不复杂. 对于 vector 来讲, \(v[0]\) 的地址 \(\&v[0]\) 即可作为数组指针传递给 C API: 1: // Legacy C API ...
- 谈String,StringBuilder,StringBuffer随笔
一.谈谈三者在实现上的区别. (1)先看String 方法,实现了Serializable, Comparable, CharSequence三个接口 package java.lang; imp ...
- String,StringBuilder性能对照
import java.util.Date; import java.util.UUID; /** * 測试String,StringBuilder性能,推断什么时候改用String,什么时候该用S ...
- JDK源码分析系列---String,StringBuilder,StringBuffer
JDK源码分析系列---String,StringBuilder,StringBuffer 1.String public final class String implements java.io. ...
随机推荐
- 最短路——Dijkstra和Floyd
Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...
- 使用libvirt技术监控虚拟机资源利用情况
使用libvirt技术监控虚拟机资源利用情况 (一)计算资源与内存资源的监控 libvirt中提供virDomainGetInfo方法可以将一个domain的计算资源和内存资源的使用情况封装在一个结构 ...
- HDOJ-2054
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- java集合框架之ArrayList与LinkedList的区别
参考http://how2j.cn/k/collection/collection-arraylist-vs-linkedlist/690.html#nowhere ArrayList和LinkedL ...
- 简单运行Lua代码
http://blog.csdn.net/hamenny/article/details/4420522
- Swift 4.0 中的 open,public,internal,fileprivate,private
1.private private访问级别所修饰的属性或者方法只能在当前类里访问. 2.fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问. ...
- Weekly Contest 111-------->944. Delete Columns to Make Sorted
We are given an array A of N lowercase letter strings, all of the same length. Now, we may choose an ...
- HDU3478 【判奇环/二分图的性质】
题意: 给你一幅图,给你一个起点,然后问你存不存在一个时刻,所有点可以在那个时刻到达. 思路: 这幅图首先是联通的: 如果出现奇数环,则满足在某一时刻都可能到达: 然后判断奇数环用二分图性质搞也是神奇 ...
- Mecanim Control
http://www.ufe3d.com/doku.php/mecanimcontrol Mecanim Control Your ultimate solution for Mecanim base ...
- linux ping
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ...