Java中的Scanner类与String类

本文详细介绍了Java中Scanner类的使用,包括如何获取不同类型的用户输入,以及String类的各种构造方法、属性和方法,如长度获取、内容判断、获取和替换功能等。

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

Scanner类
Scanner类是用于获取用户键盘输入的类。
System类下有静态字段:
	public static final InputStream in;//标准的输入流,对应着键盘输入。
Scanner类中的hasNext()方法和next()方法。
hasNext()方法是判断下一个是不是某种类型的元素。
Scanner input=new Scanner(System.in);
if(input.hasNextInt()){
	System.out.println("输入的是整形数据。");
}else{
	
}
//输出结果是:如果你输入的是整形数据,那么就会输出“输入的是整形数据”,如果输入的不是整形数据,那么什么都不会输出,hasNext()方法返回的是boolean类型的值。
next()方法是获取下一个输入项。
nextInt()方法是获取一个int类型的值。
nextLine()方法是获取一个String类型的值。

String类

字符串:由多个字符组成的字符序列,可以看成字符数组。
字符串的字面值可以看成是一个字符串对象,字符串一旦被创建,就不能改变,改变的只是对字符串的引用。
String类的构造方法
	public String():空构造
	public String(String original):把字符串常量值转成字符串
 public static void main(String[] args) {
        String s=new String("abc");
        System.out.println(s);
    }
	public String(byte[] bytes):把字节数组转成字符串	
public static void main(String[] args) {
        byte[] bytes=new byte[]{1,127} ;
        String s=new String(bytes);
        System.out.println(s);
    }
	public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串(index:表示的是从第几个索引开始, length表示的是长度)
byte[] bytes=new byte[]{1,127,53,55,56} ;
        String s=new String(bytes,2,2);
        System.out.println(s);
	public String(char[] value):把字符数组转成字符串
public static void main(String[] args) {
        char[] chars=new char[]{'c','d','a','e'};
        String s=new String(chars);
        System.out.println(s);//输出结果cdae
    }
	public String(char[] value,int index,int count):把字符数组的一部分转成字符串
 public static void main(String[] args) {
        char[] chars=new char[]{'c','d','a','e'};
        String s=new String(chars,2,2);//从索引为2的位置开始,转换两个字符。
        System.out.println(s);//输出结果ae
    }
字符串的方法
	public int length():返回此字符串的长度。
 public static void main(String[] args) {
       String s="adsadasdasd";
        System.out.println(s.length());//输出该字符串的长度。
    }
String类的判断功能
	public boolean equals(Object obj):				比较字符串的内容是否相同,区分大小写
public static void main(String[] args) {
       String s1=new String("abc");
       String s2="abc";
       //true
        System.out.println(s1.equals(s2));//String中的equals()方法被重写了,比较字符串内容
    }
	public boolean equalsIgnoreCase(String str):		比较字符串的内容是否相同,忽略大小写
 public static void main(String[] args) {
       String s1=new String("abc");
       String s2="ABC";
        System.out.println(s1.equalsIgnoreCase(s2));//true
    }
	public boolean contains(String str):				判断字符串中是否包含传递进来的字符串
public static void main(String[] args) {
        String s="zhaorunfa";
        System.out.println(s.contains("zhao"));//true
    }
	public boolean startsWith(String str):				判断字符串是否以传递进来的字符串开头
public static void main(String[] args) {
        String s="zhaorunfa";
        System.out.println(s.startsWith("zhao"));//true
    }
	public boolean endsWith(String str):				判断字符串是否以传递进来的字符串结尾
public static void main(String[] args) {
        String s="zhaorunfa";
        System.out.println(s.endsWith("fa"));
    }//true
	public boolean isEmpty():						判断字符串的内容是否为空串""。
public static void main(String[] args) {
        String s="zhaorunfa";
        System.out.println(s.isEmpty());//false
    }
String类的获取功能
	public char charAt(int index):		获取指定索引位置的字符
 public static void main(String[] args) {
        String s="zhaorun";
        System.out.println(s.charAt(2));//获取字符a
    }
	public int indexOf(int ch):			返回指定字符在此字符串中第一次出现处的索引。
 public static void main(String[] args) {
        String s="zhaorun";
        System.out.println(s.indexOf('a'));//返回字符在对字符串中第一次出现的索引
    }

	public int indexOf(String str):		返回指定字符串在此字符串中第一次出现处的索引。
 public static void main(String[] args) {
        String s="zhaorun";
        System.out.println(s.indexOf("ao"));//返回字符串在字符串中第一次出现的索引,只不过返回的值是查找的字符串中第一个字符的。
    }
	public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
	public int indexOf(String str,int fromIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
 public static void main(String[] args) {
        String s="zhaorun";
        System.out.println(s.indexOf("ao"));//获取的返回值是7
    }
		可以顺带提一下lastIndexOf系列//从字符串的后面获取索引
	public String substring(int start):		从指定位置开始截取字符串,默认到末尾。
 public static void main(String[] args) {
        String s="zhaorunao";
        System.out.println(s.substring(2));//aorunao
    }
	public String substring(int start,int end):	从指定位置开始到指定位置结束截取字符串。
public static void main(String[] args) {
        String s="zhaorunao";
        System.out.println(s.substring(2,7));//aorun
    }

String的转换功能:
	public byte[] getBytes():						把字符串转换为字节数组。
	public char[] toCharArray():					把字符串转换为字符数组。
 public static void main(String[] args) {
        String s="zhaorunfa";
        System.out.println(s.toCharArray());
    }
	public static String valueOf(char[] chs):			把字符数组转成字符串。
	public static String valueOf(int i):				把int类型的数据转成字符串。
		注意:String类的valueOf方法可以把任意类型的数据转成字符串。
	public String toLowerCase():					把字符串转成小写。
	public String toUpperCase():					把字符串转成大写。
 public static void main(String[] args) {
        String s="zhaorunfa";
       System.out.println(s.toUpperCase().toLowerCase());//对象的方法连调。
    }
	public String concat(String str):					把字符串拼接。
public static void main(String[] args) {
        String s="zhaorun";
        System.out.println(s.concat("fa"));
    }
String类的替换功能:
	public String replace(char old,char new)			将指定字符进行互换
	public String replace(String old,String new)		将指定字符串进行互换
 public static void main(String[] args) {
        String s="zhaorunao";
        System.out.println(s.replace("ao","!"));
    }
String的去除字符串两空格
	public String trim()							去除两端空格
public static void main(String[] args) {
        String s="  zhaorunao   ";
        System.out.println(s.trim());//去除中间空格可以用repalce()方法,而去除左边空格或者右边空格可以用正则表达式。
    }
String的按字典顺序比较两个字符串
	public int compareTo(String str)    会对照ASCII 码表 从第一个字母进行减法运算 返回的就是这个减法的结果
	如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果
 public static void main(String[] args) {
        String s="abc";
        System.out.println(s.compareTo("abc"));
        //返回的结果为0,因为他是按照ASCII码值进行减法运算,
        //要是两个字符串的字面值一样的话,那么他们各个字符的ASCII值肯定相等,
        //运算结果也就是0,返回值若不是0的话,那么表明两个字符串字面值不相等
    }

	如果两个字符串一摸一样 返回的就是0
	public int compareToIgnoreCase(String str)    忽略大小写的比较 
	这个方法忽略大小写的比较,如果说“abc”与“ABC”用这个方法比较的话,返回值也是0。		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值