String 类的构造方法很多。可以通过初始化一个字符串,或者字符数组,或者字节数组等等来创建一个 String 对象
一: 常见方法
1.length()
2.substring(int)/(int,int)
3.charAt(int index):char
4.indexOf(int ch)
和
indexOf(int ch, int fromIndex)
方法
5.equals(String):boolean
比较两个字符串的内容是否相等
考试常见方法:intern() 方法
1.
字符串常量拼接,在方法区的常量池中完成
String s0="ab";
String s1=s0+"c";
String s2="abc";
System.out.println(s1==s2); //false
注意
:
String类型的拼接是通过StringBuilder类中的append方法实现的,然后返回toString的结果。是在堆中的新对象
二:字符串转数字
1.使用
Scanner
读取键盘录入数据
next():String 当光标扫描到第一个分隔符(默认是空格)停止扫描,会创建一个
String类的对 象, 里面存储的就是扫描的内容(不包含空格分隔符)返回创建的String
对象的引用给
n
Scanner cin=new Scanner(System.in);
while (true) {
String n = cin.next();
if("exit".equals(n))
break;
System.out.println(n + 'A');
}
cin.close();
2.nextLine():
读取输入,包括单词之间的空格和除回车以外的所有符号
(
即。它读到行尾
)
。读取输入 后,nextLine()
将光标定位在下一行。所以它和
next()
的区别就是它没有分隔符,直接扫描全部的键 盘输入内容,并创建对象进行将其引用返回
3.目标类型名
.parse
类型
(String)
(1) Integer.parsetInt(String):int
(2) Double.parsetDouble(String):double
三:数字转字符串
""+任意类型数据
字符串新方法
1.String.repeat(int) 根据 int
参数的值重复
String
2.String.lines() 拆分由其行终止符在其上调用的
String
,并返回由这些行终止符划分的
3.Strings Stream 。具体使用以后再说
4. String.strip() 、
String.stripLeading()
和
String.stripTrailing()
去除字符串的空格
5.String.isBlank() 判断
String
是否为空或仅包含空格字符
四 练习
1.、打印5位数中的所有回文数,每行打印10个数。最后统计一下一共有多少个5位回文数。
public static void main(String[] args) {
//打印五位数的所有回文数,每行打印十个。最后统计个数
int ccc=0;
for(int k=10000;k<100000;k++) {
String ss=""+k;
String s2="";
for(int i=0;i<ss.length();i++) {
char cc=ss.charAt(i);
s2=cc+s2;
}
if(ss.equals(s2)) {
System.out.print(k+"\t");
ccc++;
if(ccc%10==0)
System.out.println();
}
}
System.out.println("\n共总有"+ccc+"个回文数!");
}
}
2.根据键盘录入的数值
1
、
2
、
3
、
4
,
…7
输出对应的星期一、星期二、星期三
…
星期日
public static void main(String[] args) {
// 根据键盘录入的数值1,2,3,4,5,6,7,输出对应的星期几
Scanner sc=new Scanner(System.in);
System.out.println("请输入数字");
int kk=1;
while(true) {
String ss=sc.nextLine();
kk=Integer.parseInt(ss);
if(kk<1||kk>7) {
System.out.println("输入数据不合法,请重新输入!");
}else
break;
}
String tt="一二三四五六天";
String ss="星期"+tt.charAt(kk-1);
System.out.println(ss);
}