首页 > 其他分享 >Day14.2:数组的声明及创建

Day14.2:数组的声明及创建

时间:2022-11-17 17:37:47浏览次数:55  
标签:下标 Day14.2 int 创建 元素 数组 赋值

数组

概念

相同类型的数据的集合。

  • 语法格式:
//数组类型 数组名 =数组的值;
int[] a=new int[10];
//数组a含10个int类型的数据
//=====================================

//一个数组的创建我们把他拆解为三步
//第一步:声明数组类型
int[] a;
double[] b;//同最开始学习变量定义一样,先定义数组的类型;
//第二步:数组赋值
a=new int[10];
b=new double[5];//[]内的数字代表数组内数据的个数;
//第三步:以上两步并未给数组内的数据赋上具体的值,仅创建了含有多少个数据的数组,接下来是对每个数据进行赋值
//数组内每个数据需要我们去赋值,否则会成为默认值,八大基本类型的默认值为0,其他的为null;
//数组内的每个数据都有下标用来区分,第一个数据为编号0,依次递增
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
a[4]=5;
a[5]=6;
a[6]=7;
a[7]=8;
a[8]=9;
a[9]=10;//此时我们完成了数组创建以及每个元素赋值的整个过程

数组的长度以及下标的作用

  • 数组的长度及数组元素的个数,下标及区分每个元素的所在位置;

  • 利用数组的长度以及下标可以方便我们对数组进行一些运算。

  • 如果打印的下标不存在,则会报错数组下标越界,需要检查下标是否出现问题

案例:

1.打印一个数组的所有元素;

2.计算一个数组内的所有元素和;

3.将最大的元素取出来

public class demo{
    public static void main(String[] args){
        int[] a=new int[5];
        a[0]=1;//掌握不牢,容易写成int[0]=1;
        a[1]=2;
        a[2]=3;
        a[3]=4;
        a[4]=5;
        for(int i=0;i<=a.length-1;i++){//数组的长度为元素的个数,而元素的下标是从0开始的,所以下标会比长度少一个
            System.out.println("int"+"["+i+"]"+a[i]);
        }
       int sum=0;
        for(int i=0;i<=a.length;i++){
            sum=sum+int[i];
        }
        System.out.println(sum);//=15
        int max=0;
        for(int i=0;i<=a.length-1;i++){
            if(a[i]>max){
                max=a[i];
            }
        }System.out.println(max);//=5
    }
}

关于数组创建的内存分析

当我们声明数组时,会在栈里面压入一个数组名,当我们创建数组时,会在堆里面开辟一个空间放入数组的元素,当我们给数组赋值时,会给元素赋上值。

标签:下标,Day14.2,int,创建,元素,数组,赋值
From: https://www.cnblogs.com/CQliuwei/p/16900153.html

相关文章

  • NumPy切片或直接赋值生成数组视图
    1先创建一个ndarry数组aimportnumpyasnpa=np.arange(start=1,stop=10,step=2)print(a)[13579]2将a切片赋值于一个数组bb=a[0:1]print(b)[1]3......
  • [模板]kmp求Next数组
    模板#include<iostream>#include<string>usingnamespacestd;voidgetNext(conststring&p,intnext[]){intlen=(int)p.size();next[0]=-1;......
  • shell 关联数组 ${!array[@]} 取关联数组所有键
    ShellAssociativeArray   bashi没有原生的对于类似hashtable的支持,不像perl或python.下标数组元素是通过数组下标(数组下标可以是算术表达式,其结果必须是一个整数)......
  • 代码随想录day1补充之LeetCode27移除元素相向双指针法&补充题目---LeetCode35搜索插入
    1.LeetCode27移除元素题是晚上刷的,今天看发现第一天的题目只写了快慢指针法(见链接Day1),现补充练习实现相向双指针法。分析:相向双指针法是指使用左右指针,左指针寻找需要移......
  • ReactNote-函数组件和类组件
    组件:可以编写react元素虚拟DOM:react元素真实的DOM:可以展示React里很重要的:组件组件目的:复用组件作用:代码分隔组件在React里有两种定义的方式:第一种:......
  • Day7-5 创建对象的内存分析
    创建对象内存分析  packagecom.oop.demo03;​publicclassPet{publicStringname;publicintage;​publicvoidshout(){S......
  • 1.1 创建一个WCF应用程序服务
    第一步:引入System.ServiceModel.dll第二步定义一个WCF接口://定义接口[ServiceContract]interfaceIGetInfo{[OperationContract]D......
  • 【c&c++】如何创建动态库
    静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响,即使库被删除,程序依然可以成功运行。而依赖动态库的程序其实也有链接动态库的阶段,只不过这个链接并不是真......
  • PHP 之将数组拼接为sql语句
    一、代码/***拼接sql语句*@param$table*@param$array*@returnstring*/functioninsertSql($table,$array){$sqlk='';$sqlv='';f......
  • c——动态数组
    #include<stdio.h>#include<string.h>typedefstructtest_stest_t;structtest_s{inta;intb;chararr[0];};intmain(){test_t*t;......