栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Java基础语法之零基础(三)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础语法之零基础(三)

十.Java基础语法之流程控制语句

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

2.流程控制语句的分类:

​ (1)顺序结构:Java程序默认的执行顺序,从上到下依次运行。

​ (2)分支结构(if,switch):

​ if三种格式:

​ (1)格式一:

if(关系表达式){
  语句体;
}
//1.首先计算关系表达式中的值;
//2.如果关系表达式的值是true,就执行语句体;
//3.如果关系表达式的值是false,就不执行语句体;
//4.继续执行后面的语句内容。
public class JavaBasic17_conditionExpression {
    public static void main(String[] args) {
        System.out.println("开始");
        
        //如果年龄大于18岁,就可以上网
        int age = 17;
        if (age>=18){
            System.out.println("可以上网");//不会输出
        }
        
        System.out.println("结束");
    }
}

​ (2)格式二:

if(关系表达式){
  语句体1;
}else{
  语句体2;
}
//1.首先计算关系表达式的值;
//2.如果表示表达式的值为true,就执行语句体1;
//3.如果关系表达式的值为false,就执行语句体2;
//4.继续执行后面的语句内容。
public class JavaBasic18_conditionExpress2 {
    public static void main(String[] args) {
        //判断一个数是奇数还是偶数
        int num = 10;
        if(num % 2 ==0){
            System.out.println("偶数");
        }else{
            System.out.println("奇数");
        }
    }
}

​ (3)格式三:

if(判断条件1){
  语句体1;
}else if(判断条件2){
  语句体2;
}else{
  语句体3;
}
//1.首先计算判断条件1的值;
//2.如果判断表达式1值为true,就执行语句体1,如果值为false,就计算判断条件2的值;
//3.如果判断表示式2的值为true,就执行语句体2,如果值为false,就执行语句体3;
public class JavaBasic19_conditionExpress3 {
    //根据学生成绩,程序给出评价
    public static void main(String[] args) {
        int score = 76;
        if(score>=90){
            System.out.println("优秀");
        }else if(score>=60 & score<90){
            System.out.println("良好");
        }else if(score>=0 & score<60){
            System.out.println("不及格");
        }else{
          System.out.println("成绩有误!");
        }
    }
}

​ switch格式:

switch(表达式){
  case 值1:
    语句体1;
    break;
  case 值2:
    语句体2;
    break;
  ...
  default:
    语句体n+1;
    break;
}
//表达式:(将要被匹配的值)取值为byte,short,int,char,枚举,String;
//case:后面跟的是要和表达式进行比较的值;
//break:表示中断,结束的意思,用来结束switch语句;
//default:表示所有情况都不匹配的时候,就执行该处内容。
​
//1.首先计算表达式的值;
//2.依次和case后面的值进行比较,如果有对应的值,就执行相应语句,在执行的过程中,遇到break就会结束;
//3.如果所有case都没有匹配上,就会执行default后面的语句体,然后结束。
public class JavaBasic21_switch {
    public static void main(String[] args) {
        int week = 5;
​
        switch(week){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("信息有误!");
                break;
        }
    }
}

​ case穿透:

import java.util.Scanner;
​
public class JavaBasic23_casePenetrate {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入进行是星期几?");
        int week = sc.nextInt();
        switch(week){
            case 1:
                System.out.println("工作日");
            case 2:
                System.out.println("工作日");
                break;
            case 3:
                System.out.println("工作日");
                break;
            case 4:
                System.out.println("工作日");
                break;
            case 5:
                System.out.println("工作日");
                break;
            case 6:
                System.out.println("休息日");
                break;
            case 7:
                System.out.println("休息日");
                break;
            default:
                System.out.println("信息有误!");
                break;
        }
    }
}
//当输入1时,输出的是【工作日 工作日】
​
//由于case中出现了重复代码,所以可以优化:
import java.util.Scanner;
public class JavaBasic23_casePenetrate {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入进行是星期几?");
        int week = sc.nextInt();
        switch(week){
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作日");
                break;
            case 6:
            case 7:
                System.out.println("休息日");
                break;
            default:
                System.out.println("信息有误!");
                break;
        }
    }
}

​ (3)循环结构(for,while,do...while):重复做某件事,具有明确的开始和停止标志。

​ for格式:

for(初始化语句;条件判断语句;条件控制语句){
  循环体语句;
}
//1.执行初始化语句;
//2.执行条件判断语句,看起结果是true还是false:
//  如果是false,循环结束;
//  如果是true,继续执行。
//3.执行循环体语句;
//4.执行条件控制语句;
//5.回到2继续。
public class JavaBasic24_forCirculation {
    
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            System.out.println("这是折返跑第"+i+"次");
        }
    }
}

while格式:

初始化语句;
while(条件判断语句){
  循环体语句;
  条件控制语句;
}
//1.执行初始化语句;
//2.执行条件判断语句,看起结果是true还是false:
//  如果是false,循环结束;
//  如果是true,继续执行。
//3.执行循环体语句;
//4.执行条件控制语句;
//5.回到2继续。
public class JavaBasic29_whileCirculation {
    
    public static void main(String[] args) {
        int i = 1;
        while(i<=100){
            System.out.println(i);
            i++;
        }
    }
}

do...while格式:

初始化语句;
do{
  循环体语句;
  条件控制语句;
}while(条件判断语句);
//1.执行初始化语句;
//2.执行循环体语句;
//3.执行条件控制语句;
//4.执行条件判断语句,看其结果是true还是false:
//  如果是false,循环结束;
//  如果是true,继续执行。
//5.回到2继续。
public class JavaBasic31_dowhileCirculation {
    
    public static void main(String[] args) {
        int count = 0;
        do{
            System.out.println("李佳顺");
            count++;
        }while(count<10);
    }
}

三种循环的区别:

(1)for循环和while循环先判断条件是否成立,然后再决定是否执行循环体(先判断在执行);

(2)do...while循环先执行一遍循环体,然后再判断条件是否成立(先执行后判断)。

(3)for和while区别:

条件控制语句所控制的自增变量:

在for循环中,该变量归属于for循环的语法结构中,所以循环结束后,该变量就不能被再次访问;

在while循环中,该变量不归属于while循环语法结构中,所以循环结束后,该变量还可以继续使用。

(4)使用场景:

明确循环次数,推荐使用for循环;不明确循环次数,推荐使用while循环;do...while很少使用。

跳转控制语句:break,continue;

continue:跳过某次循环体内容的执行;

public class JavaBasic32_jumpControl {
    
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if(i == 4){
                continue;
            }
            System.out.println(i+"层到了!");
        }
    }
}

break:终止循环体内容的执行;

public class JavaBasic33_jumpControl2 {
    
    public static void main(String[] args) {
        for (int i = 20; i <= 80; i++) {
            System.out.println("我已经"+i+"岁了!");
            if(i == 60){
                System.out.println("退休了");
                break;
            }
        }
    }
}

3.流程控制案例:

案例一:

import java.util.Scanner;
public class JavaBasic20_conditionExpressCase {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的成绩:");
        int score = sc.nextInt();
        if(score<=100 & score>=90){
            System.out.println("优秀");
        }else if(score>=60 & score<90){
            System.out.println("良好");
        }else if(score>=0 & score<60){
            System.out.println("不及格");
        }else{
            System.out.println("成绩有误!");
        }
    }
}

案例二:

import java.util.Scanner;
public class JavaBasic22_switchCase {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入进行是星期几?");
        int week = sc.nextInt();
        switch(week){
            case 1:
                System.out.println("跳绳");
                break;
            case 2:
                System.out.println("跑步");
                break;
            case 3:
                System.out.println("深蹲");
                break;
            case 4:
                System.out.println("步行");
                break;
            case 5:
                System.out.println("排球");
                break;
            case 6:
                System.out.println("瑜伽");
                break;
            case 7:
                System.out.println("爬山");
                break;
            default:
                System.out.println("信息有误!");
                break;
        }
    }
}

案例三:

public class JavaBasic25_forCirculationCase {
    
    public static void main(String[] args) {
        for (int i = 1; i <= 5 ; i++) {
            System.out.print(i);
            System.out.print(" ");
        }
​
        System.out.println();
​
        for (int i = 5; i >= 1 ; i--) {
            System.out.print(i);
            System.out.print(" ");
        }
    }
}

案例四:

public class JavaBasic26_forCirculationCase2 {
    
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 5 ; i++) {
            sum+=i;
        }
        System.out.println(sum);
    }
}

案例五:

public class JavaBasic27_forCirculationCase3 {
    
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if(i % 2 == 0){
                sum += i;
            }
        }
        System.out.println(sum);
    }
}

案例六:

public class JavaBasic28_forCirculationCase4 {
    
    public static void main(String[] args) {
        //记录一行有多少个数
        int n=0;
        //获取所有的三位数
        for (int i = 100; i <= 999 ; i++) {
            //获取三位数的个位十位百位
            int a = i % 10 ;
            int b = i /10 %10 ;
            int c = i / 100;
            //判定是否符合水仙花数的规则
            if(a*a*a+b*b*b+c*c*c == i){
                //若符合水仙花规则,每行需要添加一个数,则n++
                n++;
                //如果一行有两个数了,则需要换行输出
                if(n % 2 == 0){
                    System.out.println(i);
                    n=0;
                //若小于两个数,则不换行输出    
                }else{
                    System.out.print(i);
                    System.out.print(" ");
                }
            }
        }
    }
}

案例七:

public class JavaBasic30_whileCirculationCase {
    
    public static void main(String[] args) {
        //定义白纸和山峰的厚度和高度
        double paper = 0.1;
        int height = 8844430;
        //定义次数
        int count = 0;
        while(paper <= height){
            count++;
            paper *= 2 ;
        }
        System.out.println(count);
    }
}

案例八:

import java.util.Scanner;
public class JavaBasic34_circulationAndjumpControl {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
      //给循环起一个标号,这样,就使得case 0中的break不是跳出case,而是跳出while。
        loop:while(true){
            System.out.println("请输入您要查询的星期数:(无需继续查看,请输入0)");
            int week = sc.nextInt();
            switch(week){
                case 0:
                    break loop;
                case 1:
                    System.out.println("跳绳");
                    break;
                case 2:
                    System.out.println("跑步");
                    break;
                case 3:
                    System.out.println("深蹲");
                    break;
                case 4:
                    System.out.println("步行");
                    break;
                case 5:
                    System.out.println("排球");
                    break;
                case 6:
                    System.out.println("瑜伽");
                    break;
                case 7:
                    System.out.println("爬山");
                    break;
                default:
                    System.out.println("信息有误!");
                    break;
            }
        }
    }
}
十一.Java基础语法之Random

1.random的作用:产生一个随机数。

2.random的步骤:

(1)导包;(2)创建对象;(3)获取随机数。

import java.util.Random;
public class JavaBasic35_random {
    public static void main(String[] args) {
        Random ra = new Random();
        int number = ra.nextInt(10);//[0,10)
        System.out.println(number);
    }
}

3.random案例:

import java.util.Random;
import java.util.Scanner;
public class JavaBasic36_randomCase {
    
    public static void main(String[] args) {
        Random ra = new Random();
        int number = ra.nextInt(100)+1; //[1,100]
        System.out.println("请输入您要猜的数字(从1-100中挑选):");
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            int guess = sc.nextInt();
            if(guess == number){
                System.out.println("您猜对了!");
                break;
            } else if (guess > number) {
                System.out.println("您猜大了!请继续猜测");
            } else{
                System.out.println("您猜小了!请继续猜测");
            }
            if(i == 4){
                System.out.println("您失败了!");
                System.out.println("正确答案是:"+number);
            }
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号