首页 > 其他分享 >数组

数组

时间:2024-07-09 21:08:14浏览次数:10  
标签:nums int System 数组 new array

数组

  • 相同类型数据的有序集合,数组也是对象,数组长度一旦确定不可更改。

  • 每一个数据被称为一个数组元素,每个数组元素可以通过索引(下标,从0开始)访问

  • 必须先声明数组变量,才能使用数组:数据类型 [] 数组名称 ;例:Int[] nums;

  • Java用new操作符创建数组,例:nums=new int[10];

  • 获取数组长度:例如:nums.length;

    int[] nums;//声明一个数组,名为nums,数据类型为int
            nums =new int[5];//创建一个数组,可以存放5个int型数字(声明数组是,数组并不存在,创建数时才存在)
            //以上两步亦可以写成:int[] nums=new int[5];
    

    数组特点

    长度确定,一旦创建,长度大小不可以更改

    元素必须是相同类型

    类型可以为任何数据类型,包括基本类型,引用类型

    数组对象在堆中

    内存分析

    堆:

    存放new的对象和数组 例:nums =new int[5];

    可以被所有的线程共享,不会存放别的对象引用

    栈:

    存放基本变量类型(会包含这个基本类型的具体数值)

    引用对象的变量(存放这个引用在堆里面的具体地址)

    方法区:

    可以被所有的线程共享

    包含了所有的class和static变量

    数组初始化

    静态初始化:定义后不可在更改:int[] nums={1,2,3},创建数组并赋值

    动态初始化:()包含默认初始化;int[] nums=new int[2]; nums[0]=1; nums[1]=2;

    默认初始化:未赋值,基本类型为0,0.0;string类型为null。

    数组使用

    for循环:

     //打印全部数组元素
            int[] nums={1,2,3,4,5};
            for (int i = 0; i < nums.length; i++) {
                System.out.print(nums[i]);
            }
    
    
    //for循环  计算所有元素和
            int sum=0;
            int[] nums={1,2,3,4,5};
            for (int i = 0; i <nums.length ; i++) {
                sum=sum+nums[i];
            }
            System.out.println("和为:"+sum);
    
     //for循环  查找最大元素
    int[] nums={1,2,3,4,5};
            int max=nums[0];
            for (int i = 0; i < nums.length; i++) {
                if (max<nums[i]){
                    max=nums[i];
                }
            }
            System.out.println("最大值为:"+max);
    

    增强for循环:(array.for)for(int array:数组名){}

     public static void main(String[] args) {
            int[] nums={1,2,3,4,6};
            for(int array:nums){
                System.out.print(array+"  ");
            }
        }
    

    数组作方法入参:

    //数组作方法入参:
    public static void main(String[] args) {
            int[] nums={1,2,3,4,6};
            printArray(nums);
        }
        public static void printArray(int[] nums){
            for (int i = 0; i < nums.length; i++) {
                System.out.print(nums[i]+" ");
            }
        }
    

    数组作返回值:

    二维数组:

    int a[][]=new int[2][5];//一个2行5列的数组
    
     public static void main(String[] args) {
            int[][]array={{1,2},{2,3},{5,6},{5,2}};
            System.out.println(array[0][1]);//第一行,第二列,输出结果为2
            System.out.println(array[1][1]);//第二行,第二列,输出结果为3
        }
    

标签:nums,int,System,数组,new,array
From: https://www.cnblogs.com/HANR/p/18292752

相关文章

  • JAVA-二维数组-要求计算出每个季度的总营业额和全年的总营业额-求指导
            二维数组的练习某商城每个季度的营业额如下:单位(万元)第一季度:22,66,44第二季度:77,33,88第三季度:25,45,65第四季度:11,66,99要求计算出每个季度的总营业额和全年的总营业额package_exercis;publicclassTwoArray{publicstaticvoidmain(S......
  • CF1864F Exotic Queries (离线+线段树+树状数组)
    CF1864FExoticQueries离线+线段树+树状数组先把权值在\([l,r]\)之内的单独拎出来看性质。可以知道策略一定是元素从小到大消成\(0\)。当消除元素\(x\)时,最好的情况当然是一次全消了,但一般元素\(x\)的位置两两之间会有之前消成的\(0\),将所有位置分成了\(n\)段,那么消......
  • golang-数组基本使用
    Go语言中的数组是一个固定长度的元素序列,这些元素都是相同的类型。数组是值类型,这意味着当它们被赋值给新的变量时,会进行一次数组的复制。创建数组通过指定元素类型和数组长度来创建数组。数组长度必须是一个常量表达式,因为数组的长度是其类型的一部分。数组的数量一旦确定就不......
  • LeetCode 1546. 和为目标值且不重叠的非空子数组的最大数目
    1546.和为目标值且不重叠的非空子数组的最大数目给你一个数组 nums 和一个整数 target 。请你返回 非空不重叠 子数组的最大数目,且每个子数组中数字和都为 target 。示例1:输入:nums=[1,1,1,1,1],target=2输出:2解释:总共有2个不重叠子数组(加粗数字表示)[1,......
  • 比较两个数组中是否有相同的元素
    双重遍历循环太过复杂点击查看代码letarr1=[1,2,3];letarr2=[1,2,3,4];lethasCommonElement=false;for(leti=0;i<arr1.length;i++){for(letj=0;j<arr2.length;j++){if(arr1[i]===arr2[j]){hasCommonElement=true;......
  • 代码随想录算法训练营第27天 | 122.买卖股票的最佳时机 II 55. 跳跃游戏 1005.K次取反
    122.买卖股票的最佳时机II给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。解题:思路:最终利润是可......
  • 代码随想录刷题day 6 | 哈希表理论基础 242.有效的字母异位词 349. 两个数组的交
    242.有效的字母异位词383.赎金信classSolution{//这里只给出了242的代码,赎金信的解法可以说是基本相同的publicbooleanisAnagram(Strings,Stringt){int[]map=newint[26];for(charc:s.toCharArray())map[c-'a']++;for(char......
  • 高效维护区间之和/区间最值的数据结构(一)——树状数组
    高效维护区间之和/区间最值的数据结构(一)——树状数组树状数组的核心思想:分治。将数组以二叉树的形式进行维护区间之和。设aaa为原数组,......
  • 代码随想录算法训练营第五天|LeetCode242.有效的字母异位词 LeetCode 349. 两个数组的
    代码随想录算法训练营Day5代码随想录|LeetCode242.有效的字母异位词LeetCode349.两个数组的交集LeetCode202.快乐数LeetCode1.两数之和文章目录代码随想录算法训练营前言代码随想录原文--哈希表今天的内容真的很有挑战o(╥﹏╥)o,做了很久一、哈希表基础理论1......
  • LeetCode 523. 连续的子数组和
    523.连续的子数组和给你一个整数数组 nums 和一个整数 k ,如果 nums 有一个 好的子数组 返回 true ,否则返回 false:一个 好的子数组 是:长度 至少为2 ,且子数组元素总和为 k 的倍数。注意:子数组 是数组中 连续 的部分。如果存在一个整数 n ,令整数 x......