数组基本内容

数组

1.定义

相同类型数据的有序集合,按照一定的先后次序排列组合而成

 

2.声明创建

  1. 格式一:数据类型 [ ] 数组名

  2. 格式二:数据类型 数组名[ ]

     

3.数组的初始化

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

1.静态初始化

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

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

    拓展

    public class array {
       public static void main(String[] args) {
           //double[] array1 = new double[]{1.93,1.75,1.73,1.81};
           double[] array2 = {1.93,1.75,1.73,1.81};
           System.out.println(array2);
      }

    }

    结果:[D@7ef20235 ------地址值(习惯上整体叫做地址值)

    1. [ : 表示当前是一个数组

    2. D :表示当前数组里面的元素都是double类型

    3. @ :表示一个间隔符 (固定格式)

    4. 7ef20235 :数组真正的地址值(十六进制)

    2.动态初始化

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

     

    4.数组索引

    从0开始,逐个+1增长,连续不间断

    [0,length-1]

     

    5.数组遍历

    将数组中所有的元素取出来,可以用来打印、求和、判断...

     

    6.数组常见问题

    1. 索引越界异常(下标越界)

    2. 所有的引用类型变量,都可以赋值为一个null值,代表数组里什么都没有

    3. 数组的索引编号都是从0开始的,一直到“数组的长度—1”为止

    4. 定义数组时,数组长度要用常量或常量表达式,不能用变量

    5. 数组下标必须是整形,不能是浮点型

     

    7.数组使用

    1. 增强for循环

    2. 数组做方法入参

    3. 数组作返回值

     

     

    8.打乱数组元素顺序

    Random函数

    1、random.random() 随机生成(0,1)之间的浮点数

    2、random.randint(上限,下限) 随机生成在范围之内的整数,两个参数分别表示上限和下限

    3、random.randrange( , , ) 在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限

    使用方式如下: random.randrange( 0,11,2) 随机产生范围为10间隔为2的数 注:这里输出(0,2,4,6,8,10)中一个

    4、random.choice(list) 从序列中随机抽选一个数

    5、random.shuffle(list) 随机排序 注:list元素为数值型

    random.seed(0)设置初始化随机数种子

    public static void main(String[] args) {
           int []arr = {1,2,3,4,5};
           //遍历数组,打乱数组中元素顺序
           Random random = new Random();
           for (int i = 0; i < arr.length; i++) {
               int randomIndex = random.nextInt(arr.length);
               //拿随机索引的数组元素跟i指向的元素进行交换
               int temp = arr[i];
               arr[i] = arr[randomIndex];
               arr[randomIndex] = temp;
          }
           //输出打乱顺序的数组
           for (int i = 0; i < arr.length; i++) {
               System.out.println(arr[i] + " ");
          }
      }
     
  •  

     

     

 

posted @   枫叶予  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示