java 顺序、选择、循环;99乘法表;for、continue、goto;打印三角形及Debug

java 顺序、选择、循环;99乘法表;for、continue、goto;打印三角形及Debug,第1张

java 顺序、选择、循环;99乘法表;for、continue、goto;打印三角形及Debug 顺序结构
  • java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构

  • 语句语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

package com.zhang.struct;

public class ShunXunDemo {
    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");
        
    }
}
选择结构
  • if单选择

    package com.zhang.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();
            //s.equals:判断字符串是否相等
            if (s.equals("hello")){
                System.out.println(s);
    
            }
            System.out.println("End");
            scanner.close();
        }
    }
    
    

    请输入内容:
    hello
    hello
    End

  • if双选择 if(){}else{}

    package com.zhang.struct;
    
    import java.util.Scanner;
    
    public class IfDemo02 {
        public static void main(String[] args) {
            //考试分数大于60及格,小于60 不及格
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入成绩:");
            int score=scanner.nextInt();
    
            if (score>60){
                System.out.println("及格");
            }else {
                System.out.println("不及格");
            }
    
            scanner.close();
        }
    }
    

    请输入成绩:
    80
    及格

  • 嵌套if多选择

    if(){}

    else if(){}

    else if(){}

    else

    public class IfDemo03 {
        public static void main(String[] args) {
            //考试分数大于60及格,小于60 不及格
            Scanner scanner=new Scanner(System.in);
            
            System.out.println("请输入成绩:");
            int score=scanner.nextInt();
            if (score==100){
                System.out.println("恭喜满分!");
            }else if (score<100 && score>=90) {
                System.out.println("A级");
            }else if (score<90 && score>=80) {
                System.out.println("B级");
            }else if (score<80 && score>=70) {
                System.out.println("C级");
            }else if (score<70 && score>=60){
                System.out.println("D级");
            }else if (score<60 && score>=0) {
                System.out.println("不及格");
            }else{
                System.out.println("成绩不合法");
            }
    
            scanner.close();
        }
    }
    
    

    请输入成绩:
    96
    A级

  • 嵌套的if结构

    if(){

    if(){}

    }

  • switch多选择结构

    switch case语句判断一个变量与一系列值中某个值是否相等,每个值为一个分支。

​ switch语句中的变量类型可以是:

​ byte、short、int、或者char

​ 从java SE开始,开始支持String类型了

​ 同时 case标签必须为字符串常量或者字面量

switch(){

​ case value:

​ //语句

​ break;//可选

​ case value:

​ //语句

​ break;//可选

​ case value:

​ //语句

​ break;//可选

​ default://可选

​ //语句

}

public class SwitchDemo01 {
    public static void main(String[] args) {
        // 不写 break 会出现 case穿透
        char grade='F';
        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;//可选
            case 'B':
                System.out.println("良好");
                break;//可选
            case 'C':
                System.out.println("及格");
                break;//可选
            case 'D':
                System.out.println("再接再厉");
                break;//可选
            case 'E':
                System.out.println("挂科");
                break;//可选
            default:
                System.out.println("未知等级");
        }
    }
}

反编译

package com.zhang.struct;

public class SwitchDemo02 {
    public static void main(String[] args) {

        //JDK的新特性,表达式结果可以是字符串
        //字符的本质还是数字
        //反编译 java---class(字节码文件)---反编译(IDEA)
        String name="狂神";

        switch (name){
            case "秦疆":
                System.out.println("秦疆");
                break;
            case "狂神":
                System.out.println("狂神");
                break;
            default:
                System.out.println("弄啥嘞!");
        }
    }
}

1.先找到 结构 找到class文件的 存贮路径

2.在idea中 右击当前 包,找到show in explore ,将上一步找到的class文件 复制 粘贴到 当前 java文件 中

3.在在 idea 中 打开class 文件 即可完成 反编译

循环结构
  • while循环

    while(){}

    public class WhileDemo01 {
        public static void main(String[] args) {
            //输出1-100
            int i =0;
            while (i<100){
                i++;
                System.out.println(i);
            }
        }
    }
    
    public class WhileDemo02 {
        public static void main(String[] args) {
            //死循环
            while (true){
                //等待客户端连接
                //定时检查
                //。。。。。。。
            }
        }
    }
    
    public class WhileDemo03 {
        public static void main(String[] args) {
            //计算1+2+3+。。。+100=?
            int i=0;
            int sum=0;
            while (i<=100){
                sum=sum+i;
                i++;
            }
            System.out.println(sum);
        }
    }
    
  • do…while循环

    循环至少会执行一次

    public class DoWhileDemo01 {
        public static void main(String[] args) {
            int i=0;
            int sum=0;
            do {
                sum=sum+i;
                i++;
            }while (i<=100);
    
            System.out.println(sum);
        }
    }
    

    和do-while的区别:

    while先判断后执行。do-while是先执行后判断

    do-while总是保证循环体会被至少执行一次。

    public class DoWhileDemo02 {
        public static void main(String[] args) {
            int a=0;
            while (a<0){
    
                System.out.println(a);
                a++;
            }
            System.out.println("========");
            do {
                System.out.println(a);
                a++;
            }while (a<0);
        }
    }
    
  • for循环

for(初始化;布尔表达式;更新){

//代码语句

}

支持 迭代 的一种通用结构

public class ForDemo01 {
    public static void main(String[] args) {
        int a=1;//初始化条件
        while (a<=100){//条件判断
            System.out.println(a);//循环体
            a+=2;//迭代
        }
        System.out.println("while循环结束");
        //初始化值;条件判断;迭代
        for (int i=1;i<=100;i++){  //快捷键  100.for  自动生成
            System.out.println(i);
        }
        System.out.println("for循环结束");
    }
}

public class ForDemo02 {
    public static void main(String[] args) {
        //练习1:计算0-100之间的奇数和偶数的和
        int oddSum=0; //奇数的和
        int evenSum=0;//偶数的和
        for (int i = 0; i < 100; i++) {
            if (i%2!=0) {//奇数
                oddSum += i;
            }else { //偶数
                evenSum+=i;
            }
        }
        System.out.println("奇数的和"+oddSum);
        System.out.println("奇数的和"+evenSum);
    }
}
public class ForDemo03 {
    //练习2:循环输出1-1000之间能被5整除的数,并且每行输出3个
    public static void main(String[] args) {
        for (int i = 0; i <= 1000; i++) {
            if (i%5==0){
                System.out.print(i+"t");   //println 输出完会换行
                                            //print 输出完不会换行
            }
            if (i%(5*3)==0){//整除15 第三个数字了    换行
                System.out.println();//换行
                //System.out.println("/n");换行
            }
        }
    }
}

//println 输出完会换行
//print 输出完不会换行

99乘法表
public class ForDemo04 {
    public static void main(String[] args) {
        for (int j = 1; j <= 9; j++) {
            for (int i = 1; i <= j; i++) {
                System.out.print(j+"*"+i+"="+(j*i)+"t");
            }
            System.out.println();
        }
    }
}

11=1
2
1=2 22=4
3
1=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
6
1=6 62=12 63=18 64=24 65=30 66=36
7
1=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81

增强 for循环
import javax.xml.transform.dom.DOMResult;
public class ForDemo05 {
    public static void main(String[] args) {

        int [] numbers={10,20,30,40,50};// 定义了一个数组

        for (int i=0;i<5;i++){
            System.out.println(numbers[i]);
        }
        System.out.println("==============");
        //遍历数组元素  x每次循环从里面取值
        for (int x:numbers) {
            System.out.println(x);
        }
    }
}

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 4 at com.zhang.struct.ForDemo05.main(ForDemo05.java:10)

这是数组越界 提醒 注意 定义的数组 不要 越界

break continue
  • break在任何循环语句的主体部分,均可用break控制循环流程,break用于强行退出循环,不执行循环中剩余的语句(也可用在switch语句中)

    public class BreakDemo01 {
        public static void main(String[] args) {
            int i=0;
            while (i<100){
                i++;
                System.out.println(i);
                if(i==30){
                    break;
                }
            }
            System.out.println("程序还在执行ing");// break 只是跳出 循环 并未 终止程序 
        }
    }
    
  • continue语句用于用在循环语句中,终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

public class ContinueDemo01 {
    public static void main(String[] args) {
        int i=0;
        while(i<100){
            i++;
            if(i%10==0){
                System.out.println();
                continue;
            }
            System.out.print(" "+i);
        }
    }
}

1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
21 22 23 24 25 26 27 28 29
31 32 33 34 35 36 37 38 39
41 42 43 44 45 46 47 48 49
51 52 53 54 55 56 57 58 59
61 62 63 64 65 66 67 68 69
71 72 73 74 75 76 77 78 79
81 82 83 84 85 86 87 88 89
91 92 93 94 95 96 97 98 99

goto

判断质数 可以 掌握 其他的 可以 了解

public class LAbelDemo {
    public static void main(String[] args) {
        //打印 101-150之间所有的质数
        //质数 是指 在大于1的自然数中 ,除了1和它本身以外 不再有其他因数的自然数。
        int count=0;
        // 不建议使用 
        outer:for (int i=101;i<150;i++ ){
            for( int j=2;j 
打印 杨辉三角 及Debug 
public class TestDemo01 {
    public static void main(String[] args) {
        //打印三角形  5行
        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 

可以利用 debug来 加强理解 三角形的 理解

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5696926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)