JAVA基础学习Scanner和String常见类

本文详细介绍了Java中Scanner类的使用方法,包括构造方法、常用方法如hasNextXxx()和nextXxx(),以及如何处理不同类型的输入。同时深入探讨了String类的特性,构造方法,以及各种实用的操作方法,如字符串的比较、截取、转换等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scanner常见类
用于获取用户的键盘录入
Scanner的构造方法原理
System类下有一个静态的字段:
public static final InputStream in; 标准的输入流,对应着键盘录入。

Scanner类中的两个常用方法:
hasNestXxx()和nextXxx()

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    boolean b = scanner.hasNextInt();//判断下一个输出的是否为整型
    System.out.println(b);
    int i = scanner.nextInt();//输入一个整数
  
}

Scanner获取中有个小问题
常见的一般的获取数据的方法是这样的

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int i = scanner.nextInt();
    int i1 = scanner.nextInt();
    String s = scanner.nextLine();
    System.out.println(i);
    System.out.println(i1);
    System.out.println(s);//这种情况你就输入不进去String类型的值直接就跳过如何解决呢?
    //第一种:先获取一个数值,在创建一个新的键盘录入对象获取字符串
        Scanner scanner1 = new Scanner(System.in);
	String s1 = scanner1.nextLine();
	System.out.println(s1);
    //第二种:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换成什么
        Scanner scanner = new Scanner(System.in);
	String s = scanner.nextLine();
	Integer integer = Integer.valueOf(s);
	System.out.println(integer+1);//输出检验了下是否为int类型,其中integer是int的包装类

    


}

String类
String也就是一个字符串,
1.符串字面值“ABC"也可以看做是一个字符串对象。
2.符串是常量,一旦被创建,就不能被改变,因为字符串的值是在方法区的常量池中划分的,分配地址值的

String类中的构造方法

String中的构造方法作用
public String()空构造
public String(byte[] bytes)把字节数组转成字符串
public String(byte[] bytes,int index,int length)把字节数组的一部分转成字符串(index:表示的是从第几个索引开始, length表示的是长度)
public String(char[] value)把字符数组转成字符串
public String(char[] value,int index,int count)把字符数组的一部分转成字符串
public String(String original)把字符串常量值转成字符串

这些很简单,就和其他类一样调用就行

String有一些判断功能
equals比较字符串的内容是否相等,区分大小写
equalsIgnoreCase比较字符串的内容是否相同,不区分大小写
cotains判断字符串中是否有传递进来的字符串
startsWith判断字符串中是否以传递进来的字符串为开头
endWith判断字符串中是否以传递进来的字符串为结尾
isEmpty判断字符串是否为空串
当然,字符串中有很多的方法,

public int length()获取字符串的长度。
public char charAt(int index)获取指定索引位置的字符
public int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。
public int indexOf(String str)返回指定字符串在此字符串中第一次出现处的索引。
public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
public int indexOf(String str,int fromIndex)返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
public String substring(int start)从指定位置开始截取字符串,默认到末尾。
public String substring(int start,int end)从指定位置开始到指定位置结束截取字符串。

我们接下来遍历一个字符串

public static void main(String[] args) {
    String string = "abcdefghijk";
    for (int i = 0; i < string.length(); i++) {
        char c = string.charAt(i);//获取指定i索引处的字符
        System.out.println(c);
    }
}
//这样就遍历好了这个"abcdefghijk"字符串

String的转换功能:

public byte[] getBytes()把字符串转换为字节数组。
public char[] toCharArray()把字符串转换为字符数组。
public static String valueOf(char[] chs)把字符数组转成字符串。
public static String valueOf(int i)把int类型的数据转成字符串。
public String toLowerCase()把字符串转成小写。
public String toUpperCase()把字符串转成大写。
public String concat(String str)把字符串拼接。

注意:String类的valueOf方法可以把任意类型的数据转成字符串。

接下来我们写一个题
需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)

public static void main(String[] args) {
    String string = "abcdesefsefSEFSEFSEFk";
    //首先获取出第一个字符串
    String substring = string.substring(0, 1);
    //转换为大写
    String s = substring.toUpperCase();
    //获取剩余的字符串
    String substring1 = string.substring(1, string.length());
    //转换为小写
    String s1 = substring1.toLowerCase();
    System.out.println(s.concat(s1));
//最后输出的结果就是Abcdesefsefsefsefsefk

}

字符串还有一些其他功能
比如说
replace(old,new)将指定字符或者字符进行交换
trim()去除两端空格
public int compareTo(String str) 返回的是按照字典顺序比较两个字符。会对照ASCII 码表 从第一个字母进行减法运算,返回的是减法的结果
接下来我们再写最后一个

	需求:把数组中的数据按照指定个格式拼接成一个字符串
	  举例:
		 int[] arr = {1,2,3}; 
	 	 拼接结果:
	 	  "[1, 2, 3]"
public static void main(String[] args) {

        int[] arr = {1, 2, 3};
        String s = "[";
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
                s=s+arr[i]+"]";
            }
            else {
                s=s+arr[i]+",";
            }
            
        }
    System.out.println(s);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值