顺序结构、选择结构及循环结构

     对于接下来的选择结构、循环结构我将以代码的形式展示给大家,让大家能够更加深刻的理解这些结构的联系与区别。

顺序结构

   JAVA的基本机构为顺序结构,除非特别指明,否则就按照顺序一句一句来执行,同样,顺序结构是最简单的算法结构。

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

选择结构

选择结构可大概分为两类:if选择结构和switch选择结构

  • if选择结构:

    1. if单选择结构

          public static void main(String[] args) {
              Scanner scanner = new Scanner(System.in);
              System.out.println("请输入内容");
              String s = scanner.nextLine();
              if (s.equals("hello")) {
                  System.out.println(s);
              }
              scanner.close();//强调关闭scanner,以便节省资源
          }
    2. if双选择结构

       public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
              System.out.println("请输入成绩");
              int i = scanner.nextInt();
              if(i < 60){
                  System.out.println("不及格");
              }else {
                  System.out.println("及格");
              }
              scanner.close();
          }
    3. if多选择结构

       public static void main(String[] args) {
              Scanner scanner = new Scanner(System.in);
              System.out.println("请输入:");
              int i = scanner.nextInt();
              if (i==100) {
                  System.out.println("满分");
              }else if(i >90 && i<100){
                  System.out.println("优秀");
              }else if(i <90 && i>80){
                  System.out.println("良好");
              }else{
                  System.out.println("及格");
              }
              scanner.close();
              //查找1---100的数,可以利用if(){if(){}}嵌套,将其分为1--50,50--100
          }
      • switch选择结构:

        public static void main(String[] args) {
                String grade="80";
                switch (grade){
                    case "90":
                        System.out.println("优秀");
                        break;//要注意一定要用break结束剩下的循环,否则很容易导致错误
                    case "80":
                        System.out.println("良好");
                        break;
                    case "70":
                        System.out.println("及格");
                        break;
                    default://还需要使用default作为结束字符
                        System.out.println("不及格");
                        break;
                }
            }

        同时,在学习选择结构中,我们也可以增加一个知识点,反编译,我们可以通过找到项目位置

        复制路径找到项目位置,复制编译好的class文件,如图利用Show in Explorer找到java代码位置

        找到位置后将复制好的class文件复制到相应的java同一目录下,就会在idea自动生成class文件,而且不会出现代码乱码等问题,比较好的可以利用这个方法进行反编译。

循环结构

  • while循环结构

    public static void main(String[] args) {
            int i=0;
            int sum=0;
            while(i < 100){
                i++;
                sum+=i;
            }
       System.out.println(sum);//注意此输出语句最好放在main()方法下,不要放入while()中
        }
  • do…while循环结构

    //根据如下代码清楚认识到while和do while循环的区别,也能更好理解这两个循环结构 
    public static void main(String[] args) {
            int i=0;
            int sum=0;
            while(i < 100){
                i++;
                sum+=i;
            }//while先判断后执行
            System.out.println(sum);
            do{
                i++;
                sum+=i;
            }while(i<=100);
            System.out.println(sum);//do while先执行后判断,至少执行一遍
        }
  • for循环

     public static void main(String[] args) {
            //求1-100的奇数和与偶数和
            int oddSum=0;//奇数
            int sum=0;//偶数
            for (int i = 1; i <=100; i++) {
                if (i % 2 != 0) {
                    oddSum += i;
                } else {
                    sum += i;
                }
            }
                System.out.println("奇数和为:"+oddSum);
                System.out.println("偶数和为:"+sum);
        }
  • 增强for循环

    public static void main(String[] args) {
            //增强循环
            //我们可以定义一个一维数组
            int[] array={10,20,30,40,50};
            for (int i = 0; i < 5; i++) {
                System.out.println(array[i]);
            }
            System.out.println("================");
            //增强循环,遍历了数组的元素
            for (int x: array){
                System.out.println(x);
            }//for(声明语句:代码块)
        }

对于我们所学到的循环结构,我们可以解决典型的九九乘法表的问题以及打印三角形的问题,其代码如下:

 //九九乘法表
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();
        }
        //1、我可以很容易输出一列的,利用1*i
        //2、同理,我们也可以利用j给其打包简单化,所以可以进行循环
        //3、我们发现循环有重复项,就利用i<=j得出不重复的项
        //4、但是想要美化,我们还得需要利用println()自动换行的性质,就可以得到我们的九九乘法表
    }
 //打印三角形
public static void main(String[] args) {
        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();
        }
    }

当然,在本次学习中,我们还遇到了break和continue的运用,对此,我们也了解了其主要区别是:

break结束剩余循环,以及continue结束某次循环,执行下一次循环。对此,我们也有代码例子,让你们感受明显区别。

 //标签循环  101-150的质数
    public static void main(String[] args) {
      outer:  for(int i=101;i<150;i++){
            for (int j=2;j<i/2;j++){
                if(i%j==0){
                    continue outer;
                }
            }
            System.out.print(i+"\t");
        }
    }
 public static void main(String[] args) {
        String name="boby";
        switch (name){
            case "lily":
                System.out.println("lily");
                break;
            case "boby":
                System.out.println("boby");
                break;
            default:
                break;
        }
    }

对于上面是不是有一个outer:这个属于标签循环,大家只要了解一下即可,很少用到。

希望通过本次学习,能让大家对这些结构有个认识 ,以便后面的学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值