1.控制流程1
1.Scanner对象
Scanner s = new Scanner(System.in);
1.学习的基础语法中我们没有实现程序和人的交互但是Java给我们
提供了这样一个工具类我们获取用户的输入. java.util.Scanner 是
Java5 的新特性,Scanner
2.next 和nextLine
1.Next
1.一定要读取到有效的字符才可以输入
2.对输入有效字符之前遇到的空白,Next()方法会只动将其去掉
3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
4.Next()不能得到带有空格的字符串
package com.Java.控制流程;
import java.util.Scanner;
public class Demo19 {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘的数据
Scanner scanner = new Scanner(System.in);
//快捷键Alt Enter
System.out.println("请使用next方式输入");
//判断用户还有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String sts =scanner.next();//等待输入
//输入一个字符串保存在sts中
System.out.println("请输入内容:"+sts);
}
scanner.close(); //关闭IO流
} // System.out 表输出
} // System.in 表输入
2.NextLine
1.以Enter 为结束符,也就是说nextline()方法是输入回车之前的所有的字符
2.可以是空格
package com.Java.控制流程;
import java.util.Scanner;
public class Demo20 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//快捷建 new了对象以后直接.var自动生成返回值
System.out.println("请用nextline输入");
if (scanner.hasNextInt()) {
String Str =scanner.nextLine();
}
scanner.close();
}
}
3.Next NextLine
练习一
package com.Java.控制流程;
import java.util.Scanner;
public class Demo21 {
public static void main(String[]args){
Scanner scanner = new Scanner(System.in);
int A =0;
float B = 0.0F;
System.out.println("请输入整数");
if (scanner.hasNextInt()) {
A = scanner.nextInt();
System.out.println("输出整数"+A);
}else{
System.out.println("请输入的不是整数;"+A);
}
if (scanner.hasNextFloat()) {
B = scanner.nextFloat();
System.out.println("输出小数" + B);
}else
System.out.println("输出的不是小数 + B");
scanner.close();
}
}
4.练习二 **
package com.Java.控制流程;
import java.util.Scanner;
public class Demo22 {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数
Scanner scanner = new Scanner(System.in);
double sum = 0; //和
int m =0; //计算输入多少个数字
System.out.println("请输入整数");
while(scanner.hasNextDouble()) {
double x = scanner.nextDouble();
m++;//m=m+1
sum=sum+x;
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close();
}
}
3.顺序结构
1.语句与语句之间从上到下顺序进行,
4.选择结构
1.if 单选择结构
package com.Java.控制流程;
import java.util.Scanner;
public class Demo23 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容");
String txt =scanner.nextLine();
if (txt.equals("Hello")){ equals//判断是否字符串相等
System.out.println(txt);
}else System.out.println("输出的不是Hello");
scanner.close();
}
}
2.if双选择结构
package com.Java.控制流程;
import java.util.Scanner;
public class Demo24 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x =scanner.nextInt();
if (x >60){
System.out.println("及格");
}else
System.out.println("不及格");
scanner.close();
}
}
3.if多选择结构
package com.Java.控制流程;
import java.util.Scanner;
public class Demo25 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
if (score>90 && 100>=score){
System.out.println("A");
}else if (score>80 && 90>score) {
System.out.println("B");
}else if (score>70 && 80>score){
System.out.println("C");
}else if (score>60 && 70>score) {
System.out.println("擦边球");
}else if (score<60 && score>=0) {
System.out.println("不及格");
}else
System.out.println("成绩不和法");
scanner.close();
}
}
if语句至少一个 else语句,else语句在所有的 else if语句之后
if 语句可以有若干个else if语句 ,他们必须在else语句之前
一旦其中一个else if 语句检测为 true ,其他的else if 以及else语句都将
跳过执行
4.switch 多选择结构
-
switch case 语句判断一个变量 与一系列中某个值是否相等,每个值称为一个分支
-
类型 可以是 int . char . short .byte
-
从 Java SE7 开始
-
switch 支持字符串 String 类型了
-
同时 case 标签必须为字符串常量或字面量
package com.Java.控制流程;
public class Demo26 {
public static void main(String[] args) {
char sum = 'A';
switch (sum){
case 'A'://case 进行判断
System.out.println("优秀");
break;
case 'B':
System.out.println("及格");
break;
case 'C':
System.out.println("良好");
break;
}
} // case 有穿透的能力
// break 有中止穿透的能力
} // switch 和case进行匹配 ,匹配会输出匹配上的5.switch 字符串的比较
package com.Java.控制流程;
public class Demo27 {
public static void main(String[] args) {
String name = "牛逼";
switch(name){
case "牛马":
System.out.println("牛马");
break;
case"牛逼":
System.out.println("牛逼");
break;
}
}
} //反编译 ***
5.循环结构
1.while循环
1.只要布尔表达式为true,循环就会一直执行下去
2.如果我们想让表达式停止下来 ,可以输入一个失效表达式来结束
3.少部分情况需要循环一直执行
4.循环条件一直为true就会无线循环 系统容易卡死崩溃
package com.Java.控制流程;
public class Demo28 {
public static void main(String[] args) {
int i=0;
while(i<100) {
i++;
System.out.println(i);
}
}
}
public class Demo29 {
public static void main(String[] args) {
//计算1加到100
int i = 0;
int sum = 0;
while (i <=100) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
2.do.....while循环
对于while语句而言,如果不满足条件,则不能进入循环
do .....while 循环和while 循环相似
不同的是do .....while循环至少循环执行一次
package com.Java.控制流程;
public class Demo30 {
public static void main(String[] args) {
int a =0 ;
do {
System.out.println(a);
}while (a < 0) ;//输出0
}
}
3.区别
1.while 先判段在执行 dowhile先执行后判断