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)为哈希函数。