一维数组

定义
要使用java语言的数组,一般经过三个步骤:声明数组,创建空间,建数组元素并赋值。

int[] x;    //声明数组
x = new int[10];    //创建空间
//合并写法
int[] x=new int[10];

初始化

//静态初始化:创建+赋值
int[] a = {1,2,3,4,5};
int[0] a =1;
//动态初始化:包含默认初始化,数组也是引用类型,其元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也按照实例变量同样的方式被隐式初始化。
int[] b = new int[10];
b[0] = 10; //b[0] = 10,此时没有被初始化的b[1]...b[9]都将默认赋值为0

利用循环对数组元素进行赋值

int i;
int[] a; //声明数组
a=new int[5];  //分配空间
for(i=1;i<5;i++){  //循环对数组元素进行赋值a[i] = i;
}
for(i=0;i<a.length;i++){  //循环输出数组System.out.print("a["+i+"]="+a[i]+"\t");
}//输出结果
//a[0]=0 a[1]=1   a[2]=2 a[3]=3 a[4]=4

计算数组元素的和

int sum = 0;
int[] a = {1,2,3,4,5,6};
for(int i=0;i<a.length;i++){sum =sum + a[i];
}
System.out.println(sum);

求数组元素最大值

int[] arrays = {1,2,3,4,5};int max = arrays[0];for(int i=0;i<arrays.length;i++){if(arrays[i]>max){max =arrays[i]; }}
System.out.println(max);

反转数组:使用自定义的 reverse 方法将数组进行反转

 static void reverse(int a[],int n){int[] b = new int[n];int j = n;for(int i=0;i<n;i++){b[j-1]=a[i];j=j-1;}for(int k=0;k<n;k++){System.out.println(b[k]);}}public static void main(String[] args) {int[] arr = {1,2,3,4,5};reverse(arr,arr.length); }

从键盘输入数组元素

import java.util.*;
public class Main {public static void main(String[] args) {int i;int[] a; //声明数组Scanner reader = new Scanner(System.in);int n = reader.nextInt(); //输入一个数,代表数组容量a=new int[n];  //分配空间for(i=1;i<n;i++){  //循环对数组元素进行赋值int x = reader.nextInt();a[i] = x;}for(i=0;i<a.length;i++){  //循环输出数组System.out.print("a["+i+"]="+a[i]+"\t");}}
}   /*输入数据:
6
1 4 5 6 7 7
输出结果:
a[0]=0 a[1]=1 a[2]=4 a[3]=5 a[4]=6 a[5]=7

二维数组

声明方式

int[][] a;  //声明整型数组a
a = new int[3][4];  //分配一块内存空间,供3行4列的整型数组a使用//合并写法
int[][] a = new int[3][4];

初始赋值

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

Arrays类

数组的工具类java.util.Arrays
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是"不能"")
具有以下常用功能:
**给数组赋值:**通过fill方法。
**对数组排序:**通过sort方法,按升序。
**比较数组:**通过equals方法比较数组中元素值是否相等。
**查找数组元素:**通过binarySearch方法能对排序好的数组进行二分查找法操作。

import java.util.Arrays;int[] a = {1,3,4,5,2};//Arrays.toString(a)打印数组元素Arrays.sort(a);//排序System.out.println(Arrays.toString(a));  //[1, 2, 3, 4, 5]Arrays.fill(a,2,4,0);//在第二个和第四个元素之间使用0来填充(左闭右开)System.out.println(Arrays.toString(a));   //[1, 2, 0, 0, 5]

冒泡排序

public static void main(String[] args) {int[] array = {1,4,6,3,2,6,3,2,3};int[] sort = sort(array);System.out.println(Arrays.toString(sort));}public static int[] sort(int[] array){//临时变量int temp = 0;for(int i=0;i<array.length-1;i++){boolean flag = false; //减少无意义的比较,降低复杂度for(int j=0;j<array.length-1-i;j++){if(array[j]>array[j+1]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;flag = true;}}if(flag==false){break;}}return array;}

java入门基础-数组相关推荐

  1. java入门基础重要知识必考考点

    java入门基础重要知识 一. Java概述 二. Java语言基础 1. 标识符的命名规则: 2. 关键字 3. 基本数据类型(基本.引用) 4. 基本数据类型转换 5. 定义变量的语法: 6. 运 ...

  2. Java入门基础及面试100题--初入门

    Java入门基础及面试100题 注:适合应届毕业生或java初入门者 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程, ...

  3. java入门基础(四)

    文章目录 (一)对象和类 封装概述: (二)String对象 (三)StringBuilder对象 (四)集合ArrayList:可变的存储模型 练习 ArryayList练习 (一)对象和类 类:类 ...

  4. java入门基础教程(纯干货知识点+视频资源)

    本套Java视频教程是黑马程序员冯老师精心录制的Java基础班视频,该视频专门针对零基础的学员录制,授课讲究通俗易懂.干货.通过该套Java视频教程的学习,相信你能够轻轻松松地入门java语言. 完整 ...

  5. **JAVA入门基础2**(系列更新)———JAVA 基础变量

    **JAVA入门基础2**(系列更新)---JAVA 基础变量 Java基础 1.注释 2.标识符和关键字 2.1 标识符 2.2 关键字(keyword) 3.数据类型 3.1 基本数据类型 3.2 ...

  6. Java入门基础知识点整理大放送,推荐保存

    为了方便大家学习Java,理顺Java技术知识点,也可以助您尽快的努力成长起来,小编整理了以下Java入门基础知识,一起来学习吧! 一.概述 1991年Sun公司的James Gosling等人开始开 ...

  7. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

  8. Java入门基础教程第一篇

    Java入门基础 Java是是一门面向对象编程语言,现在广泛使用,名声和c/c++.python一样,虽然我最常用的语言是python,但现在现在闲来无事,就写了这篇文章. 目录 Java入门基础 下 ...

  9. java入门基础学习(三)

    文章目录 (一)有返回值的方法 (二)方法重载 习题 (一)有返回值的方法 格式:public static 返回值数据类型 方法名(参数){方法体return 数据;} 注意:1.返回值数据类型非v ...

最新文章

  1. 【WEB API项目实战干货系列】- API登录与身份验证(三)
  2. MongoDB (二) MongoDB 优点
  3. CF-786B(Legacy) 区间最短路
  4. Java高并发编程详解-代码在本地
  5. 如何理解和应用Java的多态
  6. Excel导入SQL数据库出现的问题
  7. java变量命名规则_C++变量的命名规则
  8. 深度强化学习DQN(附DQN训练Flappy Bird源代码)
  9. Python爬虫 - 理解深度优先和广度优先
  10. 谈谈网络蜘蛛 爬开心网001的一些体会
  11. 《一罐猪油》——迟子建
  12. 向flume发送消息出现Client sent event exceeding the maximum length
  13. PS 滤镜算法原理 ——马赛克
  14. 抖音最新风控体系研究
  15. GoLand奔溃之后,文件目录变灰色,如何解决?
  16. Python编程基础题(26-家务分配问题)
  17. 关于 Android 平台开发相关的有哪些推荐书籍?
  18. 炉石传说服务器维护有补偿吗,炉石传说维护补偿是什么?炉石维护补偿公布!...
  19. ReplicaSet和Deployment
  20. matlab gui 画点,请教matlab GUI画图的问题

热门文章

  1. 电脑系统32位和64位有哪些区别?32位和64位是什么意思 ?
  2. 绝对布局(Relativelayout )和相对布局(Absolutelayout)
  3. 用继承的方式实现一个打印机,父类(打印机),子类(黑白打印机、彩色打印机)...
  4. 在虚拟机上安装TestDirector8.0 遇到的问题
  5. 仁爱英语听力测试软件,仁爱版七年级下册英语听力|期末测试(一)听力训练
  6. stm32cubeMX结合matlab使用
  7. java 利用redis 记录文章的阅读量
  8. 一文让你通俗易懂的理解正交变换和正交矩阵
  9. 关于网站资源“下载”“离线”的问题 ,各位长点心吧
  10. 书法练字帖纸——井字格悄然而至