首页 > 编程语言 >Java数组小白版

Java数组小白版

时间:2024-08-11 13:38:30浏览次数:13  
标签:arr Java int money 数组 new 100 白版

一、数组概念

一、数组定义

数组就是指在计算机内存中开辟的连续存储空间,用于存放程序运行中需要用到的一组相同类型数据的容器。

二.数组的声明 +数组的长度

定义数组时需要确定数组的长度(元素的个数),确定后不能更改;

获取数组长度:数组名.length

1. 格式1(默认初始值)

  • 数据类型 [ ] 数组名 = new 数据类型 [ 数组的个数 ]

    例:int [ ] money = new int [ 100 ];

    数组长度:money.length(100);

2.格式2(赋予初始值)

  • 数据类型 [ ] 数组名 = new 数据类型 [ ]

    例:int [ ] money = new int [ ]{100,200,300,...n};

    数组长度:money.length(n);

3.格式3(格式2简写)

  • 数据类型 [ ] 数组名 =

​ 例:int [ ] money = {100,200,300};

​ 数组长度:money.length(3);

三、数组的访问

例:

int [ ] money = new int [ 100 ]; //声明一个包含100个元素的数组

访问第一个元素(数组下标索引从0开始)

money[ 0 ] = 100;

访问第二个元素

money [ 1 ] =200;

​ ...

访问第100个元素

money [ 99 ] = 1000;

访问第101 个元素(数组下越界异常,数组越界,不会显示编译错误,而是运行时报错)

money[ 100 ]= 1100;

四、数组的遍历

例:

int [] arr = new int [6];
for(index = 0;index < arr.index.length;index++){
    System.out.println(arr[index])
}

五、数组的特点

1.数组长度一旦指定,就无法更改;

2.数组一旦声明类型后,数组中只能存放同一类型的数据数组;

3.数组类型可以是任何数据类型,包括基本类型和引用类型;

数组有索引:从零开始,到数组.length-1结束。

六、数组的缺点

1.数组长度指定后,就不能更改;

2.删除、添加元素效率低;

3.数组中实际元素的数量没办法获取,没有提供对应的方法或属性来获取;

七、实例

/**
 * @author yeye
 * @desc 数组访问示例
 * @date 2024
 */
public class ArrayVisitDemo {
    public static void main(String[] args) {
        int [] arr = new int [5];
        arr [0] = 1;
        arr [1] = 2;
        arr [2] = 3;
        arr [3] = 4;
        arr [4] = 5;
//        arr [5] = 6;//数组越界,不会显示编译错误,而是运行时报错
        System.out.println("数组的长度是:"+arr.length);
        //数组遍历
        for(int index = 0;index <arr.length;index++){
            System.out.println(arr[index]);
        }
        System.out.println("数组元素为:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
    }
}

二、一维数组和二维数组

一、一维数组定义

数组中每个元素都只带一个下标,这样的数组称为一维数组。使用Java数组前,应声明数组并为数组分配存储空间。

二、声明一维数组

1.类型标识符 [ ] 数组名 =null; 例:

int [ ] list = null; //声明list为一维类型数组

2.类型标识符 数组名 [ ] = null;例:

int list [ ] = null; //声明list为一维类型数组

三、初始化一维数组

1.通过直接指定初值来初始化数组,例:

int [ ] list = {1,2,3};

2.利用new关键字初始化

利用new 关键字初始化数组,不仅能为数组分配需要的存储空间,还能按照Java的默认初始化原则为数组元素赋值。

四、二维数组

例:int money [ ] = new int [3] [12];

二维数组的遍历

int money [ ] = new int [3] [12];

for(int row = 0;row <3;++row){
     for(int column = 0;column<13;++column){
           money[row][column] =100;
     }
}

三、数组的算法(冒泡排序法)

口诀 :

冒泡排序要知道;内外循环两层套;外环数组遍历到;内环边界计算好;左右元素判大小;临时变量交换好。

//外层循环遍历整个数组(最后一个数组不需要遍历)
for(i = 0;i < (数组长度-1);i++){
    //内存循环控制元素交换即冒泡,一般为数组长度-外层循环遍历-1
    for(j = 0;j <(数组长度-i-1);j++){
        //升序--如果前面大于后面则交换;降序--如果后面大于前面则交换
        if(array[j] > array[j+1]){
            //引进temp变量作为交换媒介
            int temp = array[j+1]; //临时变量
             array[j+1] = array[j];
             array[j] = temp;
         }
    }
         
}

实例:

package array;

/**
 * @author yeye
 * @desc 冒泡排序法
 * @date 2024
 */
public class BubbleSortDemo {
    public static void main(String[] args) {
        // 定义数组
        int[] arr =new int [] {3,2,5,8,6,1,4,7};
        //冒泡排序
        for(int i = 0;i < arr.length;i++){
            for(int j =0;j <arr.length-i-1;j++){
                if(arr[j] > arr[j+1] ){
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        // 输出排序后的数组
        for(int i = 0;i < arr.length;i++){
            System.out.print(arr[i]);
        }
    }
}

标签:arr,Java,int,money,数组,new,100,白版
From: https://www.cnblogs.com/wmshun/p/18353283

相关文章

  • 499 道 Java 面试题 (附答案):JVM+ 分布式 + 算法 + 锁 +MQ
    Spring如何管理事务的。Spring怎么配置事务(具体说出一些关键的xml元素)。说说你对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的。Springmvc中DispatcherServlet初始化过程。netty......
  • Java秋招校招面试
    本人学习两个月Java总结面试找到工作,整理了如下面试题目(只适合找一份非大厂工作!!)(多背多面)祝愿大家找到满意的工作该版本为简洁-以及-大家独立思考只给出题目,大家可以根据题目自行搜索,如不想搜索可以私信我给大家发带答案版本的,本人学习两个月Java总结面试找到工作,整理了如下面试......
  • 数组应用实例-三子棋
    目录1.文件组织2.test.c文件的架构2.1主函数2.2菜单2.3游戏2.3.1棋盘初始化:2.3.2下棋过程2.3.3判断输赢3.具体函数声明与实现3.1初始化棋盘3.2打印棋盘3.3玩家下棋3.4判断输赢3.5棋盘占满3.6电脑下棋4.最后调整1.文件组织采用多文件组......
  • Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)
    1.简介前边通过宏哥的讲解和分享想必小伙伴们和童鞋们都已经见过testng框架生成的测试报告,是不是它的样子和长相实在是不敢让大家伙恭维。那么今天宏哥就当一回美容师,由宏哥来给它美美容;当一回外科医生,做一名整形医生。由宏哥来主刀,给它整整形。让她变得丰满、美丽、可爱......
  • 解决LocalDateTime返回前端数据为数组结构的问题
    问题现象解决办法如下1、使用@JsonFormat@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")结果2、使用SpringMVC提供的ExtendMessageConverters@Slf4j@ConfigurationpublicclassWebMvcConfigextendsWebMvcConfigurationSupport{/**......
  • JavaL1-07_综合练习
    练习一:需求:    机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。    按照如下规则计算机票的价格:旺季(5~10月)头等舱9折,经济舱8.5折,淡季(11月~来年4月)头等舱7折,经济舱6.5折。代码示例:packagecom.itheima.test;importj......
  • 【Java毕设选题推荐】基于SpringBoot的springbootOA公文发文管理系统
    前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务......
  • 【Java毕设选题推荐】基于SpringBoot的协同过滤算法美食推荐小程序
    前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务......
  • Java - 多线程
    三种实现方式常用成员方法1.线程name默认“Thread-”+"序号"2.可以通过重写构造方法在创建时给线程命名线程的生命周期与状态同步代码块格式synchronized(锁对象){操作共享数据的代码}1.锁对象随机,但只要是有static修饰的唯一对象,一般写本类class文件,如MyTh......
  • 节假日配置初始化 redis缓存方案及@PostConstruct注解,Cache方案GuavaUtils.java工具类
    节假日配置初始化redis缓存方案及@PostConstruct注解,Cache方案GuavaUtils.java工具类启动报错:本机,在jenkins上面没有报错?包括嵌套的注入Beanjava静态代码块和spring@value等注解注入顺序https://www.cnblogs.com/oktokeep/p/15530697.html/***节假日配置初始化redis缓存......