一、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); } }
运行结果:
标签:功能,JAVA,String,System,Scanner,字符串,println,out From: https://www.cnblogs.com/xfbk/p/16989581.html