您的位置:首页 > 编程语言 > Java开发

跟着姜少学Java基础编程之五:Scanner、Random、String

2017-10-10 22:05 435 查看
本篇主要介绍Java语言中几个常用的工具类。

Scanner、Random、String简介

JavaAPI中,提供了许多非常有用的工具类,在此,我们介绍几个常用的工具类,以方便后面知识的学习。

Scanner类主要是从控制台(Console)接收用户输入的。

Random类主要是用来产生随机数的。

String类是对字符串进行操作的类。

5.1 Scanner类

Scanner类用来从控制台(Console)接收用户输入的内容,以便与用户产生交互。该类可以接收用户输入的字符串、整数、浮点数、布尔类型等常用的数据类型。

5.1.1 Scanner的使用方法

//首先声明并创建Scanner对象
Scanner scan = new Scanner(System.in);
//然后调用scan的nextXxxx()方法获取用户输入
int age = scan.nextInt();//接收用户输入的整型数据


注意:

Scanner类属于java.util包下的工具类,如果没有import该类,会出现编译错误,eclipse中快速导入该包的方法是将光标放在该类名,会出现提示,点击import即可,如下图所示:



下面代码实现了用户输入姓名后,程序对用户打招呼的功能。

public static void main(String[] args) {
//声明并创建Scanner对象
Scanner scan = new Scanner(System.in);
//提示用户输入信息
System.out.println("请输入您的姓名:");
//获取用户输入的信息
String name = scan.nextLine();
System.out.println(name+",您好!");
}


运行该程序后,在控制台(console)中出现提示信息后,从键盘输入姓名,绿色字体代表输入的信息,敲回车即可完成输入,紧接着会输出欢迎信息。如下图:



5.1.2 Scanner常用方法

nextLine()  //获取用户输入的一行字符串
nextInt()   //获取用户输入的整型数
nextLong()  //获取用户输入的长整型数
nextFloat() //获取用户输入的单精度浮点数
nextDouble() //获取用户输入的双精度浮点数
nextBoolean() //获取用户输入的布尔型数据


5.1.3 Scanner使用注意事项

Scanner的使用过程中应注意如下事项:

1)在使用nextXxx()方法获取用户输入之前,需要输出一条提示信息,告诉用户需要输入什么信息

2)Scanner的nextXxx()方法是堵塞的,也就是说,当程序执行到这一行时,会中断,一直等到用户完成输入后,才恢复继续往下执行。

3)用户键盘输入完成的标志是回车键

4)如果需要用户一次性输入多个数据,可以使用空格隔开,完成后敲回车,代码中依次使用nextXxx()方法来依次获取输入的数据,可以一次输入不同类型的数据。

5)当Scanner对象的输入流是System.in的时候,不需要调用Scanner的colse()方法,防止下面的创建Scanner对象时,输入流System.in连接失败

5.2 Random随机数

Random类主要用于产生随机数,java.util包下(当然Math包中也有Random类,大同小异)。

Random产生的随机数属于伪随机数,也就是说,看起来像是随机数,但本质上并不是真正的随机数。

5.2.1 Random的使用

Random对象的声明与创建:

Random random = new Random();

常用的方法有

nextInt(n);//随机生成[0,n)范围内的整数,包括0,但不包括n,n>0
nextDouble();//随机生成[0.0,1.0)之间的浮点数


5.2.2 Random示例

1)随机生成 [0,100) 之间的整数

public static void main(String[] args) {
//声明并创建Random对象
Random random = new Random();
//获取随机产生的整数范围在[0,100)内
int ran = random.nextInt(100);
System.out.println(ran);//输出90(注:每个人每次运行的结果不同,随机嘛)
}


2)随机生成[-3,3)

public static void main(String[] args) {
//声明并创建Random对象
Random random = new Random();
//获取随机产生的整数范围在[-3,3)内
int ran = random.nextInt(6)-3;
}


5.3 String类处理字符串

Java中String类用来处理字符串,字符串是由多个字符组成的,每个字符都有一个索引序号,索引是从0开始的

String类中常用的方法如下:

trim()//去除字符串首尾两端的空格
indexOf(str)//返回str字符在字符串中第一次出现的索引值
charAt(n)//返回索引n位置上的字符
substring(n)//返回从索引n开始到字符串结束的子串
substring(n1,n2)//返回从索引n1开始,到n2(不包括n2)之间的子串
equals(str)//判断字符串是否与str相等,相等返回true,不等返回fasle
equalsIgnoreCase(str)//判断字符串是否与str相等(不区分大小写)
split(exp)//根据exp来拆分字符串,返回拆分后的字符串数组


应用如下:

String str = "abcdabcd ";
System.out.println(str.trim());//输出abcdabcd
System.out.println(str.indexOf("bc"));//输出1,即bc第一次出现在str中的位置
System.out.println(str.charAt(3));//输出d,从0开始,索引3的字符为d
System.out.println(str.substring(2));//输出cdabcd ,从索引2即c开始到字符串结束的子串
System.out.println(str.substring(2, 4));//输出cd
String str2 = "hello";
System.out.println(str2.equals("hello"));//输出true
System.out.println(str2.equals("Hello"));//输出false
System.out.println(str2.equalsIgnoreCase("Hello"));//输出true
String str3="CHN,USA,GBK";
String [] country = str3.split(",");//根据,来分割子串,数组的概念后面会介绍


下一篇将介绍Java中的选择结构if分支语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息