第五天 循环高级 ,数组,随机生成数

 

目录

循环高级

无限循环

跳转控制语句

练习:老虎吃包子

Random随机生成数

数组

什么是数组

数组的定义

静态初始化

数组的地址

数组元素访问

数组遍历

动态初始化

动态初始化与静态初始化区别

数组常见问题


循环高级

无限循环

循环一直停不下来。

for(;;){

System.out.println("学习");

}
while(ture){

System.out.println("学习");

}
do{

System.out.println("学习");

}while(ture);

注意:无限循环下面不能再写其他代码,因为循环永远停不下来。

跳转控制语句

在循环过程中,跳转到其他语句执行。

continue:结束本次循环进入下次循环。

break:结束整个循环。

练习:老虎吃包

在第三个包子跳过

public static void main(String[] args) {
        //跳过某一次循环
        for (int i=1;i<=5;i++){
            if (i==3){
                continue;//结束本次循环进入下次循环
            }
            System.out.println("老虎再吃第"+i+"个包子");
        }

跳过第三个,不吃第四第五个

for (int i= 1;i<=5;i++){
            if (i==3){
                break;//结束整个循环
            }
            System.out.println("老虎再吃第"+i+"个包子");
        }

Random随机生成数

1.导包 impor java.util.Random; 导包的动作必须出现在类定义的上边。

2.创建对象:表示我要开始用Random这个类了。 Random r = new Random(); 上面这个格式里面,只有r是变量名,可以变,其他都不允许变。

3.生成随机数 int number = r.bextInt(随机数的范围); 上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。 范围包头不包尾,包左不包右。10是0-9范围。

秘诀:需要范围7-15的随机值

1.让这个范围头尾都减去一个值,让这个范围从0开始 -7范围是0-8

2.尾巴+1 8+1=9 3.最终结果,再加上第一步减去的值。

Random r = new Random();
int number = r.nexInt(9)+7;
System.out.println(number);

数组

什么是数组

是一种容器,可以用来储存同种数据类型的多个值 数组容器在储存数据的时候,需要结合隐式转换考虑。 例如:int类型的数组容器(byte short int) 例如:double类型的数组容器(byte short int long float double)

数组的定义

格式一:数组类型 [] 数组名 int [] array

格式二:数组类型 数组名[] int array[]

初始化:就是在内存中,为数组容器开辟空调,并将数据存入容器的过程。

静态初始化

初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。

完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3....};

简化格式: 数据类型[] 数组名 = {元素1,元素2,....};

数组的地址

I@776ec8df

I:        int类型
@:        一个间隔符号(固定格式 )
776ec8df:        数组真正地址值(十六进制)

数组元素访问

格式:数组名[索引];

索引:也叫下标,角标。

索引的特点:从0开始,逐个+1,连续不断增长。

获取数组中里面的元素:

格式:数组名[索引];

把数据储存到数组中:

格式:数组名[]=具体数据/变量;

细节:一旦覆盖之后,原来的数据就不在了。

数组遍历

数组遍历:将数组中所有内容取出来,取出来之后可以(打印,求和,判断..)

注意:遍历是指取出数据的的过程,不要局限的理解为,遍历就是打印!

//定义数组
        int[] arr= {1,2,3,4,5};
        //获取数组里面所有的元素
        //格式:数组名[索引]
        /*System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        System.out.println(arr[4]);*/
        //利用循环改进代码
        //开始条件0 结束条件数组长度-1
        /*for (int i = 0; i < 5; i++) {
            System.out.println(arr[i]);
        }*/

在Java中,关于数组的一个长度属性,length, 调用方法:数组名.length。

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

扩展,自动生成数组遍历方法,idea提供。 数组名.fori

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

动态初始化

动态初始化 :手动指定数组的长度,有系统数组分配初始值。

格式:数据类型[] 数组名 = new 数据类型[数组长度];

数组默认初始化值的规律 整数类型:默认初始化值0。 小数类型:默认初始化值'/u0000' 空格。 布尔类型:默认初始化值 false。 引用数据类型:默认初始化值 null。

动态初始化与静态初始化区别

动态初始化:手动指定数组长度,由系统给出默认初始化值。 只明确元素个数,不明确具体数值,推荐使用动态初始化。

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。 需求中已经明确了要操作的具体数据,直接静态初始化即可。

数组常见问题

当访问了数组中不存在的索引,就会引发索引越界异常。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值