java流程控制
1.3 java的流程控制
1.3.1 Scanner输入学习
-
字符的输入
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("输入:");
if(scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println(str);
}
scanner.close;
}
}
-
hasNextLine和hasNext
作为下面的判断
-
nextLine和next
有Line的是以enter作为判断结束没有的要加上空格
即空格后面的字符不能输出
-
数字的输入
-
各种数字都类似如下
import java.util.Scanner;
public class Demo04 {
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();
sum+=x;
m++;
}
System.out.println("输入的数总和为:"+sum);
System.out.println("平均为:"+(sum/m));
scanner.close();
}
} -
1.3.2流程控制语句学习
-
顺序结构
即一步一步往下执行
-
选择结构
-
单选择结构
if(判断条件){
执行语句
} -
双选择结构
if(){
}else{
} -
多选择结构
if(){
}else if(){
}else if(){
} -
switch选择结构
public static void main(String[] args) {
String s1="haha";
switch(s1){
case "haha":
System.out.println("haha");
break;
case"xixi":
System.out.println("xixi");
break;
case"huhu":
System.out.println("huhu");
break;
}
}//case具有穿透性,如果执行到haha是后面遇不到break,则会执行后面的所有语句
//switch是在jdk1.7之后才支持String字符串判断的特性
-
-
循环结构(避免死循环)
-
while循环
while(布尔表达式){
//执行语句
} -
do...while循环
do{
//执行语句
}while(布尔表达式)
//与while的区别是,该结构至少循环一次,而while可以一次都不执行 -
for循环
for( 初始化; 布尔表达式; 更新){
//代码语句
}
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j));
System.out.print(" ");
}
System.out.println();
}
}//乘法口诀表 -
增强for循环