Java控制流程
1、顺序结构
按代码的顺序执行。
例子:
public class Hello{
public static void main(String[] args){
System.out.println("1");
System.out.println("2");
}
}
/*
运行结果为
1
2
*/
2、选择结构
选择结构有if,else if,else和switch…case
根据是否满足条件,执行那个路径。
例子:
public class Test{
public static void main(String[] args){
int a=100;
if(a>=100){
System.out.println("1");
}else if(a>=50){
System.out.println("2");
}else{
System.out.println("3");
}
switch(a){
case 100:
System.out.println("优秀");
break;
case 50:
System.out.println("一般");
break;
default:
System.out.println("我一定执行");
}
}
}
3、循环结构
while,do…while,for,for(item:items)
while:满足循环条件就执行,不满足就退出循环。
do…while:不管是否满足循环条件,都先执行一次。
for:与while功能一样,不过更高效。
for(item:items):用于遍历数组。
while例子:
public class Test{
public static void main(String[] args){
int a=1;
while(a<=10) {
System.out.println(a);
a++;
}
}
}
do…while例子:
public class Test{
public static void main(String[] args){
int a=1;
do{
System.out.println(a);
a++;
}while (a<=10);
}
}
for例子:
public class Test{
public static void main(String[] args){
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
for(item:items)例子:
public class Test{
public static void main(String[] args){
int[] nums={1,2,3,4,5,6,7,8,9,10};
for (int num : nums) {
System.out.println(num);
}
}
}
5、break&continue
break:是结束循环或结束分支判断。
continue:是跳出本次循环或者跳过当前分支判断。
6、用户交互Scanner
Scanner类是扫描器,用于用户交互的,用户可在控制台输入内容。
has的方法:用于判断是否还有内容。如 hasNext(),hasNextLine()等
获取内容的方法:next(),nextLine()等,与判断的has方法对应。
例子:
import java.util.Scanner;
public class Test{
public static void main(String[] args){
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
if(scanner.hasNext()){
String s = scanner.next();
System.out.println(s);
}
scanner.close();
}
}
7、例子
1、循环例子
import java.util.Scanner;
public class Test{
public static void main(String[] args){
// 遍历99乘法表
// for (int i = 1; i <= 9; i++) {
// for(int j=1;j<=i;j++){
// System.out.print(j+"*"+i+"="+(i*j)+"\t");
// }
// System.out.println();
// }
// 遍历等腰三角形
// for (int i = 1; i <= 5; i++) {
// for (int j=5;j>i;j--){
// System.out.print(" ");
// }
// for (int j=1;j<=i;j++){
// System.out.print("*");
// }
// for(int j=1;j<i;j++){
// System.out.print("*");
// }
// System.out.println();
// }
//打印1-100的数,每三个换行
for (int i = 1; i <= 100; i++) {
System.out.print(i+"\t");
// 每三个换行
if(i%3==0){
System.out.println();
}
}
}
}
2、Scanner例子
import java.util.Scanner;
public class Test{
public static void main(String[] args){
System.out.print("请输入价格:");
// 用户再控制台输入数据,计算其平均值和总和,输入的值不是数字时退出
Scanner scanner = new Scanner(System.in);
//总和sum
double sum=0.0;
//数字个数
int num=0;
while (scanner.hasNextDouble()){
double v = scanner.nextDouble();
num++;
sum+=v;
}
System.out.println("总价:"+sum);
System.out.println("平均值:"+(sum/num));
}
}