持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天
Scanner
初识scanner
scanner是一个基于正则表达式的文本扫描器。
scanner主要提供了两个方法来扫描输入:
->hasNextXxx():判断是否含有下一个输入项,其中Xxx可以是Int,Long等基本数据类型。 如果只是判断是否含有下一个字符的话,直接hasNext()。
->nextXxx():获取下一个输入项,相当于c语言里的scanf。
next()与nextline()的区别
next()
- 只有读入有效字符的时候才会开始
- 对于输入有效字符前的空格,会自动将其删除。
package DemoTest;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
// next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if (scan.hasNext()) {
String str1 = scan.next();
System.out.println("输入的数据为:" + str1);
}
scan.close();
}
}
nextline()
- 可以读入空格
- 以enter键结束
- nextline是读入字符的
package DemoTest;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
// nextLine方式接收字符串
System.out.println("nextLine方式接收:");
// 判断是否还有输入
if (scan.hasNextLine()) {
String str2 = scan.nextLine();
System.out.println("输入的数据为:" + str2);
}
scan.close();
}
}
->useDelimiter(String pattern):括号里可以是\n,也可以是一些字符串。
Scanner只需要定义一个scanner对象就可以反复使用。
final关键词
final关键词可以修饰类,变量和方法,用于表示它修饰的类,变量,方法不可变。
final修饰变量
*当final修饰实例变量时,必须显式指定初始值,且只能在定义时、实例初始化块、各构造器其中的一个位置指定。
*- 当final修饰类变量时,必须显式指定初始值,且只能在定义时、类初始化块其中的一个位置指定。
'那什么是类变量什么是实例变量呢,让我们来回顾一下'
成员变量即为定义在类里面的变量,分为实例变量跟类变量,也被称作全局变量
实例变量:实例变量也叫对象变量,即没加static 的变量;
类变量:类变量也叫静态变量,即在变量前加static 的变量;
final的宏替换
当变量满足以下条件时,该变量出现的所有地方将会被替换成变量的值:
- 变量有
final修饰 - 声明时指定了初始值
- 变量初始值可在编译时确定
`
final方法
final修饰方法指不允许被子类重写,避免该方法被子类破坏。
final修饰类
final修饰类以后该类不允许派生子类。