Fork me on GitHub

【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);


    }
}

运行结果:

 

 

  

 

 

  

  

  

posted @ 2022-12-20 09:47  橘子偏爱橙子  阅读(232)  评论(0编辑  收藏  举报