首页 > 其他分享 >Day24.1.数组入门

Day24.1.数组入门

时间:2022-12-21 18:44:57浏览次数:41  
标签:入门 Day24.1 元素 System int 数组 public out

Day24.1.数组入门

1.定义

  • 数组是相同数据的有序集合

  • 每个数据为一个数组元素,每个数组元素可以通过一个下标来访问他们

2.数组的声明创建

  1. 声明:

     //方法一
     dataType[] arrayRefVar; //建议
     //int[] a;
     //方法二
     dataType arrayRefVar[];//C/C++中的写法,java也可以
     //int a[];
     ​
     ​

     

  2. 创建:Java语言使用new操作符来创建数组

     dataType[] arrayRefVar=new dataType[arraySize];
     //int[] a=new int[5];
     //上面已经声明了a[],所以只需赋值大小
     a=new int[10];
     public class Test {
         public static void main(String[] args){
             int[] a=new int[5];
             int sum=0;
             for (int i = 0; i < 5; i++) {
                 a[i]=i;
            }
             for (int j = 0; j < a.length; j++) {
                 sum+=a[j];
            }
             System.out.println(sum);
     ​
        }
     }

3.数组的特点

  • 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

  • 其元素必须是相同类型,不允许出现混合类型。

  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型

  • 数组变量属于引用类型,数组可以看成对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象。Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

4.数组初始化

  1. 静态初始化

     int[] a={0,1,2,3,4};

    静态初始化,数组的大小是确定的,且无法改变

  2. 动态初始化

     int[] b=new int[10];
     b[0]=10;

    动态初始化包含默认初始化,即其他未赋值的数组元素会默认为0,String为null

  3. 默认初始化

    未赋值的数组元素会默认为0,String为null

5.数组边界

  1. 数组下标合法区间[0,length-1],若越界会报错

ArrayIndexOutOfBoundsException:数组下标越界

6.数组的使用

基本例题

 public class Demo01 {
     public static void main(String[] args) {
         int[] a={0,1,2,3,4,5};//静态初始化数组元素
         //遍历输出数组元素
         for(int i=0;i<a.length;i++){
             System.out.println(a[i]);
        }
         //输出所有元素的和
         int sum=0;
         for(int j=0;j<a.length;j++){
             sum+=a[j];
        }
         System.out.println(sum);
         //找出数组元素中的最大值
         int max=a[0];
         for (int i=1;i<a.length;i++){
             if(a[i]>max){
                 max=a[i];
            }
        }
         System.out.println(max);
    }
 }

1.For-Each循环

 public class Demo02 {
     public static void main(String[] args) {
         int[] a={1,2,3,4,5};
         //省去了下标,适用遍历输出数组元素
         for (int i : a) {
             System.out.println(i);
        }
    }
 }

增强型For循环

2.数组做方法入参

 public class Demo02 {
     public static void main(String[] args) {
         int[] a={1,2,3,4,5};
         //省去了下标,适用遍历输出数组元素
         for (int i : a) {
             System.out.println(i);
        }
         printArray(a);
         System.out.println();
         printArray(reverse(a));
    }
     //打印数组元素
     public static void printArray(int[] arrays){
         for(int i=0;i<arrays.length;i++){
             System.out.print(arrays[i]+" ");//将arrays数组的第一个赋值给result的最后一个
        }
    }
 }

3.数组做返回值

public class Demo02 {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
//省去了下标,适用遍历输出数组元素
for (int i : a) {
System.out.println(i);
}
printArray(a);
System.out.println();
printArray(reverse(a));
}
//将数组反转
public static int[] reverse(int[] arrays){
int[] result=new int[arrays.length];
for(int i=0,j= result.length-1;i<result.length;i++,j--){
result[j]=arrays[i];
}
return result;
}
//打印数组元素
public static void printArray(int[] arrays){
for(int i=0;i<arrays.length;i++){
System.out.print(arrays[i]+" ");//将arrays数组的第一个赋值给result的最后一个
}
}
}
 

标签:入门,Day24.1,元素,System,int,数组,public,out
From: https://www.cnblogs.com/HomeFJ/p/16996926.html

相关文章

  • oracle 2个数组列,剔除数组重复的数据。
    一、下面这样不规则的,数据如何剔除掉。循环筛选replace替换掉。序号正常时间剔除时间1   2022-12-19,2......
  • 数组拷贝之arraycopy
      本文主要分两部分:手动实现数组拷贝功能使用并分析System类中的数组拷贝方法1.手动实现数组拷贝功能首先来看看我们的需求:有两个已知数组如上图,从src数组中拷......
  • 从对象数组中提取某些属性组成新的对象数组
    letarrold=[{name:"name1",age:"1",date:'2016-05-03'},{name:"name2",age:"2",date:'2016-05-02'},......
  • QT 开发快速入门
    本人qt业余,但有的时候要用到qt,而又没有系统的学习,用到哪里看哪里。环境:vs2012+qt-vsaddins+qt5.5  qt的按钮点击事件出发的基本要素:1.按钮触发函数为public......
  • JavaScript中数组中的方法
    将数组转换成字符串JavaScript方法 toString() 把数组转换为数组值(逗号分隔)的字符串。实例: varfruits=["Banana","Orange","Apple","Mango"]; ......
  • 求平均成绩(数组)
    求平均成绩 TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):92502    AcceptedSubmission(s):21......
  • [vue] Vue监测数据改变的原理 对象,数组
    Vue监测对象数据改变的原理<divid="root"><h2>学校名称:{{name}}</h2><h2>学校地址:{{address}}</h2></div>constvm=newVue({el:'#root',data:{name:'尚硅谷......
  • JAVA数组
    JAVA数组定义数组是相同类型数据的有序集合声明创建dataType[]arrayRefVar=newdataType[arraySize];数组的声明是通过索引访问的获取数组长度:arrays.length......
  • 如何在 .Net 7 中将 Query 绑定到数组
    在.Net7中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。代码演示假设我们需要从query上接受多个id......
  • django模型层之models入门篇(Relationship fields)
    先看下models结构:#tournament/models.pyfromdjango.dbimportmodelsclassClub(models.Model):region_choices=[('E','East'),('W','W......