程序结构

程序结构

1.顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
  • 顺序结构是最简单的算法结构。
  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干依次执行的处理步骤组成的,它是任何一个算法都离不开的基本算法结构
System.out.println("hello1");

System.out.println("hello2");

System.out.println("hello3");

//hello1
//hello2
//hello3

2.选择结构

  • if单选择结构    判断为true时执行,为false跳过
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双选择结构
//考试分数大于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();
  • if多选择结构
//考试分数100满分,90~100优秀,80~90良好,60~70及格,小于60分就不及格
Scanner scanner = new Scanner(System.in);

/*
if 语句最多有1个else语句,else语句在所有else if语句之后。
if语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if 语句检测为true,其他的else if以及else语句都将跳过执行
 * */

System.out.println("请输入成绩:");
int score = scanner.nextInt();

if(score == 100){
    System.out.println("满分");
}else if(score < 100 && score >= 90){
     System.out.println("优秀");
}else if(score < 90 && score >= 80){
     System.out.println("良好");
}else if(score < 80 && score >= 60){
     System.out.println("及格");
}else if(score <60 && score >= 0){
      System.out.println("不及格");
}else{
      System.out.println("成绩不合法");
}

scanner.close();
  • 嵌套的if结构
if(){
    if(){
        
        }
}
  • switch多选择结构
  1. 多选择结构还有一个实现方式就是switch case语句。
  2. switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

//break 跳出循环

//执行case没break,将穿透到下个case,直到有break

char grade = 'A';
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("未知等级");

switch   字符串比较

String name = "楷楷";

switch (name){
        case "123":
             System.out.println("123");
             break;

        case "楷楷":
             System.out.println("楷楷");
             break;

         default:
             System.out.println("弄啥嘞");

上面的code反编译,看到用哈希值做比较,用equals 

switch(name.hashCode()) {
 case 48690:
      if (name.equals("123")) {
            var3 = 0;
         }
         break;

        case 863968:
            if (name.equals("楷楷")) {
                var3 = 1;
            }
        }

    switch(var3) {
        case 0:
            System.out.println("123");
            break;
        case 1:
            System.out.println("楷楷");
            break;

    default:
            System.out.println("弄啥嘞");
        }

循环结构

  • while循环     先判断后执行

当while等true时为死循环,一般用于   1.等待客户连接    2.定时检查

while (true){
    //等待客户连接
    //定时检查
计算1+2+3+……+100 = ?

 int i = 0;
 int sum = 0;

 while (i<=100){
       sum = sum +i;
        i++;
        //System.out.println(sum);
        }

        System.out.println(sum);//输出总和5050
  • do……while循环      先执行后判断     循环体至少被执行一次。
 int i = 0;
int sum = 0;

    do{
        sum = sum +i;
        i++;
      }while(i<=100);

System.out.println(sum);//5050
  • for 循环

          注意

           1. 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。

            2.然后,检测布尔表达式的值。如果为true,再循环被执行,如果为false,循环终止。开始执行循环体后面的语句。

             3.执行一次循环后,更新循环控制变量(迭代因子控制循环变更)

             4.再次检测布尔表达式,循环执行上面的过程。

//100.for  快速生成code

//初始值//条件判断//迭代
for(int i = 1;i<100;i++){
    System.out.println(i);
 }

System.out.println("for循环结束");
练习1:计算0到100之间的奇数和偶数的和
int oddSum = 0;//奇数和
int evenSum = 0;//偶数和

for (int i = 0; i <= 100; i++) {
     if(i%2!=0){//偶数
         oddSum+=i;//oddSum = OddSum + i;
        }else {//奇数
                evenSum+=i;
        }
 }

 System.out.println("奇数的和:"+oddSum);//2500
 System.out.println("偶数的和:"+evenSum);//2550
练习2:用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
for (int i = 1; i <= 1000; i++) {
    if (i%5==0){
        System.out.print(i+"\t");
        }
        if (i%(5*3)==0){//每当能被15整除时候就换行
            System.out.println();
         }
     }

//println输出完换行
//print输出完不会换行
练习3.九九乘法表
//九九乘法表
//步骤
//1.先打印第一列
//2.把固定的1再用一个循环包起来
//3.去掉重复项,i<=j
//4.调整样式

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

增强For循环

  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。作用域限定在循环语块,其值与此时数组元素的值相等。
  • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
int[] numbers = {10,20,30,40,50};//定义一个数组

    for (int i = 0; i < 5; i++) {
        System.out.println(numbers[i]);
    }
    System.out.println("=================");

    //遍历数组的元素
    for(int x:numbers){
        System.out.println(x);
     }

break

在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩下的语句。

  int i = 0;
  while (i<100){//当i=30,强制退出循环
        i++;
        System.out.println(i);

        if (i == 30){
            break;
         }
   }

continue

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

int i = 0;

while(i < 100){
      i++;
      if (i % 10 == 0) {
          System.out.print("\n");
           continue;//当i=10的倍数,跳出本次循环
          }

            System.out.println(i);
      }

练习题    打印三角形

//打印三角形    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 < i; j++) {
             System.out.print("*");
         }
         System.out.println();
    }

     //*
    //***
   //*****
  //*******
 //*********

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值