Java 顺序流程控制

Java 顺序流程控制

没有特殊的代码 顺序从上到下 最基本的顺序结构

 

选择结构

if

需要判断一个东西是否可行才去执行

//if( )括号内的boolean值为true 运行 ......

if(条件boolean值){

......

}

​
import java.util.Scanner;
​
public class Conditions {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine(); //用户输入存入 str
        //判断是否输出等都Happy 如果相等输出 str 不相等直接跳过
        if (str.equals("Happy")){ //String 判断是否相同用 equals 而不是==
            System.out.println(str);
        }
        scanner.close();
    }
}

条件嵌套

if(条件){

if(条件){

........

}

}

if - else

只会执行其中一个 不 判断句为true 执行 if 里的 程序 否则执行else 里的程序

​
import java.util.Scanner;
​
public class Conditions {
    public static void main(String[] args) {
        int a =68;
        
        if (a>=60){ //判断
            System.out.println("及格"); 
        }
        else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

if - else if -else if ....... else

只有一个代码被执行: if 没有执行 会继续判断 else if 直到 else if 全部判断为 false 运行else里的代码。 中间一旦有true 就值运行 里面的代码.

if else 可以无限增多用来增加判断

import java.util.Scanner;
​
public class Conditions {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int point = scanner.nextInt(); //用户输入存入 point
        if (point>=0&&point <100) //如果为true 运行打印A直接跳过其他判断
            System.out.println("A"); 
        }
        else if(point>=80&&point<90){//如果为true 运行打印B直接跳过其他判断
            System.out.println("B");
        }
        else if(point>=70&&point<80){//如果为true 运行打印C直接跳过其他判断
            System.out.println("C");
        }
        else if(point>=60&&point<70){//如果为true 运行打印D直接跳过其他判断
            System.out.println("D");
        }
        else{
            System.out.println("F"); //以上都不满足为F
        }
        
        
        scanner.close();
    }
}

switch

switch(expression){
    case value:   //比较expreesion和value是否相等
         ......   //相等运行此处代码
             break;
    case value:
        ......
            break;  //break 不写会进行穿透 所有下面代码都会运行
    case value:
        ......
            break;
    case value:
        ......
            break;
    case value:
        ......
            break;   
    default:     //以上case都不满足运行default  也可以不写
        ......
}
​
int a = 3;
​
switch(a){
    case 1:
        ....
            break;
        
    case 2:
        ....
             break;
    case 3:  //这个情况只会运行 case 3
        ....
             break;
    case 4:
        ....
             break;
    case 5:
        ....
            break;
    default:
        ....
         
}

JDK 7 之后就可以 比较String了

String 可以比较是因为 直接将对应String 转换成 哈希值来比较 hashCode 通过 class 文件进行反编译就可以发现, String.hashCode 从而获得 int类型的数字 来进行数字比较

 

循环

while

while(boolean){  //Ture 就一直运行 
    ....
}

简单例子 输出1 - 50

public static void main(String[] args) {
     int i = 0;
    while(i<50){
        System.out.println(i);
        i++;   //用来停止循环
    }   
}

从1 加到1000

public static void main(String[] args) {
    int i = 0;
    int sum =0;
    while(i<1000){
        sum = sum + i; // 不断的sum自己和i的值
        i++;  
    }  
    System.out.println(i);
}
  

do-while

do while 一定会执行一次 先执行再判断

public static void main(String[] args) {
    int i = 0;
    int sum =0;
    do{
        sum = sum + i; // 不断的sum自己和i的值
        i++;  
    }
    while(i<1000)
       
    System.out.println(i);
}

for

最有效的循环结构

100.for 再idea 中会自动生成100 次的循环

 

for的格式

for(初始化;布尔值;更新迭代){

....

}

从1 加到1000

public static void main(String[] args) {
    
    int sum =0;
    
    for(int i = 0; i < 1000; i++){ //一共运行1000次
        sum = sum+i;
    }
       
    System.out.println(i);
}
​
​
for(;;;){  //死循环
    
}

//通过for的嵌套打印99 乘法表

public static void main(String[] args) {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j < i; j++) {
            System.out.print(i+ "*" +j+ "="+(i*j));
        }
        System.out.println();
​
    }
}
 
//增强for循环  用于遍历数组
 int[] number = {10,12,13,14,15};
 for(int x :number){ //没一次循环number的赋值给x
       System.out.println(x); //直接遍历所有元素
 }

break

直接终止循环

在循环体里 可以强行终止整个循环-----》 跳出循环

continue

跳过continue后的循环体 -----》直接进入下一次循环

goto

已经不用了。 现在用来标记

outer:来标记用

continue outer:来到达标记处(outer处)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值