• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

青携纸笔携香

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Java第八课--数组基础知识

数组

一. 数组变量的语法

dataType[] arrayRefVar;//首选的方法
或
dataType arrayRefVar[];  //效果相同,但不是首选方法  

Java语言使用new操作符来创建数组,语法如下:

dataType[] arrayRefVar = new dataType[arraySize]

数组的元素是通过索引访问的,数组索引从0开始。

获取数组的长度:

arrays.length
package com.java.array;
​
public class ArrayDemo01 {
   //变量的类型 变量的名字 = 变量的值;
   //数组类型
   public static void main(String[] args) {
       int[] nums;//1.声明一个数组 相当于int num[];
       nums=new int[10];//2.创建一个数组这里面可以存放10个int类型的数字
       //int[] nums=new int[10];
       //3.给数组元素赋值
       for (int i=1;i<=10;i++){
         nums[i-1]=i;
      }
       //计算所有元素的和
       int sum=0;
       //获取数组的长度:arrays.length
       for (int i=0;i< nums.length;i++){
           sum=sum+nums[i];
      }
       System.out.println("总和为:"+sum);
​
  }
}
​

 

二. 三大初始化方法

package com.java.array;
​
public class ArrayDemo02 {
   public static void main(String[] args) {
       //静态初始化:创建 + 赋值
       int[] a={1,2,3,4,5,6,7,8};
       System.out.println(a[0]);
​
       //动态初始化:包含默认初始化
       int[] b=new int[10];
       b[0]=10;
       System.out.println(b[0]);
       //默认初始化
       /*
       String类型的默认初始化为null
       int类型的默认初始化为0
        */
​
  }
}
​

数组边界:

合法区间[0,length-1],如果越界就会报错:

Array index Out Of Bounds Exception:数组下标越界异常!

 

数组的使用
  • 普通的For循坏

  • For-Each循坏

  • 数组作方法入参

  • 数组作返回值

package com.java.array;
​
public class ArrayDemo03 {
   public static void main(String[] args) {
​
       int[] arrays={1,2,3,4,5};
       //打印全部数组元素
       for (int i=0;i< arrays.length;i++){
           System.out.println(arrays[i]);
      }
​
       System.out.println("=============");
       //计算所有元素的和
       int sum=0;
       for (int i=0;i< arrays.length;i++){
           sum=sum+arrays[i];
      }
       System.out.println("sum="+sum);
​
       System.out.println("=============");
       //查找最大的元素
       int max=0;
       for (int i=0;i< arrays.length;i++){
           if (max<arrays[i]){
               max=arrays[i];
          }
      }
       System.out.println("max="+max);
​
  }
}
​
package com.java.array;
​
public class ArrayDemo04 {
   public static void main(String[] args) {
      int[] arrays={1,2,3,4,5};
//       //jdk1.5,没有下标
//       for (int array : arrays) {
//           System.out.println(array);
//       }
       printArray(arrays);
       System.out.println(" ");
​
       int[] reverse = reverse(arrays);
       printArray(reverse);
  }
​
   //打印数组元素
   public static void printArray(int[] arrays){
       for (int i = 0; i < arrays.length; i++) {
           System.out.print(arrays[i]+" ");
      }
  }
   //反转数组
   public static int[] reverse(int[] arrays){
       int[] result=new int[arrays.length];
       //反转的操作
       for (int i=0,j= result.length-1;i< arrays.length;i++,j--){
           result[j]=arrays[i];
      }
       return result;
  }
}
​

 

多维数组

package com.java.array;
​
public class ArrayDemo05 {
   public static void main(String[] args) {
       int[][] array={{1,2},{2,3},{3,4},{4,5}};
       for (int i=0;i< array.length;i++){
           for (int j=0;j<array[i].length;j++){
               System.out.println(array[i][j]);
          }
      }
  }
}
​

 

Arrays类
  • 给数组赋值:通过fill方法

  • 对数组排序:通过sort方法,按升序

  • 比较数组:通过equals方法比较数组中元素值是否相等

  • 查找数组元素:通过binary Search方法能对排序好的数组进行二分查找法操作

package com.java.array;
​
import java.util.Arrays;
​
public class ArrayDemo06 {
   public static void main(String[] args) {
       int[] a={1,2,3,4,84588,4,5544};
       System.out.println(a);
       //打印数组元素Arrays.toString
       System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 84588, 4, 5544]
       Arrays.sort(a);
       System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 4, 5544, 84588]
  }
}
​

 

 

posted on 2022-03-03 21:30  青携纸笔携香  阅读(170)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3