【JAVA笔记】JAVA的Scanner类、String类的判断功能、String类的获取功能、String类的转换功能-07
一、Scanner类
1、说明:
Scanner类主要用于扫描用户从控制台输入的文本,即当用户需要输入数据时,调用java.util包中的Scanner类,Scanner类能获取用户所输入的数据。
如何使用Scanner类
导入Scanner包
import java.util.Scanner;

实例:
package cn.test02.demo5;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
//创建Scanner类型的对象(注意,要导包)
//System.in:标准的输入流,默认指向键盘
Scanner sc1 = new Scanner(System.in);
//接受整数
System.out.println("请输入一个整数");
//为了解决(避免)InputMismatchException异常,可以加一个判断
if (sc1.hasNextInt()) {
//判断下一个录入的是否是整数,如果是,结果就是True
int num = sc1.nextInt();
System.out.println("num:" + num);
}
//接受一个字符串类型的数据
Scanner sc2 = new Scanner(System.in);
System.out.println("请录入一个字符串");
String str1 = sc2.nextLine();//结束标记是:换行符
System.out.println("str1:" + str1);
Scanner sc3 = new Scanner(System.in);
System.out.println("请录入一个字符串");
String str2 = sc3.next();//结束标记:空白字符(空格、tab、换行符)
System.out.println("str2:" + str2);
}
}
运行结果:

注意:
在实际开发中,应用到的最多的是:
nextInt(): 接收整数
nextLine(): 接受字符串
二、String类的判断功能

例:String类的判断功能
package cn.test02.demo5;
public class Test2 {
public static void main(String[] args) {
//测试构造方法
//1、将制定的字节数组转成字符串
//a:‘97’
byte[] bys = {97, 98, 99};
String s1 = new String(bys);
System.out.println("s1:" + s1);
//2.将指定的字符数组转成字符串
char[] cha = {'h', 'e', 'l', 'l', 'o'};
String s2 = new String(cha);
System.out.println("s2:" + s2);
//在实际开发中,String类非常常用,每次都new很麻烦,于是对于String的语法做了优化,省去了new的动作
String s3 = "abc";//优化
String s4 = new String("abc");//未优化
System.out.println("s3:" + s3);
System.out.println("s4:" + s4);
System.out.println("-------------------");
//测试成员方法
String str1 = "abc";
String str2 = "ABC";
//判断当前字符串与给定字符串是否相同,区分大小写
boolean b1 = str1.equals(str2);
System.out.println("equals():" + b1);
//判断当前字符串与给定字符串是否相同,不区分大小写
boolean b2 = str1.equalsIgnoreCase(str2);
System.out.println("equalsIgnoreCase():" + b2);
//判断是否以给定字符串开头
//需求:判断字符串str1,是否以字符串”a“开头
boolean b3 = str1.startsWith("a");
System.out.println("startsWith():" + b3);
//判断字符串是否为空
boolean b4 = str1.isEmpty();
System.out.println("isEmpty():" + b4);
}
}
返回结果:

三、String类的获取功能

例:String类的获取功能
package cn.test02.demo5;
public class Test3 {
public static void main(String[] args) {
//定义一个字符串
String str = "Hello java";
//获取当前字符串长度
int length = str.length();
System.out.println("该字符串的长度:" + length);
//获取指定字符(串)第一次出现的索引
//需求:字符‘l’第一次出现的位置
int index1 = str.indexOf('a');
System.out.println("字符‘a’第一次出现的位置索引:" + index1);
//获取指定字符(串)最后一次出现的索引
//需求:字符‘l’最后一次出现的位置
int index2 = str.lastIndexOf("l");
System.out.println("字符‘l’最后一次出现的位置的索引:" + index2);
//获取指定索引位置(含)之后的字符串
//需求:截取从索引3开始的所有元素
String s1 = str.substring(3);
System.out.println("截取从索引3开始的所有元素为:" + s1);
//获取从索引开始位置(含)到索引结束位置(不含)的字符串
//需求:获取从索引6到索引10的字符串
String s2 = str.substring(6, 10);
System.out.println("从索引6到索引10的字符串为:" + s2);
}
}
运行结果:

四、String类的转换功能

例:String类的转换功能
package cn.test02.demo5;
public class Test4 {
public static void main(String[] args) {
// 定义一个字符串
String s1 = "abc";
// 将字符串转换成字节数组.a的字节值为97
byte[] bys = s1.getBytes();
for (int i = 0; i < bys.length; i++) {
System.out.println(bys[i]);
}
System.out.println("--------------------");
//将字符串转换为字符数组
char[] chs = s1.toCharArray();
for (int i = 0; i < chs.length; i++) {
System.out.println(chs[i]);
}
System.out.println("--------------");
//将指定类型数据转换成字符串:static String valueOf();
//整数123 --> 字符串"123"
String s2 = String.valueOf(123);
System.out.println(s2 + 4);
//在实际开发中,上述的方式基本上都会用下面的这行代码替代
String s3 = "" + 123;
System.out.println(s3 + 4);
//将指定字符(串)替换成新的字符(串)
String s4 = "abc abc abc";
//"d"替换”b“
String s5 = s4.replace("b", "d");
System.out.println("替换后的字符串为:" + s5);
//切割字符串,返回切割后的字符串数据,原字符串不变
//将字符串s4,按照空格进行切割
//切割字符串,返回切割后的字符串数据,原字符串不变
//将字符串s4,按照空格进行切割
String[] arr = s4.split(" ");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("----------------------------");
//去掉字符串两端的空白字符
String s6 = "a b c";
String s7 = s6.trim();
System.out.println("s6:" + s6);
System.out.println("s7:" + s7);
}
}
运行结果:

本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/16989581.html

浙公网安备 33010602011771号