java学习第7天---7.1---数组基础

java学习第7天---7.1---数组基础

目录




内容

1、数组概念

  数组就是一种容器,用来存放元素。在内存中为一片连续的内存空间。

2、创建数组

  • 创建数组的3中方式:

      int[] arr = new int[5];
      int[] arr1 = new int[]{1, 4, 6};
      int[] arr2 = {1, 5, 6};
    
  • 注意事项:

    • 数组中存放的元素类型必须一致
    • 数组创建的时候需要指定容量,即存放元素的个数

3、数组访问

  • 访问数组中的元素:

      int[] arr = {23, 22, 11};
      访问第一个元素:arr[0]
      访问第二个元素:arr[1]
      ...
    
    • 格式:
      • 数组名[下标]
  • 数组名:数组的内存地址

  • 下标:范围为0~数组长度-1 ,下标起始为0

4、常用方法

  • 数组.length:数组长度,元素个数

5、数组分类

5.1、 一维数组

  • 格式

      数据类型[] 数组名
    
  • 声明

      	int[] arr = new int[N];
    

5.2、二维数组

  • 格式

      数组类型[][] 数组名
    
  • 声明

      int[][] arr = new int[3][4];
    

5.3、 多维数组

  • 格式

      数据类型[][]...[]  数组名
    
  • 声明

      int[][]...[] = new int[m1][m2]...[mn];
    

5、数组遍历

  • 一维数组:

      for(int i = 0; i < arr.length; i++) {...arr[i]...}
    
  • 多维数组:

      for(int i1 = 0; i < arr.length; i1++) {
      	for(int i2 = 0; j < arr[ii].length; i2++) {
      		...
      		for(int in = 0; in < arr[in-1].length; in++) {
      			...
      		}
      	}
      }
    

6、小案例:

6.1、关灯问题

  有100个人,编号1-100;有100个房间,编号1-100;每个房间中有一盏灯,灯有2种状态,亮或者灭,通过开关控制;每个人经过全部100个房间,当房间编号可以整除人的编号的时候,此编号的人进入房间按下开关。所有房间灯的初始状态为灭。那么当100个人全部走完之后,有哪些灯是亮的那些灯是灭的?

  • 分析:

    • 问题简化
      • 灯有2种状态,,初始灭;被按奇数次,灯亮;被按偶数次,灯灭。
      • 数字1-100,整除即是求每个数的因子个数奇偶个数
  • 代码6.1-1:

      public class TestArray4 {
      	public static void main(String[] args) {
      		// 求1-100 因子个数为偶数的数
    
      		for(int i = 1; i <= 100; i++) {
      			if(Math.sqrt(i) == Math.floor(Math.sqrt(i)))
      				System.out.println(i);
      		}
      	}
      }
      测试结果:
      1
      4
      9
      16
      25
      36
      49
      64
      81
      100
    

后记

本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785

前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou
    后端JAVA源代码地址:https://gitee.com/gaogzhen/JAVA

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaog2zh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值