zoukankan      html  css  js  c++  java
  • 数组

     数组属于引用数据类型(在堆中占用一块空间,传递的是一个引用,不是值),空间连续,会有什么问题?

    int[] arr = new int[3](引用数据都需要new,去内存的堆中声明一块连续空间)

    arr[0] = 1;arr[1]=2; (数组越界,ArrayIndexOutOfBoundException)

    int[] arr1 ; 数组的声明

    int[] arr2 = new int[]{1,2,3,4}

    数组遍历

    for(int i=0;i<arr.length;i++){
    soutv(arr[i]
    }
    
    for(int num:arr){
    soutv(num)
    }
     1 int[][] arr1;
     2 int[][] arr2 = new int[3][3];
     3 arr2[0][0] = 1;
     4 arr2[0][1] = 2;
     5 int[][] arr3 = {{1,2,3},{4,5,6},{7,8,9}}
     6 还是定义三个空间,只不过每个空间里面还是数组。
     7 for(int i=0;i<arr.length;i++){
     8     for(int j=0;j<arr[i].length;j++){
     9         soutv[i][j]
    10     }
    11 }
    多为数组

     运行时数据区

    方法在栈中执行,赋值是在堆中

    成员变量:类的属性。作用域是类,类中的方法或者其他属性都可以使用。存放在堆中。

    局部变量:只能作用于方法内。存放在栈中。

    形参:值传递(基本数据类型)

       引用传递(引用数据类型)

    同样的方法,不同的入参。此时栈是否相同。相同。

    public class Test {
    
        public static void updateNum(int num){
            num = 20;
        }
        public static void updateNum(int[] num){
            num[0]=100;
            num[1] = 200;
        }
    
        public static void main(String[] args) {
            int num = 10;
            updateNum(num);
            System.out.println("num = " + num);//num = 10
    
            int[] nums = new int[]{1,2};
            updateNum(nums);
            for (int s : nums) {
                System.out.println("s = " + s);//s = 100//s = 200
            }
        }
    }
    View Code

  • 相关阅读:
    Java本周总结1
    大一学期总结
    十二周编程作业
    第十一周编程总
    第十周作业
    第九周作业
    第八周编程作业
    第七周编程作业
    Hibernate异常:IllegalArgumentException
    org.hibernate.id.IdentifierGenerationException: Hibernate异常
  • 原文地址:https://www.cnblogs.com/wangkc/p/12508106.html
Copyright © 2011-2022 走看看