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. ...
随机推荐
- MakeFile 文件的使用
什么是Makefile? 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译, ...
- bzoj 2169 连边——去重的思想
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2169 如果之前都去好重了,可以看作这次连的边只会和上一次连的边重复. 可以认为从上上次的状态 ...
- 宿主机 && docker 常用命令
宿主机 && docker 常用命令 1.如果你想快速发现在该主机上使用最多资源的容器(或是最近的所有systemd服务),我推荐systemd-cgtop命令: 2.
- 【旧文章搬运】为什么win32k.sys在System进程空间无法访问
原文发表于百度空间,2010-01-02========================================================================== 玩过Sha ...
- MVC 登录后重定向回最初请求的 URL FormsAuthentication.RedirectFromLoginPage
在传统的Asp.net webForm 中如果使用 Form身份验证.登录后重定向到最初请求的页面只需使用 FormsAuthentication.RedirectFromLoginPage 但在MV ...
- Ubuntu 图形处理软件
sudo add-apt-repository ppa:dhor/myway sudo apt-get update sudo apt-get install photivo
- Jacob开发文件转PDF
这三种方法我都有试过word转PDF,第2种.第3种对于图片,表格.中文转换效果都不好,方法1效果最好.但方法1 只支持Windows环境下. 1.开发环境 Windows系统: 2.准备工作: st ...
- Flutter实战视频-移动电商-16.补充_保持页面状态
16.补充_保持页面状态 修正一个地方: 设置了item的高度为380 横向列表为380.最终build的高度也增加了50为430. 增加了上面的高度以后,下面那个横线划掉的价格可以显示出来了. 但是 ...
- SpringCloud之旅第一篇-微服务概念
一.单体架构的问题 微服务为什么会出现?在学习Springboot的时候知道Springboot极大的简化了我们的开发,我们可以快速的进行业务开发,Springboot单体应用在项目的开发初期能够满足 ...
- 201621123016《Java程序设计》第三周学习总结
1. 本周学习总结 1.初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系.步骤如下: 1.1 写 ...