zoukankan      html  css  js  c++  java
  • java初学者笔记总结day10

    数组的概念
    数组一种数据类型-》引用类型
    作用
    之前学习的数据类型都只能装一个值,数组可以装多个值。

    一维数组定义引用
    语法1:数组元素的类型 [] 变量名;(java方式-推荐)
    语法2:数组元素的类型 变量名 [] ;(c 保留)


    创建数组对象--定义引用并静态初始化:知道数组的长度和内容。
    语法: 数组元素的类型 [] 变量名=new 数组元素的类型 []{元素1,元素2...};

    创建数组对象--定义引用并动态初始化:知道数组的长度。
    语法: 数组元素的类型 [] 变量名=new 数组元素的类型 [长度];
    注意:动态初始化后,数组元素都有默认值,规则与属性一致。

    一维数组的访问及遍历
    1)数组的长度:数组引用.length;
    2) a)访问数组位置的值:
    数组元素类型 变量= 数组引用[下标];
    b)设置数组位置的值:
    数组引用[下标]=新的元素的值;


    3)遍历:把数组所有的元素找出来
    for(int 下标=0;下标<=len-1;下标++){
    //当前元素
    数组元素类型 变量=数组引用[下标];
    }

    数组的注意点
    1)数组的元素绑定下标,下标范围0到len-1
    2)访问数组元素的时候下标必须是(0到len-1)否则-》报错ArrayIndexOutboundsOfexception
    3)数组的元素必须是统一类型(类型兼容)
    a)基本类型 满足 小类型自动转大类型
    b)引用类型 满足子类型自动转超类型
    4)数组底层存储元素内存位置是连续的,访问元素效率高(读取和设置)
    数组相关算法

    冒泡排序逻辑
    1)排序每一趟确定一个数的位置
    2)一共需要n(数的的个数)-1趟
    3)每一趟确定数的位置-》通过两个数(前面和后面的数)比较n-i(第几趟)次
    4)两个数进行比较,升序-》把两个数中大的放后面-》降序-》小的放后面

    二分法查找逻辑
    1)升序排序
    2)每次找元素找当前范围(开始和结束位置)的中间位置的值来与目标值进行比较
    3)初始时候:开始位置0,结束位置是len-1
    4)每次找-》中间位置的值来与目标值-》进行比较
    a)中间值大:结束位置设置为中间值-1
    b)中间值小:开始位置设置为中间值+1
    c)相等:找到了,返回即可

    二维数组的使用
    理解:把二维数组想象为表格
    二维数组的长度--》行的长度
    二维数组的一维数组的长度--》列的长度

    静态初始化-定义引用并创建对象
    语法:
    一维数组的元素 [][] 二维数组名=new 一维数组的元素 [][]{
    {一维数组元素1,一维数组元素2...},//一维数组-第一行
    {...},//一维数组-第二行
    {...},//...
    };


    动态初始化
    语法1:
    一维数组的元素 [][] 二维数组名=new 一维数组的元素 [行长度][];
    二维数组的元素--》初始化为null
    语法2:
    一维数组的元素 [][] 二维数组名=new 一维数组的元素 [行长度][列长度];
    二维数组的元素--》初始化为一个列长度的一维数组。

    二维数组的访问及遍历

    1)二维数组的长度:二维数组引用.length;
    2)二维数组的元素(一维数组):二维数组引用[二维数组下标];
    3)二维数组的元素(一维数组)的长度:二维数组引用[二维数组下标].length;
    4)二维数组的元素(一维数组)的元素:二维数组引用[二维数组下标][一维数组下标];

    5)遍历
    //遍历二维数组-元素(一维数组)
    for(int 二维下标=0;二维下标<=len-1;二维下标++){
    //当前元素-》一维数组
    一维数组元素类型 []变量=二维数组引用[下标];
    //遍历一维数组-元素(具体数据)
    for(int 一维下标=0;一维下标<=len-1;一维下标++){
    //当前元素-具体数据
    一维数组元素类型 变量=一维数组引用[一维下标];
    }
    }

  • 相关阅读:
    MySQL执行计划extra中的using index 和 using where using index 的区别
    Python + Apache Kylin 让数据分析更加简单!
    性能测试解读:Kyligence vs Spark SQL
    greenplum 表在各个节点数据的分布情况
    postgresql drop表后空间不释放
    PostgreSQL 查看表、索引等创建时间
    postgresql Kill掉正在执行的SQL语句
    linux ps命令查看最消耗CPU、内存的进程
    Linux shell
    TPC-H 下载参考
  • 原文地址:https://www.cnblogs.com/Tab1994/p/5443841.html
Copyright © 2011-2022 走看看