学习java day4笔记

发布于:2022-10-29 ⋅ 阅读:(700) ⋅ 点赞:(0)

1.流程控制语句:通过一些语句,控制程序的执行过程

顺序控制语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行

2.分支结构:if;swith

if语句的第一种格式:

if(关系表达式){
    语句体;
};

注:大括号的开头可以另起一行书写,但是建议写在第一行的末尾

       在语句体中,如果只有一行代码,大括号可以省略不写,最好不要省略

       如果对一个布尔类型的变量进行判断,不要用==,直接把变量写在小括号中

if语句的第二种格式 

if(关系表达式){
    语句体1;
}else{
    语句体2;
}

if语句的第三种格式对范围的判断

if(关系表达式){
    语句体1;
}else if(关系表达式2){
    语句体2;
}
...
else{
    语句体n+1;
}

switch语句格式说明把有限个数据一一列举出来,让我们任选其一

switch(表达式){
    case 值1;
        语句体1;
        break;
    case 值2;
        语句体2;
        break;
    ...
    default;
        语句体n+1;
        break;
}

注:表达式将匹配的值1取值为byte,short,int,char。JDK5以后可以是枚举,JDK7以后可以是String

       case后面跟的是要和表达式进行比较的值(被匹配的值),后面的值只能是字面量,不能是变量,并且不允许重复

       break表示中断,结束的意思,用来结束switch语句

       default:表示所有情况都不匹配的时候,就执行该处内容,和if语句中的else相似

default的位置和省略

位置:default可以写在任意位置,但最好是写在最下面

省略:default可以省略,不会有任何问题,但是不建议省略

case穿透就是语句体中没有写break导致的

switch新特性(JDK12以上可用):case 值1—>{语句体1;}

3.循环结构

for循环格式:for(初始化语句只执行一次;条件判断语句;条件控制语句){                                                              循环体语句;                                                                                                                                 };

注:如果把变量定义在循环内,那么当前变量只在本次循环中有效,本次循环结束后,变量会从内存中消失,第二次循环开始时,不会定义一个新的变量

4.while循环的执行流程

初始化语句;
while(条件判断语句){
    循环体语句;
    条件控制语句;
}
循环下面的其他语句

5.for循环和while循环的对比

相同点:运行规则都是一样的

区别:while:循环中,控制循环的变量不归属于while循环的语法结构中,在while循环结束后,该变量还能继续使用。只知道循环的结束条件时用while

            for:循环中,控制循环的变量归属for循环的语法结构中,在for循环结束后,改变量就不能继续使用了。知道循环的次数或循环范围时使用for

6.do...while循环格式 先执行后判断

初始化语句;
do{
    循环体语句;
    条件控制语句;
}while(条件判断语句)

7.无限循环:循环一直停不下来

for( ;;){
    System.out.println();
}
while(true){
    System.out.println();
}
do{
    System.out.println();
}while(true);

8.跳转控制语句:在循环的过程中,跳到其他语句上执行

continue:跳过本次循环,继续执行下次循环

break:结束整个循环

9.Random:获得随机数

导包

import java.until.Random;

创建对象

Random r = new Random();

生成随机数

int number =r.nextInt(随机数范围)

输入三个数,求最小值

import java.util.Scanner;
public class Project5 {
    public static void main(String[] args) {
        Scanner number=new Scanner(System.in);
        System.out.println("请输入第一个数:");
        double number1= number.nextDouble();
        System.out.println("请输入第二个数:");
        double number2= number.nextDouble();
        System.out.println("请输入第三个数:");
        double number3= number.nextDouble();
        double temp=number1<number2?number1:number2;
        double min=temp<number3?temp:number3;
        System.out.println("最小的数是:"+min);
    }
}

银行存储业务

import java.util.Scanner;
public class day43 {
    public static void main(String[] args) {
        Scanner money=new Scanner(System.in);
        System.out.println("请输入存储金额:");
        int money1= money.nextInt();
        System.out.println("请输入存储年限:");
        int year= money.nextInt();
        double money2;
        switch (year){
            case 1:
            money2=money1+(money1*year*0.0225);
                System.out.println("一年到期后得到的本金总额"+money2);
                break;
            case 2:
                money2=money1+(money1*year*0.027);
                System.out.println("两年到期后得到的本金总额"+money2);
                break;
            case 3:
                money2=money1+(money1*year*0.0325);
                System.out.println("三年到期后得到的本金总额"+money2);
                break;
            case 5:
                money2=money1+(money1*year*0.036);
                System.out.println("五年到期后得到的本金总额"+money2);
                break;
            default:
                System.out.println("目前银行没有开通这项业务");
                break;
        }
    }
}

逢七过

import java.util.Scanner;
public class Test15 {
    public static void main(String[] args) {
        Scanner number=new Scanner(System.in);
        System.out.println("请随机输入一个数");
        int  number1= number.nextInt();
        for (int i=number1;i<=100;i++){
            if(i%7==0||i%10==7||i/10%10==7){
                continue;
            }
            System.out.println(i);
        }
    }
}

平方根

import java.util.Scanner;
public class Test16 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("输入一个整数");
        int x=sc.nextInt();
        for (int i = 1; i <= x; i++) {
            int y=i*i;
            if (y==x){
                System.out.println(i+"就是"+x+"平方根的整数部分");
                break;
            } else if (y>x) {
                System.out.println((i-1)+"就是"+x+"平方根的整数部分");
                break;
            }
        }
    }
}

是否质数

import java.util.Scanner;
public class Test17 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int x= sc.nextInt();
        boolean files=true;
        for (int i = 2; i < x; i++) {
            if (x%i==0){
                files=false;
                break;
            }
        }
        if (files=false){
            System.out.println("这个数不是质数");
        }else {
            System.out.println("这个数是质数");
        }
    }
}

猜数字

import java.util.Random;
import java.util.Scanner;
public class Test18 {
    public static void main(String[] args) {
        Random r=new Random();
        int number=r.nextInt(100)+1;
       Scanner SC = new Scanner(System.in);
       while(true){
           System.out.println("请输入您要猜的数");
           int guessNumber= SC.nextInt();
           if (guessNumber>number){
               System.out.println("您猜的数大了");
           } else if (guessNumber<number) {
               System.out.println("您猜的数小了");
           }else {
               System.out.println("您猜对了");
               break;
           }
       }
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到