Java day08

顺序结构:

  1.JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  2.顺序结构是最简单的算法结构。

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

  

public class ShunXuDemo01 {
    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");
    }
}
/*
hello1
hello2
hello3
hello4
hello5
 */

选择结构:

  if单选择结构:(用一个if)

    我们很多时候需要判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。

    语法:

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

    if(布尔表达式)——true——{语句}——往后走

            ——false——————不执行{语句}往后走

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

        System.out.println("请输入内容: ");
        String i = scanner.nextLine();

        //equals:判断字符串是否相等,这里不能用==
        if (i.equals("Hello")){
            System.out.println(i);

        }
        System.out.println("End");

        scanner.close();
    }
}

/*
请输入内容: 
Hello
Hello
End
 */

  if双选择结构:(用if + else)

    举个例子现在有个需求,公司要收购一个软件,成功了给人支付100万,失败了自己找人开发。这样的需求用一个if搞不定了,需要有两个判断,需要用到一个双选择结构,所以就有了

  if-else结构。

    语法:

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}
public class IfDemo02 {
    public static void main(String[] args) {
        //考试分数大于60就是及格,小于60就不及格。

        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入考试分数: ");

        int v = scanner.nextInt();

        if (v > 60) {
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

/*
请输入考试分数: 
60
不及格
 */

  if多选择结构:

    我们发现上一个代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B..等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!

    语法:

if(布尔表达式1){
  //如果布尔表达式1的值为true执行代码  
}else if(布尔表达式2){
  //如果布尔表达式2的值为true执行代码  
}else if(布尔表达式3){
  //如果布尔表达式3的值为true执行代码  
}else{
  //如果以上布尔表达式都不为true,执行代码  
}
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("A级");
        }else if (score<90 && score>=80){
            System.out.println("B级");
        }else if (score<80 && score>=70){
            System.out.println("C级");
        }else if (score<70 && score>=60){
            System.out.println("D级");
        }else if (score<60 && score>=0){
            System.out.println("不及格!");
        }else{
            System.out.println("成绩无效");
        }
        scanner.close();
    }
    }
/*
请输入考试分数: 
100
恭喜满分!
 */

  嵌套的if结构:

    使用嵌套的 if...else 语句是合法。也就是说你可以在另一个if或者 else if 语句中使用 if 或者 else if 语句。你可以像 if 语句一样嵌套 else if...else。

    语法:

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

    思考?我们需要寻找一个数,在1-100之间。

    二分法(暂时看不是很懂)

//针对已经排序好的数组进行查找(对上面代码进行的改进)
publicstaticbooleanbinarySearch(int[]array,inttarget){
intleft=0;
intright=array.length-1;
intmid=(left+right)/2;
while(array[mid]!=target&&right>left){
if(array[mid]>target){
right=mid-1;
}
elseif(array[mid]<target){
left=mid+1;
}
mid=(left+right)/2;
//判断在缩小范围后,新的left或者right是否会将target排除
if(array[right]<target){
break;//若缩小后right比target小,即target不在数组中
}
elseif(array[left]>target){
break;//若缩小后left比target大,即target不在数组中
}
}
return(array[mid]==target);
}

今天是if结构,如果。。。否则。。。

还是很简单的,明天学习switch和while结构

while结构以前接触比较多,switch的话没怎么学过。

    

 

posted @ 2020-12-02 23:32  爱java的luluxiu  阅读(58)  评论(0)    收藏  举报