zoukankan      html  css  js  c++  java
  • Day05:循环问题 / 数组

    循环嵌套

    循环结构中包含完整的循环结构。

    注意:

    循环嵌套不限层次

    各种循环语句都可以互相嵌套

    内层循环中出现的break和continue只作用在内层循环中

    外层循环循环一次

    内层循环循环一遍

    Java 数组

    一个能够保存多个相同数据的变量组成。

    为什么需要数组?
    程序中如果需要保存很多数据时
    定义多个变量不好管理
    使用数组方便管理

    数组组成

    变量名就是数组名

    保存的数据叫数组元素

    数组能够存放的数据数量叫长度

    数组中数据的编号叫下标

    数组特性

    数组中的数据类型相同

    数组长度固定不变

    数组的元素都有默认值

    数组声明

    类型 [] 数组名
    int []arr;
    int arr[];
    double[] nums;

    数组初始化

    int[] arr;
    arr=new int[长度];
    //和二为一
    int[] arr=new int[5];

    数组元素赋值

    利用数组元素的下标访问数组元素

    arr[2]=10;
    //对arr数组下标为2的元素赋值为10

    数组元素取值

    System.out.println(arr[0]);
    arr[2]=6;
    arr[3]=7;
    arr[4]=arr[2]+arr[3];

    数组遍历

    将数组中的所有元素都访问一遍

    实现:

    使用循环结构来遍历数组

    使用for循环

    数组长度

    数组名.length来表示数组的长度
    int[] nums=new int[4];
    System.out.println(nums.length);

    数组声明后直接赋值

    1:声明直接赋值

    int nums={7,6,3,9,9,4,2};
    //右侧是{}
    //==左边必须是声明

    2:先声明后赋值

    int[] nums;
    nums=new int[]{7,6,3,8,9,4,2}
    //==左侧不是声明
    //右侧必须要直接赋值
    //new 类型名[]{};
    //[]必须空着

     数组操作

    数组对比

    Arrays.equals(数组1,数组2);

    数组相等的条件:

    数组元素个数必须相等

    对应位置的元素相等

    数组填充

    Arrays.fill(数组,填充的值);

    数组查找

    在进行查找前,必须对数组进行排序

    1:没有指定范围查找

    binarySearch(要找的数组,要找的值);

    2:指定范围查找

    binarySearch(查找的数组,开始索引,结束索引,要找的元素);

    数组复制

    Arraays.copyOf(复制数组名,新数组长度);
    //从原数组第一个元素进行复制

    注意:

    目标数组如果已存在,将不会被重构

    Arrays.arraycopy和copyOf

    arraycopy

    功能强大,使用灵活

    参数多,容易发生异常

    需要较复杂的数组复制时使用

    copyOf

    参数少,没异常

    功能有限,需要import

    需要普通数组的数组扩容,缩容时使用

     数组排序

    生序:从小到大

    降序:从大到小

     sort()

    Arrays.sort(数组名);

    数组引用特征

    任何数组都时引用数据类型

    基本数据类在栈中保存数值

    引用数据类型在栈中保存的是引用

    所有传递的是引用

    其他排序待补充!!! 

  • 相关阅读:
    React项目安装过程及node版本太老引发问题
    利用git上传、拉取代码,密码和用户名字不正确时,如何操作
    Vue和react的优缺点
    同步异步差别
    深拷贝和浅拷贝区别
    vue项目引用Swiper.js在低版本浏览器出现错误
    uniApp h5分享实现
    input上传图片样子太丑了,实现美化的tips
    关于cli3.0跨域的处理
    webpack4.0
  • 原文地址:https://www.cnblogs.com/wsnb8/p/11307699.html
Copyright © 2011-2022 走看看