Day07

Day07

顺序结构

自上而下

选择结构

if单选则结构:

image-20200819142755758

语法:

if (布尔表达式){
//如果布尔包大师为true将执行的语句
}
package com.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双选择结构:

image-20200819144054272

语法:

if(布尔表达式){
//如果布尔表达式为True,
}else{
//如果布尔表达式为False
}
package com.struct;

import java.util.Scanner;

public class IfDemo02 {
   public static void main(String[] args) {
       //判断成绩是否及格
       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多选择结构

image-20200819145701726

语法:

if(布尔表达式1){
//如果表达式1为真的执行的代码
}else if(布尔表达式2){
//如果表达式2为真 的执行代码
}else if(布尔表达式3){
//如果表达式3为真的结果
}
package com.struct;

import  java.util.Scanner;

public class IfDemo03 {
   public static void main(String[] args) {
       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("优秀 ");
      }else if (score<90 && score>=60){
           System.out.println("及格");
      }else if (score<60  &&  score>=0){
           System.out.println("不及格");

      } else {
           System.out.println("成绩不合法");

      }
       scanner.close();
  }
  }

 

嵌套的if结构. 可以使用嵌套的 if。。。else语句,也就是 说你可以在另一个if或者else if语句中使用 if或者else if语句,可以向 if语句 一样嵌套else if。。。else 语法 :

if(布尔表达式1){
//如果布尔表达式的值为true执行代码
if(布尔表达式 2){
//如果表达式2的值为true执行代码
}
}

 

switch多选择结构

语法:

switch(expression){
case value:
//语句
break;//可选
case  value:
//语句
break;
//你可以有任意 数量的case
default://可选
//语句

}

switch语句中的变量类型可以是 : 1.byte,short,int,char 2.从JavaSE7开始,switch支持字符串String类型 3.同时case标签必须为字符串常量或者字面量

注意点: 注意case穿透现象(每一句后面得加break;) 反编译 : java---class(字节码文件)---反编译(很多软件,再次用IDEA)

 

package com.struct;

public class SwitchDemo01 {
   public static void main(String[] args) {
       //case穿透 //switch 匹配一个基础的值

       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("未知量");

      }
  }
}

思考:输入“冯继炎”,运行结果弹出来“大帅比”

package com.struct;
import java.util.Scanner;
public class Demo01 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);

       System.out.println("请输入数据");

       String name=scanner.next();
       switch (name){
           case"大大":
               System.out.println("大大沙比");
               break;
           case"冯继炎":
               System.out.println("冯继炎就是无敌大帅比");
               break;
           default:
               System.out.println("呵呵哒");
      }
  }

}

 

 

IDEA的反编译

操作:找到项目输出的class文件夹,然后点击模块中的打开文件夹,复制class文件到模块中,即可打开

image-20200819205753107

打开 之后可以发现:

image-20200819205856383

再次对应即是: JDK7的新特性,表达式结果可以是字符串 字符的本质 还是数字(hashCode) 看源码:

 

循环结构

while循序

语法:

while(布尔表达式){
//循环内容
}

 

注意:

  1. 只要布尔表达式为true,循环就会一直执行下去

  2. 我们大多数是会让循环停止下来,我们需要一个让表达式失效的当时来结束循环

  3. 少部分 情况需要 循环 一直执行 ,比如服务器的请求响应监听等

  4. 循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环

  5. 思考 1+2+3+。。。。+100?

package com.struct;

public class WhileDemo01 {
   public static void main(String[] args) {
       //输出1到100所有的整数
       int i=0;

       while(i<100){
           i++;
           System.out.println(i);

      }

  }
}
package com.struct;
//1+100的算法
public class WhileDemo02 {
   public static void main(String[] args) {
       int i=0;
       int sum=0;
       while (i<100){
           i++;
           sum=sum+i;

      }
       System.out.println(sum);
  }
}

 

java运行的环境问题????

 

do while循环 : 对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次 do...while循环和while循环想死,不同的是,do....while循环至少会执行一次 语法:

da{
//代码语句
}while(布尔表达式);

while与do-while的区别: while先判断后执行,do-while先执行后判断 do-while至少会执行一次,这是他们的主要区别

如下:

package com.struct;

public class DoWhileDemo01 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do {
           i++;
           sum=sum+i;

      }while (i<100);
       System.out.println(sum);

       while (i<0){
           System.out.println(i);
           i++;
      }
       System.out.println("========");

       do {
           i++;
      }while (i<0);
       System.out.println(i);
  }


}

 

for循环 再Java5中引入了一种主要用于数组的增强型for循环

 

 

 

 

 

 

 

 

posted @ 2020-08-19 22:24  冯柚子  阅读(183)  评论(0)    收藏  举报