Java数组-2022年4月17日

ArrayList概念:一个连续的空间,存储多个相同数据类型的值
特点:
1. 类型相同
2. 长度固定
数组的创建

    数组类型[] 数组名 = new 数组类型[数组长度];
    //长度大小决定了你数组存储的大小

数组的声明和赋值:

数组的声明方式 具体声明赋值方法 先声明、分配空间

声明并分配空间

声明并赋值{复杂版本}

声明并赋值(简单版本)

注意:数组的下标是从0开始计数的

数组的使用: 创建数组,依次赋值,依次取值
有效下标范围: 0~(数组长度-1)

常见的数组异常就是数组下标越界:
报错: java.lang.ArrayIndexOutOfBoundsException: n ====>>此处的N表示的是你所访问的超出数组下标的无效下标

  • 就是从头到尾对数组每一个元素的访问
    可以通过下标依次进行访问,也可以通过循环来获取每个下标对应的数组中的值

//通过下标依次获取(for循环)
public void Test(){
    int i[] = {1,2,3,5,6,7,8};
    for (int i = 0; i

扩容的思路:
1. 创建大于原数组长度的新数组;
2. 将数组中的元素依次赋值给新的数组中
赋值的方式:
循环遍历依次赋值(for);
System.arraycopy(原数组,原始数组起始,新数组,新数组长度,长度);
java.util.Array.copyOf(原数组,新长度); //返回带有原值的新数组

创建新数组,长度为原数组的两倍,新数组中保持原有数据,返回新数组

     public static void main(String args[]){
        int[] oa = {111,222,333,444,555,666};//0x0000A111
        int[] na = expand(oa);
        for (int i = 0;i
    public static void printArray(int... Array){
        for (int i=0;i

    public static void bubbleSort(int[] array){
        //相邻的两个数值比较大小,互换位置
        System.out.println("bubbleSortTest=========");
        System.out.println(Arrays.toString(array));
        for (int i=0;iarray[j+1]) {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
        forArray(array);
    }//冒泡排序

    public static void selectionSort(int[] array){
        //固定值与其他值依次比较大小,互换位置
        System.out.println("selectionSortTest========");
        System.out.println("原始数据值:"+Arrays.toString(array));//转换成字符串输出

        for (int j = 0;j默认升序)
        Arrays.sort(array);
        forArray(array);
    }//JDK排序

概念:二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。


    public static void PrintAr2(){
        int[][] array;
        array = new int[][]{{1,2,3,4},{4,3,2,1}};
//        System.out.println(Arrays.toString(array[0]));//输出数组的内容
//        System.out.println(array[1][1]);//访问通过数组的下标进行访问{}==》代表的就是一个维度,合数组访问类似
        //遍历二位数组
        for (int i=0;i

public class demo_3 {
    public static void main(String args[]){
        int[] oa = {222,111,333,555,444,666};//0x0000A111
        int[] na = expand(oa);
//        for (int i = 0;iarray[j+1]) {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
        forArray(array);
    }//冒泡排序

    public static void selectionSort(int[] array){
        //固定值与其他值依次比较大小,互换位置
        System.out.println("selectionSortTest========");
        System.out.println("原始数据值:"+Arrays.toString(array));//转换成字符串输出

        for (int j = 0;j默认升序)
        Arrays.sort(array);
        forArray(array);
    }//JDK排序

    public static void PrintAr2(){
        int[][] array;
        array = new int[][]{{1,2,3,4},{4,3,2,1}};
//        System.out.println(Arrays.toString(array[0]));//输出数组的内容
//        System.out.println(array[1][1]);//访问通过数组的下标进行访问{}==》代表的就是一个维度,合数组访问类似
        /** 遍历二位数组*/
        for (int i=0;i

Original: https://www.cnblogs.com/nacjackson/p/16157594.html
Author: Nac_Jackson
Title: Java数组-2022年4月17日

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570784/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL的undo日志—MVCC前置知识

    undo日志 前面学习了redo日志,redo日志保证的是崩溃时事务持久性。我们可以从redo日志恢复到系统崩溃以前。 undo日志就是为了保证事务回滚时事务所作所为都能回到事务执…

    Java 2023年6月16日
    074
  • Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据

    OAL 如何通过动态生成的 Class 类,保存数据 前置工作 OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org…

    Java 2023年6月5日
    086
  • 同一台电脑生成多份ssh私钥和公钥,映射多个GitHub账号

    当我们使用 Git 进行代码版本控制时,经常出现一台电脑需要连接多个Git 账号的情况,此时需要在一台电脑上生成多份 ssh 私钥和密钥,同时映射多个 Git 账号;这里我们需要同…

    Java 2023年6月5日
    066
  • @Async注解的坑,小心

    大家好,我是三友。 背景 前段时间,一个同事小姐姐跟我说她的项目起不来了,让我帮忙看一下,本着助人为乐的精神,这个忙肯定要去帮。 于是,我在她的控制台发现了如下的异常信息: jav…

    Java 2023年6月16日
    076
  • 各种虚拟机镜像站点

    各种虚拟机镜像站点 https://mirrors.dtops.cc/ 纸上得来终觉浅,绝知此事要躬行。 posted on2022-02-03 17:48 boonya 阅读(2…

    Java 2023年5月30日
    074
  • 新款F系列虚拟机

    我们宣布,10款全新的优化版虚拟机今天正式面市。这款名为”F系列”的全新虚拟机,基于因特尔2.4 千兆赫Xeon® E5-2673 v3(Haswell)处…

    Java 2023年5月30日
    089
  • [springmvc]mvc的多种方式实现请求转发与重定向

    3.restful风格 RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。 RESTFUL适用于移动互联网厂商作为业务接…

    Java 2023年6月6日
    0102
  • Java泛型

    泛型程序设计意味着编写的代码可以被很对不同类型的对象所重用。 简单使用 简单泛型类 一个泛型类是具有一个或多个 类型变量的类。 类型变量常使用大写形式,并且一般较短。通常使用E表示…

    Java 2023年6月13日
    081
  • 设计模式学习笔记(十五)命令模式及在Spring JdbcTemplate 中的实现

    命令(Command)模式是指将请求封装成为一个对象,使发出请求和执行请求的责任分割开,方便将命令对象进行存储、传递、调用、增加与管理。 也就是将发送者、接收者和调用命令封装成独立…

    Java 2023年6月6日
    082
  • Java8 利用Lambda处理List集合

    List list = new ArrayList(); User user1 = new User("第一位","用户1"); list….

    Java 2023年5月29日
    070
  • 【主流技术】Redis 在 Spring 框架中的实践

    前言 一、Redis 概述 1.1Redis 是什么? 1.2Redis 能做什么? 1.3基础知识 二、Redis 安装与基本命令 2.1Windows 安装 方式一 方式二 2…

    Java 2023年6月6日
    062
  • 继承

    public class 子类名 extends 父类名 { } ​ 注意事项:Java 不支持多继承 可以多层继承 (一个类不可以直接有多个父类,可以有父类的父类) ​ 让类3与…

    Java 2023年6月8日
    080
  • Windows 的这款工具,有时让我觉得 Mac 不是很香

    上次写了个 cheat.sh 在手,天下我有,小伙伴们热情高涨,觉得这是一个没有杂质的好工具;也有小伙伴抱怨说对 Windows 用户不是特别友好 (其实用 curl API 是没…

    Java 2023年6月5日
    070
  • SpringBoot Spring Security 核心组件 认证流程 用户权限信息获取详细讲解

    前言 Spring Security 是一个安全框架, 可以简单地认为 Spring Security 是放在用户和 Spring 应用之间的一个安全屏障, 每一个 web 请求都…

    Java 2023年6月13日
    083
  • mybatis各阶段的详解

    1 本阶段的需要注意的几个点 配置的顺序,不配则不用管,配则必须按顺序来!!!!properties?,settings?,typeAliases?,typeHandlers?,o…

    Java 2023年6月8日
    0115
  • Linux命令拾遗-查看系统信息

    原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 作为一名程序员,有时需要关注自己的进程运行在什么样的软硬件环境里,比如几核cpu、固态硬盘还是…

    Java 2023年6月7日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球