Day_04 while和do...while循环

关于打印输出语句
    println("world") : 打印并换行
    print("hello") : 只打印不换行

    换行符 : "\r\n"
    System.out.println();

    \ : 转义符
    \t :  制表符 tab
while循环
格式:
	初始化语句1;
    while(判断条件语句2){
		循环体语句4;
        步进表达式3;
    }

执行流程:
	1. 执行初始化语句
	2. 执行判断条件语句
		-> false 立刻结束循环
    3. 若判断条件语句的结果是true,执行循环体语句
    4. 执行步进表达式
    5. 从第二步骤开始重复执行
    
执行流程代码:''''
	1 -> 2 -true-> 4 -> 3 -> 2 -true-> 4 -> 3 -> ....
           -false-> 结束循环    -false-> 结束循环
do…while循环(了解)
格式:
	初始化语句1;
    do{
		循环体语句4;
        步进表达式3;
    }while(判断条件语句2);

执行流程:
	1. 执行初始化语句
	2. 执行循环体语句
	3. 执行步进表达式
	4. 执行判断条件语句
		-> false 立刻结束循环
		-> true 从第二步开始循环执行
		
执行流程代码:
	1 -> 4 -> 3 -> 2 -true-> 4 -> 3 -> 2 ...
        			 -false-> 立刻结束循环
三种循环的区别
1.for循环 和 while循环,do..while循环的区别 :
        for循环初始化语句定义在循环的格式内,只在for循环的大括号内有效
        do..whilewhile循环定义的初始化语句在整个while所在的大括号内都有效

        当for循环结束后,不可以再次使用for循环的初始化语句变量!
            
2.do..while循环 和 while循环,for循环的区别 :
        do..while循环 无论如何都会执行一次循环体语句
        while循环,for循环 必须满足循环条件才能执行

    经验之谈:
        当明确循环次数的时候推荐用for循环
        不明确循环次数的时候推荐使用while循环            
死循环
死循环 : 停不下来的循环

    for循环的死循环格式:
        for(;;){

        }

    while循环的死循环格式: -> 推荐格式
        while(true){
            死循环代码
        }
控制循环的关键字
break : 中断,结束,打断
	使用位置: switch , 循环中
	作用 : 用于结束 switch 和 循环
	
continue :	继续
	使用位置 : 循环中
	作用: 用于结束本轮次的循环,从下一轮次循环的步进表达式开始执行
	
breakcontinue 都是配合条件使用,不会直接在循环中使用!	
给循环取别名
    break,continue关键字 优先作用于理他最近的可用板块

    给循环取别名:
        别名:循环结构

    如何指定控制:
        break 别名;
        continue 别名;
循环的嵌套
循环的嵌套 : 一个循环的循环体语句还是一个循环结构!
    
格式: (for循环为例)
    for(初始化语句;判断条件语句;步进表达式){ //外层循环
		循环体语句;
        for(初始化语句;判断条件语句;步进表达式){//内层循环
            循环体语句;
        }
    }

循环嵌套 : 外层循环执行一次,内层循环要全部执行!!
随机数
随机数生成 : Random

步骤:
	1. 导包 import java.util.Random;
	2. 创建对象
		Random 对象名 = new Random();
	3. 对象调用方法 -> 生成指定范围内的随机整数
		int 变量名 = 对象名.nextInt(m);
			//m: 常量值 代表的是随机数的范围 [0,m)

    生成[1,10]范围的随机数
        对象名.nextInt(10) + 1; // [0,9] + 1
    生成[n,m]范围的随机数
        nextInt(m - n + 1) + n
        [1,10] -> nextInt(10) + 1
        [42,95] -> nextInt(54) + 42; -> [0,53] + 42
学习容器的方法
1. 如何创建容器

2. 如何使用容器的增删改查四类功能 CRUD

3. 如何遍历容器

容器 : 数组,集合,数据库
一维数组
一维数组: 由多个同类型数据组成的线段 叫一维数组 
	类似于: 绳结法
	
数组的类型是引用数据类型	
	
数组的特点:
	1. 数组一旦被定义,长度不能发生改变; -> 弊端: 淘汰的原因
		//只要数组长度发生改变,一定是创建了新的数组
	2. 每一个数组中元素的数据类型必须一致	-> 单个数组角度
	3. 数组中既可以存储基本数据类型也可以存储引用数据类型 -> 数组什么都能存 -> 所有数组角度
	4. 数组中每一个元素都有一个编号 -> 索引 : 索引从0开始 -> 查询快
一维数组的创建
格式:
	数据类型[] 数组名;  //这里只是对数组进行一个声明
		-> int[] arr,double[] arr1,String[] arr2;
		//int[] arr : 定义了一个int类型的数组名字叫arr
		//int arr :  定义了一个int类型的变量他是一个arr数组

初始化: 
	动态初始化: 由程序员决定数组的长度,JVM根据数组的数据类型给与默认值;
		数据类型[] 数组名 = new 数据类型[m];
		格式解释:
			new : 只要看到new 就是在创建对象;
			数据类型 : 要求和赋值符号前面的数据类型一致!
            m: 数组的长度,数组元素的个数
        //什么时候用动态初始化 : 明确元素个数,但是不明确具体值;
        
	静态初始化: 由程序员决定数组中每一个元素的具体值,JVM根据值自动计算数组的长度;
		完整格式 : 数据类型[] 数组名 = new 数据类型[]{1,2,3,4......};
		简化格式 : 数据类型[] 数组名 = {1,2,3,4......}; //推荐使用

注意事项:
    输出,使用:
        1. 基本数据类型: 对应值
        2. 引用数据类型: 引用数据类型在内存中的地址值 : [I@4554617c
            //如果输出对象不是展示地址值,肯定是有人在搞鬼!!

            [I@4554617c:
                [ : 一维数组
                I : 数组中元素的数据类型
                @ : 没意思 -> 分隔
                4554617c : 十六进制的数
                    对象在内存中的地址值

        什么是引用: 等号右边的变量名 (arr1,arr2...)
        为什么叫引用 : 
            引用数据类型等号左边的变量接收的是数据在内存中的地址值
            基本数据类型等号左边的变量接收的是基本数据类型的具体值
动态初始化数组元素默认值
 不同数据类型的数组动态初始化默认值:
        byte,short,int,long : 0
        float,double : 0.0
        char : '\u0000' 空字符
        boolean : false
        所有元素是引用数据类型的数组 : null
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值