首页 > 其他分享 >数组(一)

数组(一)

时间:2023-09-13 21:31:40浏览次数:31  
标签:数组 int 元素 内存 student new

数组

今日份学习为一维数组及二维数组的创建,初始化以及一些基础的使用。

  • 一维数组一维数组的创建分为两类:
    一是先声明,再用new关键字进行内存分配;
    先声明:
    数组元素类型 数组名字[]
    【例】int student[];
    数组元素类型[]数组名字;
    【例】int[] student;
    (以上两种都是Java中对于数组的正确写法)
    再用关键字进行内存分配:
    数组名字=new 数组元素的类型[数组元素的个数];
    【例】=new int [5];
    (使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0)

    二是声明的同时为数组分配内存。
    数组类型名数组名=new 数组元素的类型[数组元素的个数];
    int student = new int [5];
    其中数组的长度(student.length)为5。

    使用方法用一个例子进行说明:
    【例】超市有10个储物箱,现第2,3,7,9号尚未使用,使用数组长度分别输出尚未使用的储物箱的个数以及使用的储物箱的个数。
    public class SZ {

    public static void main(String[] args) {
    int use[] = new int [] {2,3,7,9};
    int sum = 10;
    int a;
    a = sum-use.length;
    System.out.println("未使用的储物箱的数量为:"+use.length);
    System.out.println("已使用的储物柜的数量为:"+a);

    }
    }
  • 二维数组

二维数组的创建和一维数组类似。都分为两类:

一是先声明,再用new关键字进行内存分配

先声明:

数组元素类型 数组名字[][]

【例】int student[][];

数组元素类型[][]数组名字;

【例】int[][] student;

(以上两种都是Java中对于数组的正确写法)

再用关键字进行内存分配:

第一种内存分配方式是直接为每一维分配内存空间(一次性定义完):a = new int [2][4]

第二种内存分配方式是分别为每一维分配内存(定义行数,列数随机):a = new int[2][];

a[0] = new int[3];


声明的同时为数组分配内存:

【例】int a = new int [2][4];


二维数组的使用将用一个例子进行说明:

【例】输出一个3行4列且所有元素都为0的矩阵

public class Matrix {


public static void main(String[] args) {

int a[][] = new int [3][4];

for(int i=0;i<a.length;i++) {

for(int j=0;j<a[i].length;j++) {

System.out.print(a[i][j]);

}

System.out.println();

}

}


}

(对于整型二维数组,创建成功之后系统会给数组中每个元素赋予初始值0)


标签:数组,int,元素,内存,student,new
From: https://blog.51cto.com/u_15966010/7464481

相关文章

  • 监听数组Array变化或Obj属性变化
    工作中经常会遇到监听数组发生变化时执行相应的回调触发逻辑,客户应用场景中需要实现对象变量的动态监听,当变量发生变化时触发回调函数,实现事件发送等应用场景。   通常由以下两种方式实现需求一.通过改变对象原型prototype方法实现回调监听//创建一个数组原型对象varar......
  • c 语言 数组(一维)做函数参数
    @TOC前言函数参数:函数参数是函数内外连接的接口,可以互通数据。一、传递一维数组函数调用时,实参是给形参初始化,所以,实参传递什么类型的数据,形参就以什么类型去接住。比如一维数组,如下:函数fun1传递a,因为数组名就是数组的首地址,所以用int*p形参。函数fun2传递&a,是一维数组......
  • 2023-09-13:用go语言,给定一个整数数组 nums 和一个正整数 k, 找出是否有可能把这个数组
    2023-09-13:用go语言,给定一个整数数组nums和一个正整数k,找出是否有可能把这个数组分成k个非空子集,其总和都相等。输入:nums=[4,3,2,3,5,2,1],k=4。输出:True。来自左程云。答案2023-09-13:第一种算法(canPartitionKSubsets1)使用动态规划的思想,具体过程如下:1.计算数组......
  • 2023-09-13:用go语言,给定一个整数数组 nums 和一个正整数 k, 找出是否有可能把这个数组
    2023-09-13:用go语言,给定一个整数数组nums和一个正整数k,找出是否有可能把这个数组分成k个非空子集,其总和都相等。输入:nums=[4,3,2,3,5,2,1],k=4。输出:True。来自左程云。答案2023-09-13:第一种算法(canPartitionKSubsets1)使用动态规划的思想,具体过程如下:1.......
  • Glang 数组的排序和查找:快速丶希尔丶堆丶选择丶冒泡...
    一.数组的排序与查找1//数组的排序和查找2functestArrSort(){3//内部排序:将需要处理的所有数据都加载到内部存储器中进行排序(交换式排序法、选择式排序法、插入式排序)45//交换式排序法-冒泡排序:递归将最大或最小值冒泡到数组尾6Bu......
  • 剑指offer面试题3:数组中重复的数字
    一、知识点:数组相关知识二、描述在一个长度为n的数组里的所有数字都在0~n-1范围内,数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道重复几次。请找出数组中任意一个重复的数字,例如:输入长度为7的数组[2,3,2,4,3,3,5],那么输出2或者3都是正确的,存在不合法的输入的话输出-1。......
  • Java比较两个数组内容是否相同
    数组内容相同   需求:设计一个方法,用于比较两个数组内容是否相同   思路:1.定义两个数组,分别使用静态初始化完成数组元素的初始化   定义一个方法,用于比较两个数组的内容是否相同   返回值类型:boolean   参数:int[]arr,int[]arr2   比较两个数组的内容是否相......
  • 树状数组--模板
    #include<stdio.h>#include<string.h>#defineN50050intn;intin[N];intLowbit(intt){ returnt&(-t);}intSum(intp){ intsum=0; while(p>0) { sum+=in[p]; p-=Lowbit(p); } returnsum;}voidplus(intp,intnum){ while(......
  • Leetcode 26. 删除有序数组中的重复项
    题目描述给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。双指针Python实现defremoveDuplicates(nums:List[int])->int:......
  • Golang 错误处理丶数组丶切片丶随机数
    一.错误处理1//错误处理2functestError(){3errorExec:=func(){4err:=recover()//recover是内置函数,可以捕获异常5iferr!=nil{//说明捕获到错误6fmt.Println("err=",err)7}8}9err......