当前位置: 首页 > news >正文

(一)基于IDEA的JAVA基础12

一维数组

为什么使用数组:

当我们需要存储一系列数据的时候,就需要用到数组,如果不使用数组,我们就要需要一个一个的去声明变量,这样浪费内存空间,同时效率低下。

什么是数组:

数组本身就是一个变量,只是数组存储了一组数据类型相同的数据。

声明一个变量,就是在内存中划出一块合适的空间。

6eafcc2c455d400dba4f8e0d2c1c8afa.png

声明一个数组,就是在内存中划分出一连串连续的空间。

cc92ef9b0f074a598e7971fdc556ee43.png

数组的基本元素:

标识符(数组名)

数组元素(数组内存储的数据)

元素下标(从0开始每个元素都可以通过下标来找到)

元素类型(数字内存储数据类型,也是数字类型)

数组一旦声名长度,就固定不变了,声明长度为5,就只能存放5这个数据,如果存放数据超过的数组长度就会提示数组越界。

速度长度与下标的关系: 下标从零开始到速度的长度减1。

如何声明数组

1.声明数组:

语法:

数据类型 数组名 [];或: 数据类型 [] 数组名;

例子:

int a [];
int [] a;

2.分配空间

告诉计算机分配几个空间来存储数据。

例:a=new int[5]; 就是数组a开辟5个空间。

再来说一下那个下标,这里开辟五个空间,空间的下标从第一个到第五个依次是:0,1,2,3,4。

因此想从数组中调用数据就可以通过下标来调用。

3.赋值

a[0]=1;就是给数组内第一个数据赋值1。

4.处理数据

可以通过一些算数或别的方法来处理,如:

a[0]=a[0]*4;

ec034546cce1453cadf844bd0c1ebf4c.png

我们来写一个看看:

public class Test01 {
    public static void main(String[] args) {
        //声明数组
        int a [] ;
        //开辟空间
        a=new int[3];
        //进行赋值
        a[0]=1;
        a[1]=2;
        a[2]=3;
        //对原数据处理能够覆盖原数据
        a[0]=a[0]*10;
        //将a中的数据遍历出来
        for (int num:a){
            System.out.println(num);
        }
    }
}

d0c1ed70d6f646c68d0934459c91e6a4.png

 接下来是同时声明数组分配空间的写法:

语法:

数据类型 [] 数组名=new 数据类型[空间大小];

int [] age = new int [3]; 这就同时生成了数组并开辟了三个空间。

写一个看看:

public class Test01 {

    public static void main(String[] args) {

        //声明数组,同时分配空间

       int [] age = new int [3];

        age[0]=1;

        age[1]=2;

        age[2]=3;

        System.out.println(age[1]);

    }

}

e41e4a63a00f43eb8ad084106ee7a0a7.png

声明数组的第三个方法,是最常用的,声明赋值同时进行。

这个也有两种写法:

1.String [] name={"张三","李四","王五"};

(常用)

2.String [] name=new String[] {"张三","李四","王五"};

使用这个方法时不可以写长度,也就是不限制长度,创建数组并赋值必须得同一语句中书写。

 

相关文章:

  • Android Binder——ServiceManager初始化(六)
  • 【WPF应用37】WPF基本控件-DatePicker的详解与示例
  • 备考ICA----Istio实验17---TCP流量授权
  • 大模型实践:如何选择适合自己场景的Prompt框架?
  • uniapp项目问题及解决(前后端互联)
  • 深入了解iOS内存(WWDC 2018)笔记-内存诊断
  • 基于erp业务的责任链模式实战
  • 设计模式:责任链模式示例
  • 线上研讨会 | 新一代数字化技术赋能机器人及智能产线行业高质量发展
  • 2024 蓝桥打卡Day35
  • 算法训练营第35天|LeetCode 860.柠檬水找零 406.根据身高重建队列 452.用最少数量的箭引爆气球
  • Vue2 —— 学习(一)
  • JAVA POI Excel 使用数组公式 FREQUENCY
  • 2024.4.2力扣每日一题——所有可能的真二叉树
  • Word文档如何设置单选框、复选框、下拉框
  • [译] 怎样写一个基础的编译器
  • Asm.js的简单介绍
  • CSS实用技巧
  • golang 发送GET和POST示例
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • leetcode388. Longest Absolute File Path
  • Mysql5.6主从复制
  • MySQL-事务管理(基础)
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • quasar-framework cnodejs社区
  • STAR法则
  • Vue2 SSR 的优化之旅
  • Wamp集成环境 添加PHP的新版本
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 学习笔记TF060:图像语音结合,看图说话
  • 学习使用ExpressJS 4.0中的新Router
  • 06-01 点餐小程序前台界面搭建
  • ​渐进式Web应用PWA的未来
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (10)STL算法之搜索(二) 二分查找
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (C语言)字符分类函数
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四) 虚拟摄像头vivi体验
  • (转)Google的Objective-C编码规范
  • (转)iOS字体
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core Web APi类库如何内嵌运行?
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • [android] 看博客学习hashCode()和equals()
  • [autojs]autojs开关按钮的简单使用
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C++]:for循环for(int num : nums)
  • [CCIE历程]CCIE # 20604