找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1844|回复: 0
打印 上一主题 下一主题
收起左侧

java数组教程

[复制链接]
跳转到指定楼层
楼主
ID:102668 发表于 2016-1-14 02:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数组
按数据结构分:一维数组,二维数组,多维数组
用来存放一连串相关的数据
一维数组
有序数据的集合,存放着相同的数据类型
声明与内存的分配
步骤:
1.声明数组
2.分配内存给该数组
即:
数据类型 数组名[];
数组名=new 数据类型[个数];
另一种命名方式:数据类型 数组名称=new 数据类型[];
数组中元素的表示方法
public static void main(String args[])
{
 int a[];
 a=new int[3];
 int i;
 for(i=1;i<=3;i++)
 {
  System.out.print("a["+i+"]="+(a[i])+",\t");
 }
 System.out.println("\n数组长度为:"+a.length);
}
在Java中取得数组的长度(即数组元素的个数)格式为:数组名.length
数组初值的赋值
public static void main(String args[])
{
 int i;
 int a[]={5,6,8};
 for(i=0;i<a.length;i++)
 {
  System.out.print("a["+i+"]="+a[i]+"\t");
 }
 System.out.println("\n数组长度为:"+a.length);
}
除了在声明时赋初值,还可以单独给数组元素赋值,例:
int a[]=new int[];
a[0]=5;
a[1]=6;
a[2]=8;
数组应用范围
public static void main(String args[])
{
 int i,max,min;
 int A[]={74,48,30,17,62};
 min=max=A[0];
 System.out.print("数组A的元素包括:");
 for(i=0;i<A.length;i++)
 {
  System.out.print(A[i]+" ");
  if(A[i]>max)
   max=A[i];
  if(A[i]<min)
   min=A[i];
 }
 System.out.println("\n数组的最大值是:"+max);
 System.out.println("\n数组的最小值是:"+min);
}
与数组操作有关的API方法
数组的拷贝操作
public static void main(String args[])
{
 int a1[]={1,2,3,4,5};
 int a2[]={9,8,7,6,5,4,3};
 System.arraycopy(a1,0,a2,0,3);
 System.out.print("a1数组中的内容:");
 for (int i=0;i<a1.length;i++)
  System.out.print(a1[i]+"");
 System.out.println();
 System.out.print("a2数组中的内容");
 for(int i=0;i<a2.length;i++)
  System.out.print(a2[i]+"");
 System.out.println("\数组拷贝完成");
}
拷贝的格式
Syetem.arraycopy(source,0,dest,0,x);
数组的排序
import java.util.*;
public static void main(String args[])
{
 int a[]={4,32,45,32,65,32,2};
 
 System.out.print("数组排序前的顺序:");
 for(int i=0;i<a.length;i++)
  System.out.print(a[i]+" ");
 Arrays.sort(a);
 System.out.print("\n数组排序后的顺序:");
 for(int i=0;i<a.length;i++)
  System.out.print(a[i]+" ");
}
Arrays.sort()这个方法在java.util这个包里,使用这个方法要先导入这个包
二维数组
二维数组的声明与内存分配:
数据类型 数组名[][];
数组名=new 数据类型[行的个数][列的个数];
另:
数据类型 数组名[][]=new 数据类型[行的个数][列的个数];
赋初值
数据类型 数组名[][]=
{
  列:
行: {第0行初值},
 {第1行初值},
 {第2行初值},
 ‘’‘’‘’
 {第n行初值}
}
1.java允许每行的元素的个数不同
2.可以取得二维数组的行数与特定行的元素的个数,列:
数组名.length  //取得数组的行数
数组名[行的索引].length //取得特定行元素的个数
二维数组元素的访问与引用
public static void main(String args[])
{
 int i,j,sum=0;
 int num[][]={{30,35,26,32},{33,34,30,29}};
 
 for(i=0;i<num.length;i++)
 {
  System.out.print("第"+(i+1)+" 个人的成绩为:");
  for(j=0;j<num[i].length;j++)
  {
   System.out.print(num[i][j]+"");
   sum+=num[i][j];
  }
 System.out.println();
 }
 System.out.println("\n总成绩是"+sum+"分!");
}
多维数组
8.5上机
public static void main(string atgs[])
{
 int max,min;
 int a[]={25,24,12,76,98,101,90,28};
 min=max=a[0];
 for(int i=0;i<a.length;i++)
 {
  if(max>a[i])
  max=a[i];
  if(min<a[i])
  min=a[i];
  System.out.print("a["+i+"]="+a[i]+"\t");
 }
 System.out.print("\n最大值为"+max);
 System.out.print("\n最小值为"+min);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表