顺序、选择、循环结构

结构

顺序结构

​ 顺序结构,是Java的基本结构,按从上到下的顺序进行。是一种基本的算法结构

 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");
        System.out.println("hello6");
    }

选择结构

if单选择

if(布尔表达式){
    //布尔表达式为true时,将执行的语句
}

if双选择

if(布尔表达式){
    //布尔表达式为true时,将执行的语句
}else{
    //布尔表达式为false时,将执行的语句
}

if多选择

if(布尔表达式1){
    //布尔表达式1为true时,将执行的语句
}else if(布尔表达式2){
    //布尔表达式2为true时,将执行的语句
}else{
    //上述布尔表达式都不满足时,将执行的语句
}

嵌套的if结构

if(布尔表达式1){
    //布尔表达式1为true时,将执行的语句
    if(布尔表达式2){
    //布尔表达式2为true时,将执行的语句 
	}
}else{
    //上述布尔表达式都不满足时,将执行的语句
}

switch多选择

switch(expression){
        case value:
        	//语句
        	break;//跳出
        case value:
        	//语句
        	break;
   		default:
        	//语句
}
 public static void main(String[] args) {
        char grade = 'c';
        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;
            default:
                System.out.println("未知");

        }
    }

!!!break非常重要,如果丢失,会进入下一个语句

--java SE 7——switch支持String字符串类型

因为字符的本质是数字,java编译完成后比较hashcode。通过比较目标值与对应可选值的哈希值来比较实现!!


循环结构

while循环

 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);

do……while循环

相比while,do……while至少执行一次

for循环

for循环是最有效、最灵活的循环结构。

for(初始化;布尔表达式;更新){
    //代码语句
}
public static void main(String[] args) {
        //九九乘法表
        for (int i =1; i <9; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print(i+"*"+j+"="+(i*j)+"	");
            }
            System.out.println();
        }
    }

增强For循环

for(声明语句:表达式){
    //代码语句
}

主要是用于数组和集合的

public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};//定义数组
        for(int x:numbers){
            System.out.println(x);
        }
        System.out.println("-----------------------");
        for (int i = 0; i <numbers.length; i++) {
            System.out.println(numbers[i]);
        }
    }

break

跳出整个循环,继续循环后面的代码部分

continue

跳过本次循环,继续下一次

标签

例如:label:——————是goto的影子。goto是java的保留字,但其会破坏结构性,不建议使用。标签同理。

 public static void main(String[] args) {
        //101-150之间的质数
        outer:for (int i =100; i <= 150; i++) {
            for (int j = 2; j < i/2; j++) {
                if (i%j==0){
                    continue outer;
                }
            }
            System.out.print(i+" ");
        }
    }


输出三角形

思想:

  1. 左上角是第一块,控制输出的空格
  2. 在输出左边一半的三角形
  3. 输出右边的三角形
 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();
        }
    }

原文地址:https://www.cnblogs.com/quareus007/p/14305293.html