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. ...
随机推荐
- android 通过包名过滤logcat
#!/bin/bash ]]; then cat <<EOF Usage: `` <packagename> EOF exit package_name=$ ip= pid_l ...
- ajax展示新页面同时传递参数
HTML页面部分代码: <div id="course" hidden></div> HTML页面中ajax代码: var selectType=$(&qu ...
- Python_两种导入模块的方法异同
Python中有两种导入模块的方法 1:import module 2:from module import * 使用from module import *方法可以导入独立的项,也可以用from m ...
- 有关map中使用iterate迭代器遍历的不保序问题和list remove(object)的细节问题
今天在做项目的过程中发现了如下两个问题: 一 使用map的iterator迭代器对map进行遍历得到的结果是不保序的,也就是每次输出结果都是不一样的.针对这个问题,看以下iterator迭代器的源码. ...
- 菜鸟-@responsebody 理解-用法
@responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@respo ...
- c语言中的# ## 可变参数宏 ...和_ _VA_ARGS_ _
1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串.例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字 ...
- java集合框架之HashMap和Hashtable的区别
参考http://how2j.cn/k/collection/collection-hashmap-vs-hashtable/692.html#nowhere HashMap和Hashtable的区别 ...
- 632. Smallest Range(priority_queue)
You have k lists of sorted integers in ascending order. Find the smallest range that includes at lea ...
- HDU1059 【DP·二进制数优化】
题意: 有6种不同价值的物品,然后问你能不能分成两半使得两堆价值相等: 思路: 一共有20000*6=120000 多的价值, 总共背包有20000个,价值最大是120000,看看能不能DP到valu ...
- POJ3020【二分匹配】
思路: ---说给自己 一开始想的是从1-h*w标记整幅图,建图是星号和 {他,与他相连的星号} 建边,肯定要去匹配"*"啊,所以空格一定不会去造,然后就理解成了最小点覆盖,然而对 ...