【笔记】Java的Scanner类、String类的判断功能、String类的获取功能、String类的转换功能

【笔记】Java的Scanner类、String类的判断功能、String类的获取功能、String类的转换功能,第1张

文章目录
  • 一、Scanner类
  • 二、String类的判断功能
  • 三、String类的获取功能
  • 四、String类的转换功能

一、Scanner类


例:使用Scanner类

import java.util.Scanner;

public class Main {
    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类的判断功能

import java.util.Scanner;

public class Main {
    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("-------------------");

       //测试成员方法
       String str1 = "abc";
       String str2 = "ABC";
       //判断当前字符串与给定字符串是否相同,区分大小写
       boolean b1 = str1.equals(str2);
       System.out.println("equals():"+b1);
       //判断当前字符串与给定字符串是否相同,不区分大小写
       boolean b2 = str1.equalsIgnoreCase(str2);
       System.out.println("equalsIgenoreCase():"+b2);
       //判断是否以给定字符串开头
       //需求:判断字符串str1,是否以字符串”a“开头
       boolean b3 = str1.startsWith("a");
       System.out.println("startsWith():"+b3);
       //判断字符串是否为空
       boolean b4 = str1.isEmpty();
       System.out.println("isEmpty():"+b4);
    }
}

运行结果:

三、String类的获取功能


例:String类的获取功能

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
       //定义一个字符串
       String str = "Hello java";

       //获取当前字符串长度
       /*int length = str.length();
       System.out.println("该字符串的长度为:"+length);
        */
       System.out.println("该字符串的长度为:"+str.length());

       //获取指定字符(串)第一次出现的索引
       //需求:字符‘l’第一次出现的位置
       int index1 = str.indexOf('a');
       System.out.println("字符‘l’第一次出现的位置索引:"+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类的转换功能

import java.nio.charset.StandardCharsets;

public class Main {
    public static void main(String[] args) {
        //定义一个字符串
        String s1 = "abc";

        //将字符串转换成字节数组
        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,按照空格进行切割
        String[] arr = s4.split(" ");
        for (int i = 0;i < arr.length;i++) {
            System.out.println(arr[i]);
        }
        //去掉字符串两端的空白字符
        String s6 = "a b c";
        String s7 = s6.trim();
        System.out.println("s6:"+s6);
        System.out.println("s7:"+s7);
    }
}

运行结果:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/905471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-15
下一篇2022-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存