JAVA基础学习03

本文详细介绍了Java程序中的流程控制语句,包括顺序结构、if分支结构(多种格式)、switch分支以及循环结构(for、while、do-while),同时讨论了分支中的注意事项和循环结构的使用技巧,以及随机数生成的方法。
摘要由CSDN通过智能技术生成

一、流程控制语句

程序的流程一般分为:顺序结构、分支结构、循环结构

  • 顺序结构:就是不加任何控制,从上往下依次执行
  • 分支结构:根据条件判断是true还是false,有选择性的执行哪些代码。
  • 是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while

二、if分支结构

2.1 if分支结构介绍

用if语句做判断满足条件(true)即执行语句体。

if分支主要有三种格式:
在这里插入图片描述

2.2 if格式1

只执行满足条件的情况

if 第一种形式执行流程如下:
    如果条件表达式 为true,就执行下面的语句体
    如果条件表达式 为false,就不执行
    
double t = 36.9;
if(t > 37.0){
    System.out.println("体温异常");
}

2.3 if格式2

执行满足条件和不满足条件的两种情况,因为判断的变量只有两种状态

if 第二种形式执行流程如下:
    如果 条件表达式 为true,就执行下面的语句体1
    如果 条件表达式 为false,就执行else下面的语句体2

double t = 36.5;
if(money >= 37){
    System.out.println("体温异常");
}else {
    System.out.println("体温正常");
}

2.4 if格式3

当判断的变量有多种状态时,用多层if嵌套

if 第三种形式执行流程如下:
    如果 条件表达式1true,就执行下面的代码1; 
    如果 条件表达式1false,就继续判断条件表达式2;

    如果 条件表达式2true,就执行下面的语句体;
    如果 条件表达式2false,就继续判断条件语句体3;

    如果 条件表达式3true,就执行下面的语句体3
    如果 条件表达式3false,就继续判断后面的表达式;

    ....
    如果前面所有条件表达式判断都为false,就执行最后的else语句中的代码

// 需求:某个公司有一个绩效系统,根据员工的打分输出对应的绩效级别。[0,60) D  [60,80) C [80,90) B [90,100] A
int score = 298;
if(score >= 0 && score < 60) {
    System.out.println("您的绩效级别是: D");
}else if(score >= 60 && score < 80){ //注意else和if之间有空格
    System.out.println("您的绩效级别是: C");
}else if(score >= 80 && score < 90){
    System.out.println("您的绩效级别是: B");
}else if(score >= 90 && score <= 100){
    System.out.println("您的绩效级别是: A");
}else {
    System.out.println("您录入的分数有毛病~~");
}

2.5 if分支中的注意事项

  1. if后的括号不加;
double t = 36.5;
if(money >= 37);{ //此时是错的
    System.out.println("体温异常");
}else {
    System.out.println("体温正常");
  1. 若if 后的语句体只有一行,可以省略大括号
double t = 36.9;
if(t > 37.0)
    System.out.println("体温异常");
//但一般不这么写,因为这一句很难把控
  1. 尽量避免使用==来判断布尔条件,易出错
boolean t = true;
if(t) //直接将变量写在括号中
    System.out.println("体温正常");

三、switch分支

3.1基本语句

switch格式:

String week = "周三";
switch (week){
    case "周一":
        System.out.println("上班");
        break;
    case "周二":
        System.out.println("请求大牛程序员帮忙");
        break;
    case "周三":
        System.out.println("今晚啤酒、龙虾、小烧烤");
        break;
    case "周四":
        System.out.println("解决bug");
        break;
    case "周五":
        System.out.println("今晚吃鸡");
        break;
    case "周六":
        System.out.println("相亲");
        break;
    case "周日":
        System.out.println("准备上班");
        break;
    default:
        System.out.println("您输入的星期信息不存在");
}

注意:

  1. 表达式类型只能是byte、short、int、char
    JDK5开始支持枚举,JDK7开始支持String
    不支持double、float、double
  2. case给出的值不允许重复,且只能是字面量,不能是变量。
  3. 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。
  4. case后的值只能是字面量,不能是变量

3.2 if和switch的选择

  1. 如果是对一个范围进行判断,建议使用if分支结构
  2. 如果是与一个一个的值比较的时候,建议使用switch分支结构

3.3 switch的穿透现象

若遇到case符合条件开始执行语句体,执行后若没有break,会继续执行下一个case中的语句体,直到遇到break。

四、循环结构

循环结构应用:
累加、服务器,周期性的服务

4.1 for循环结构

//基本格式
for(int i = 0; i < 3; i++) {
    System.out.println("Hello World");
} //重复打印三遍hello world 

每次循环的执行顺序:
在这里插入图片描述

在for结构中可以一次加多个操作:

//如
for(int i=0,j=arry.length;i<j;i++,j--){

}

4.2 while循环结构

int i = 0;
while (i < 3) {
    // i = 0 1 2
    System.out.println("Hello World");
    i++;
}

每次循环的执行顺序:
在这里插入图片描述

4.3 for和while的选择

  • 一般for循环体while都能实现
  • 知道循环次数和循环范围,建议使用for;不知道循环几次,只知道循环结束条件建议使用while

4.4 do-while循环

不常用

//基本格式
初始化语句;
do{
	循环体语句;
	迭代语句;
}while(); //不同于while,该循环是先执行后判断

4.5 死循环(无限循环)

死循环就是运行后无法终止的循环语句
死循环之下一般不写其他代码

//三种循环体死循环的实现

//for死循环
for ( ; ; ){
    System.out.println("Hello World1");
}

//while死循环
while (true) {
    System.out.println("Hello World2");
}

//do-while死循环
do {
    System.out.println("Hello World3");
}while (true);

死循环的应用场景:

  • 可以用来做服务器程序,不断等待用户对服务器的访问
  • 小型应用程序,进入后不断检测用户操作

4.6 循环嵌套

1. 定义

所谓循环嵌套就是循环中还嵌入着其他循环,外层循环的每一轮执行,内层都可以完整地执行多轮

2. 格式

//在控制台使用 * 打印出4行5列的矩形
for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= 5; j++) {
        System.out.print("*"); // 不换行
    }
    System.out.println(); //换行
}

4.7 跳转语句 break 、continue

两语句的基本作用:

  • break作用:跳出并结束当前所在循环的执行
  • continue作用:结束本次循环,进入下一次循环

使用条件:

break:只能用于结束当前循环(有循环嵌套时,跳出内循环),或switch分支(后期会讲到用标号结束嵌套循环)
continue:只能用在循环中

4.8 循环的注意事项

  1. 在循环体内定义的变量在每轮循环结束后会被清除
  2. idea中快捷键:100.fori 快速创建1~100的for循环

五、补充:JAVA随机数获取

// 1、导包。import java.util.Random; (idea会自动完成)
import java.util.Random;

// 2、创建一个Random对象,用于生成随机数。
Random r = new Random();

// 3、调用Random提供的功能:nextInt得到随机数。
int data = r.nextInt(10); // 0 - 9整数

//4、生成一个随机范围内的值
如生成7-15
【第一步】令该范围的头为减去同一个数,变成零开头
		7-15 -> 左右减7 -> 0-8
【第二步】用上面的语法生成0-8
		int data = r.nextInt(8);
【第三步】对生成的随机数加上刚才减去的数
		data+=7

本文为自己学习过程中的笔记分享,如有侵权,请联系我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值