第八篇 Java if条件语句 (涉及到二分法知识点)

java 顺序结构 从上到下执行 基本结构顺序结构

Java 选择结构
if()单选择结构
package com.whs.day04;

import java.util.Scanner;

/**
 * @Author: 阿波罗
 * @Date: 2021/11/23 23:49
 * @oath: 不分白天黑夜的征途 淦!
 * @Version: 1.0.0
 */
public class Demo23 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");

        String s =scanner.nextLine();
        if (s.equals("Hello")){
            System.out.println(s);
        }
        scanner.close();  //关闭OI流
    }
}

双选择结构 if(){
}else{
}
package com.whs.day04;

import java.util.Scanner;

/**
 * @Author: 阿波罗
 * @Date: 2021/11/24 0:19
 * @oath: 不分白天黑夜的征途 淦!
 * @Version: 1.0.0
 */
public class Demo24 {
    public static void main(String[] args) {
        //考试分数大于60就是及格 小于60就是不及格
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();
        if (score>=60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

多选择结构 if(){
}else if{
} else if{
} else if{
}
package com.whs.day04;

import java.util.Scanner;

/**
 * @Author: 阿波罗
 * @Date: 2021/11/24 0:38
 * @oath: 不分白天黑夜的征途 淦!
 * @Version: 1.0.0
 */
public class Demo25 {
    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>=90 && score<100){
            System.out.println("A级");
        }else if (score>=80 && score<90){
            System.out.println("B级");
        }else if (score>=70 && score<80){
            System.out.println("C级");
        }else if (score>60 && score<70){
            System.out.println("D级");
        }else if (score>=0 && score<60){
            System.out.println("不及格");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

if嵌套循环(涉及到二分法)

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


public class Test {
 
   public static void main(String args[]){
      int x = 30;
      int y = 10;
 
      if( x == 30 ){
         if( y == 10 ){
             System.out.print("X = 30 and Y = 10");
          }
       }
    }
}


1顺序查找
2二分查找
3分块查找
4哈希表查找

用关键字标识一个数据元素,查找时根据给定的某个值,在表中确定一个关键字的值等于给定值的记录或数据元素。在计算机中进行查找的方法是根据表中的记录的组织结构确定的。

顺序查找也称为线形查找,从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。

二分查找要求线形表中的结点按关键字值升序或降序排列,用给定值k先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等则查找成功;若不相等,再根据k与该中间结点关键字的比较结果确定下一步查找哪个子表,这样递归进行,直到查找到或查找结束发现表中没有这样的结点。
分块查找也称为索引查找,把线形分成若干块,在每一块中的数据元素的存储顺序是任意的,但要求块与块之间须按关键字值的大小有序排列,还要建立一个按关键字值递增顺序排列的索引表,索引表中的一项对应线形表中的一块,索引项包括两个内容:① 键域存放相应块的最大关键字;② 链域存放指向本块第一个结点的指针。分块查找分两步进行,先确定待查找的结点属于哪一块,然后在块内查找结点。

哈希表查找是通过对记录的关键字值进行运算,直接求出结点的地址,是关键字到地址的直接转换方法,不用反复比较。假设f包含n个结点,Ri为其中某个结点(1≤i≤n),keyi是其关键字值,在keyi与Ri的地址之间建立某种函数关系,可以通过这个函数把关键字值转换成相应结点的地址,有:addr(Ri)=H(keyi),addr(Ri)为哈希函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值