Java 流程控制
Scanner 对象
new一个Scanner方法 用于接收键盘数据:
Scanner scanner = new Scanner(System.in);
next() nextLine()
//判断用户有无输入字符串
//next()有效字之前的空格全部删除,输入的字符中不能存在空格
if(scanner.hasNext()){
String str = scanner.next();
System.out.println("输入的内容为:"+str);
//hasNextLine:输入的内容不会以空格结束 以enter结束
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
next():
一定要得到有效字符才能可以是结束输入,对输入有效字符前的空格会自动删除,不能得到带有空格的字符串
nextLine
以enter为结束符,也就是说,nextLine方法返回的是输入回车之前的所有字符、可以获得空白字符。
Scanner方法是IO流方法,使用之后一定要记得关闭
scanner.close();
用scanner来判断输入的数据是否为整型或者小数
package com.xiaoluo.scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//使用scanner方法获取键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:");
int i =0;
float f =0.0f;
if(scanner.hasNextInt()){//判断输入的数据是否是整型数据
i = scanner.nextInt();//将获取的数据赋值给i
System.out.println("这个整数为"+i );
}
else {//如果输入的数据不是整型数据就输出“输入的不是整型数据”
System.out.println("输入的不是整型数据");
}
System.out.println("请输入小数:");
if(scanner.hasNextFloat()){//判断是否为小数
f = scanner.nextFloat();//赋值
System.out.println("这个小数为"+f );
}
else {
System.out.println("输入的不是float型数据");
}
scanner.close();
}
}
scanner实用用例
输入多个数字,求出他们的总和与平均数,每输入一个数字用enter确认,通过输入非数字来结束输入并得出输出结果。
package com.xiaoluo.scanner;
import java.util.Scanner;
public class Dmeo05 {
public static void main(String[] args) {
//我们可以输入多个数字,并求他们的总和与平均数,每输入一个数字用回车确认 通过输入非数字来结束输入并输出结果
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要计算的数");
//和
double sum =0;
//输入的数字个数
int m = 0;
while (scanner.hasNextDouble())//循环输入数据
{
double x = scanner.nextDouble();//将输入的数数据赋值给double型的x
m = m+1;//输入的数字个数加一
sum = sum +x;//输入的数据相加
System.out.println("你输入了第"+m+"个数据当前结果sum="+sum);
}
System.out.println("你一共输入了"+m+"个数据他们的和为"+sum);
System.out.println("这些数的平均值为"+sum/m);
scanner.close();
}
}
顺序结构
java的基础结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。
package com.xiaoluo.struct;
public class ShunXuDemo {
public static void main(String[] args) {
System.out.println("Hello,world1");
System.out.println("Hello,world2");
System.out.println("Hello,world3");
System.out.println("Hello,world4");
System.out.println("Hello,world5");
}
}
选择结构
if选择结构
判断一个东西是否可行,然后我们才去执行,这样的程序我们用if语句来执行
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
package com.xiaoluo.struct;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入暗号:");
String x =scanner.nextLine();
if(x.equals("hello")){//判断输入的值x是否为hello
System.out.println(x);
}
System.out.println("end");
scanner.close();
}
}
if双选择结构
给出一个悬念,如果怎么样那么怎么样,否则怎么样
语法
if(布尔表达式){
//如果布尔表达式为真
}
else{
//如果布尔表达式为假
}
package com.xiaoluo.struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的分数:");
int score =scanner.nextInt();
if(score>=60){//判断分数是否大于60分
System.out.println("成绩已及格为:"+score);//大于60输出
}
else{//判断语句为假则输出else的语句
System.out.println("成绩不及格为:"+score);
}
scanner.close();
}
}
if多选择结构
在生活中我们的选择往往不只有两种,存在区间多级判断,所以我们需要一个多选择结构来处理这类问题。
语法:
if(布尔表达式1){
//1 为true
}
else if(表达式2){
//2 为true
}
else if(表达式3){
//3 为true
}
else{
//以上表达式都不为ture
}
package com.xiaoluo.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
int score = scanner.nextInt();
if(score>=90 && score<=100){//判断score大于90小于100
System.out.println("优秀");
}
else if(score<90 && score>=80){
System.out.println("良好");
}
else if(score<80 && score>=60){
System.out.println("及格");
}
else if(score<60 && score>=0){
System.out.println("不及格");
}
else {//如果以上选择全都没有则输出该语句
System.out.println("不合法");
}
}
}
嵌套的if结构
语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
本文介绍了Java中的流程控制概念,包括顺序结构、选择结构等,并详细解析了Scanner类的使用方法,例如如何读取不同类型的输入数据以及如何判断输入的有效性。
323

被折叠的 条评论
为什么被折叠?



