算法结构(基础)

算法结构

顺序结构

  1. JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
  2. 顺序结构是最简单的算法结构。
  3. 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
package com.tt.struct;

public class TestDemo01 {
    public static void main(String[] args) {
        //顺序结构
        System.out.println("1");   //第一个执行
        System.out.println("2");   //第二个执行
        System.out.println("3");   //第三个执行
        System.out.println("4");   //第四个执行
        System.out.println("5");   //第五个执行

    }
}

选择结构

if单选择结构

语法:

if (布尔表达式){

  //如果布尔表达式的值为true将执行的语句

} 
package com.tt.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();

        //equals:判断字符串是否相等
        if (s.equals("Hello")){
            System.out.println(s);
        }
        
        System.out.println("End");

        scanner.close();
    }
}
if双选择结构

语法:

if(布尔表达式){

//如果布尔表达式的值为true

}else{

//如果布尔表达式的值为false

}
package com.tt.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("请输入分数:");
        double score = scanner.nextDouble();

        if (score>=60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }

        scanner.close();
    }
}
if多选择结构

语法:

if(布尔表达式1){

//如果布尔表达式1的值为true执行代码

}else if(布尔表达式2){

//如果布尔表达式2的值为true执行代码

}else if(布尔表达式3){

//如果布尔表达式3的值为true执行代码

}else{

//如果以上布尔表达式都不为true执行代码

}
package com.tt.struct;

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入分数:");
        double score = scanner.nextDouble();

        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>=60){
            System.out.println("C级");
        }else if (score>=0 && score<=60){
            System.out.println("不及格");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}
嵌套的if结构

语法:

if(布尔表达式1){

​	//如果布尔表达式1的值为true执行代码

​	if(布尔表达式2){

​		//如果布尔表达式2的值为true执行代码

​	}

}
switch多选择结构
  1. switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

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

    byte、short、int、或者char。

    从Java SE 7 开始

    switch 支持字符串String类型

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

语法:

switch(expression){

​	case value:

​		//语句

​		break;//可选

​	case value:

​		//语句

​		break;//可选

​	//你可以有任意数量的case语句

​	default:   //语句

​		//语句

}

循环结构

while 循环

先判断,后执行

结构:

while(布尔表达式){

​	//循环内容

}
  1. 只要布尔表达式为true,循环就会一直执行下去
  2. 我们大多数情况是会让循环停止下来的,我们需要一个表达式失效的方式结束循环
  3. 少部分情况需要循环一直执行,比如服务器的请求响应监听等
do…while 循环

先执行,后判断

结构:

do{

​	//代码语句

}while(布尔表达式);
for 循环
  1. for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
  2. for循环执行的次数是在执行前就确定的。

结构:

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

​	//代码语句

}

案例一:计算0到100之间的奇数和偶数和

package com.tt.struct;

public class ForDemo02 {
    public static void main(String[] args) {
        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);
    }
}

案例二:输出1-100之间能被5整除的数,并且每行输出3个

package com.tt.struct;

public class ForDemo03 {
    public static void main(String[] args) {
        for (int i = 1; i < 1000; i++) {
            if (i%5==0){
                System.out.print(i+"\t");
            }
            if (i%(5*3)==0){
                //换行
                System.out.println();
            }
        }
    }
}

案例三:打印九九乘法表

package com.tt.struct;

public class ForDemo04 {
    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+"\t");
            }
            System.out.println();
        }
    }
}

案例四:打印三角形

package com.tt.struct;

public class TestDemo01 {
    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 k = 1;k <= i;k++){
                System.out.print("*");
            }

            for (int k = 1;k < i;k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
增强for循环

结构:

for(声明语句:表达式)

{

​ //代码句子

}

声明语句:声明语句的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

break

break在任何循环语句上的主体部分,均可用break控制循环的流程。

break用于强行退出循环,不执行循环中剩余的语句。(break也在switch语句中使用)

continue

continue 语句在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值