键盘录入数据
Jdk提供了一个Scanner: 文本扫描器类
做用: 可以提高程序灵活性,我们书写的变量可以直接使用Scanner类来键盘录入,不需要直接将变量写死!
文本扫描器使用步骤:
1)导包:用哪个一类,就需要导入到当前Java文件中(只要不是java.lang包下的类,都需要导入)
固定写法:
import java.util.Scanner; //用谁导谁
书写位置:在class的上面
2)固定格式:创建文本扫描器对象
Scanner 对象名 = new Scanner(System.in) ; //对象名:自己起名字
3)提示并录入数据 (默认录入int类型)
System.out.println("请您输入数据:") ;
int 变量名= 对象名.nextInt() ; //录入一个int类型的数据
4)完成自己的业务操作:使用这个变量名(求两个数据是否相等/比较数据最大值等等...)
eg:
import java . util . Scanner ;
class ScannerDemo {
public static void main ( String [] args ) {
Scanner sc = new Scanner ( System . in ) ;
System . out . println ( " 请您输入一个数据 " ) ;
int num = sc . nextInt ( );
System . out . println ( " 您输入的数据是:" + num ) ;
}
}
关于键盘录入数据的细节
1)录入两个int类型,分别输出
2)录入两个String类型(字符串),分别输出 "hello"
3)先录入一个String,在录入int,分别输出值
4)先录入int,在录入String,分别输出
存在问题:字符串数据没有值
先录入int,在录入String----->
Scanner类:nextLine():录入字符串,录入整行数据,
当录入完int之后,按回车之后,"回车符号"的原因,
"回车符号"本身就是字符数据,导致字符串数据并没有录入,而是空行
正式用法: nextLine()
解决方案:
1)可以使用next()录入
2)在使用nextLine()方法,重新创建键盘录入数据对象
三元运算符:
int max = ( firstNum > secondNum) ? firstNum : secondNum ;
eg: 嵌套
int max3 = ( x > y) ? ((x>z)?x:y) : ((y>z)?y:z) ;
流程控制语句的三个分类:
1. 顺序结构语句 ;
2. 选择结构语句 ;
3. 循环结构语句 ;
1. 顺序结构语句 :
当进入到类中之后,jvm调用main方法,代码由上而下依次加载
除非一种特例:当jvm退出了就不会进行执行了!
后期System类中有一个功能:exit(int status) 参数里面为0,表示正常终止jvm
eg:
class ShunXuDemo{
public static void main(