java基础:数组
来源:互联网 发布:云计算平台 开源 编辑:程序博客网 时间:2024/04/29 10:15
一、一维数组:
1.定义:一维数组(简称为数组)是由一组具有相同类型的变量组成的有序集合。
数组中的变量被称为数组元素。
每个元素在数组中的位置被称为元素的下标。下标从零a[0]开始,数组长度-1结束。
int[ ] a=new int[10]; 或 int a[ ]=new int[10]; 10表示数组的长度,元素的个数。
数组的下标可以是变量。因此,可以这样来处理数组的元素:
a[i]= a[i-1]+ a[i-2]; // 相当于:a[2]= a[1]+ a[0];(最常用的方式! )
说明: (1)数组的长度可以利用表达式“数组名.length”来获得。
(2)在创建时,数组的长度必须是常量!
(3)数组一旦被创建,其大小即被固定,无法改变。
(4)数组越界,JAVA将会产生数组下标越界异常:ArrayIndexOutOfBoundsException
2.一维数组的初始化:
数组的初始化是指:在创建数组实例时进行元素的初始化。
int[ ] group={0,1,2,3,4,5,6,7,8,9};
意义: 创建一个长度为10的int型数组实例,并使它们的初值依次
为给定的初值;然后将该数组实例赋给引用名group。
注:(1)使用数组初始化时,被创建的数组的长度由初始化数据的个 数确定。
(2)用new创建数组时不能赋初值(系统将赋于它们默认值)。
package cn.test.day0912;
/**
* 1.将十个数 20,32,43,65,71,14,55,33,97,66存入数组中,求十个数中的最大值和最小值.
注:要求用方法实现.
* @author
*
*/
public class Arrays {
public static void main(String[] args) { int a[]=arrays(); for(int i=0;i<10;i++){ System.out.print(a[i]+"\t"); } System.out.print("\n"); int max=0; int min=0; max=a[0]; min=a[9]; System.out.println("最大值:"+max); System.out.println("最小值:"+min);} public static int[] arrays(){ int arrays[] ={20,32,43,65,71,14,55,33,97,66}; for(int i=0;i<10;i++){ for(int k=i+1;k<10;k++){ if(arrays[i]<arrays[k]){ int temp=arrays[i]; arrays[i]=arrays[k]; arrays[k]=temp; } } } return arrays;}
}
package cn.test.day0912;
import java.util.Scanner;
/**
*
* 输入10个整数,输出它们的平均值以及所有超过平均值的数。
* @author shixb
*
*/
public class Mean2 {
public static void main(String[] args) { a(); } public static void a(){ Scanner scanner = new Scanner(System.in); int arrays[] =new int[10]; for(int j=0;j<10;j++){ System.out.println("请输入第"+j+"个元素:"); arrays[j] = scanner.nextInt(); } int num=0; for(int i=0;i<arrays.length;i++){ num=num+arrays[i]; } double a=num/10; System.out.println("平均数:"+a); for(int i=0;i<arrays.length;i++){ if(arrays[i]>a){ System.out.println(arrays[i]); } }}
}
二维数组:
定义:元素是一维数组的数组叫二维数组;
类型名[][] 数组名 = new 类型名[][];
int[][] a=new int[][];
int[][] a={{1,2}{3,4}{21,32}};
则:a[2][1]=32;
意义:a引用了一个其元素类型为int[4]的数组,a的长度为3.或者说:a有三个元素,其每个元素都是一个长度为2的一维整型数组。
package cn.test.day0918;
public class Exp607 {
public static void main(String[] args) { int[][] a= { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; System.out.println( " 按行输出:" ); for( int i=0; i<a.length; i++){ for(int j=0;j<a[i].length; j++){ System.out.print( a[i][j]+"\t" ); } System.out.println( ); } /*System.out.println( " 按列输出:" ); for(int j=0;j<a[2].length;j++){ for(int i=0;i<a.length;i++){ System.out.print(a[i][j]+"\t"); } System.out.print("\n"); }*/}
}
package cn.test.day0913;
public class Getmax {
public static void main(String[] args) { arrays(); newArrays(); int a[]={2,4,35,56,4}; int x=3; int c=search(a,x); System.out.println("返回为:"+"\n"+c); int b[]={23,43,5,7,6,34,54,56,76,88}; int e[]=print_MaxMin(b); System.out.println("最大值为:"+e[0]+"\n"+"最小值为:"+e[1]);}/** * 编写一个程序:输入10个正整数,要求完成下列任务(1)输出其中的最大值;(2)按与输入相反的次序输出这10个数,每行5个; * */public static void arrays(){ int[] nums={12,32,23,45,65,34,33,78,98,88}; int max=0; for(int i=0;i<nums.length;i++){ if(nums[i]>max){ max=nums[i]; } } System.out.println("最大值为:"+max); for(int i=nums.length-1;i>=0;i--){ System.out.print(nums[i]+"\t"); if(i==nums.length/2){ System.out.print("\n"); } } System.out.print("\n");}
/**
* 按行顺序为一个5×5的二维数组a赋1到25的自然数,
然后输出该数组的左下半三角元素。
*/
public static void newArrays() {
int[][] arrays = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15 }, { 16, 17, 18, 19, 20 },
{ 21, 22, 23, 24, 25 } };
System.out.print(“图形为:”+”\n”);
for (int i = 0; i < arrays.length; i++) {
for (int j = 0 ; j < arrays[i].length; j++) {
if (j <= i) {
System.out.print(arrays[i][j]+”\t”);
}
}
System.out.print(“\n”);
}
}
/** * 编写一个方法search(int a[ ],int x): 若数组a中存在值为x 的元素,则返回该元素的下标值;否则返回-1。 * */public static int search(int a[],int x){ for(int i=0;i<a.length;i++){ if(a[i]==x){ return i; } } return -1;}/** * 编写一个方法print_MaxMin(int a[]): 打印出数组a中的最大值和最小值。 * */public static int[] print_MaxMin(int b[]){ int d[]=new int[2]; int max=0; int min=b[0]; for(int i=0;i<b.length;i++){ if(b[i]>max){ max=b[i]; }else if(b[i]<min){ min=b[i]; } } d[0]=max; d[1]=min; return d;}
}
- 【Java基础】Java数组
- java基础 ---数组
- java中数组基础
- java基础----数组
- Java基础:数组
- Java基础之数组
- Java基础之数组
- Java基础_数组
- JAVA基础:一元数组
- Java基础之数组
- Java基础<四>---> 数组
- Java基础_数组
- java数组基础
- Java基础_数组
- java基础__数组
- 【java基础】[数组]
- Java基础-数组
- Java基础:数组
- 深入理解Android之Xposed详解
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- 从nim游戏到sg函数博弈论类问题进阶之路
- ASM+RAC 11G spfile恢复(有备份)
- JAVA编写 将阿拉伯数字转换成中文大写(不要Script的)
- java基础:数组
- sg笔试记录
- Zabbix应用监控系列之PHP-FPM状态监控
- C++11:复习新增功能
- 面试遇到的问题
- mysql关键字key的转义
- 高级软件工程师之路-c语言基本数据类型
- bzoj 3289: Mato的文件管理
- 设计模式---中介者模式