Java流程控制01
Scanner对象
前言
我们可以通过Scanner类来获取用户的输入(扫描输入文本)
基础语法:
Scanner scanner = new Scanner(System.in); //或者用一下形式+alt+回车 new Scanner(System.in);
1. next()
-
一定要读取到有效的字符后才可以结束输入。
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
package com.Ym.scanner; import java.util.Scanner; public class Demo05 { public static void main(String[] args) { /* 我们可以输入多个数字,并求其总和与平均数,没输入一个数字用回车确认 通过输入非数字来结束输入并输出执行结果 */ Scanner scanner = new Scanner(System.in); //和 double sum = 0; //计算输入了多少个数字 int m = 0; System.out.println("请你gkd输入数据:"); //通过循环判断是否还有输入,并在里面对每一次进行求和和统计 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m = m + 1;//++m sum = sum + x; System.out.println("你输入了第" + m + "个数据,然后当前结果总和=" + sum); } System.out.println(m + "个数的和为:" + sum); System.out.println(m + "个数平均值是:" + (sum / m)); scanner.close(); } }
2. nextLine()
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
-
可以获得空白
注:
-
每次使用完Scanner最好是在后面加一个结束句
scanner.close;
-
这一个Scanner是与用户键盘输入的数据进行交互的,一定要学会奥!
-
不用使用到if语句也照样可以的
3. Scanner 与语法的搭配使用
3.1 if
-
使用时多注意scanner.hasNextInt()与scanner.nextInt()区分开,一个是前置的条件,一个是输入的东西
-
if..else多练练
Scanner scanner = ner Scanner(System.in); //有这句才能与用户输入的数据进行交互 int i = 0; System.out.println("请输入数据:") if(scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("输出的数据是:" + i); }else{ System.out.println("您输出的数据不是xxx"); }
3.2 While
注:到这里已经能够进行一定的数据处理,继续加油。
-
当你怎么怎么样,如果你没这样,那么程序就将结束。
Java流程控制02
1.顺序结构
-
Java的基本结构即使顺序结构,除非特别指明,否则就按照顺序一句一句的执行。
-
顺序结构是最简单的算法结构。
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由所干个依次执行的处理步骤组成的。
-
顺序结构是任何一个算法都离不开的一种基本算法结构。
package com.Ym.struct; public class ShunXuDemo { public static void main(String[] args) { System.out.println("Hello1"); System.out.println("Hello2"); System.out.println("Hello3"); System.out.println("Hello4"); System.out.println("Hello5");//这就是顺序结构,任何算法都无法离开的 } }
2.选择结构(重点)
1. if单选择结构
-
很多时候需要判断一个东西是否可行,然后我们才能执行,这样的一个过程在程序中用if语句来表示
-
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
package com.Ym.struct; import java.util.Scanner; public class ifDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if(s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
2. if双选择结构
-
当有俩个需求需要判断时,就需要有一个双选择结构,即if+else结构
-
语法:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
3. if多选择结构
4. 嵌套的if结构
5. switch多选择结构
2022.9.9 周五
明天就中秋节啦,课题组今天晚上要一起出去聚餐,研三的师兄已经先走了,我也学不下去了哈哈,就先把博客发了,笔记后面欠的东西等中秋过后我会补上的嘿嘿。
今天又学了挺多东西的,这个Scanner类真神奇,Java确实还挺有趣的哈哈。
今天早上开了个无聊的会,不过感觉回到了大一,如果我现在是大一...哦不对我不想回去大一哈哈,毕竟好不容易才考上的研究生,再来一次可太痛苦了。
最后最后,中秋快乐,这个中秋一定是我最期待的中秋,YL要来,而且还要和好兄弟们一起出去烧烤,希望不要变成黄码哈哈哈。
继续加油把HYm!