- 常用写法:推荐使用
int[] a=new int[];
int[] a={1,2,3}; - 其他用法
String s[]=new s[5];
String s[]={“abc”,“def”};
//初始化
int a[]=new int[3]; //长度为3 a[0],a[1],a[2] 初始值为0
int[] b=new int[3];
String c[]= {"abc","def","hig"};
String[] d=new String[10];
//定义变量,不初始化
char[] e;
System.out.println(e); //不能打印,e没有初始化
- 数组使用
int[] a=new int[10];
a[1]++ //可以进行自增操作 - 赋初值以及改变值例子
boolean[] a=new boolean[3];//初始化
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[2]);
a[0]=true; //重新赋值
System.out.println(a[0]);
int[] i=new int[3];//初始化为0
i[0]++;
System.out.println(i[0]);//输出应该为1
- 定义数组以及初始化数组时,有空格不影响。如
-
int [] array1=new int [5];
- 数组标准化输出
// 有空格无影响
int[] array1 = new int[5];
System.out.println(array1[0]);
// for循环输出
int[] a = { 1, 2, 3, 99, 89 };
for (int i = 0; i <= a.length - 1; i++) {
System.out.println(a[i]);
}
// Arrays 类输出
short[] b = { 23, 44, 55, 6, 6, 98 };
String s=Arrays.toString(b);
System.out.println(s);
//System.out.println(Arrays.toString(b));
- 例:用数组实现取最大值
int [] array1= {100,34,1,88,99,2928,29};
int sum=array1[0];
for(int i=1;i<array1.length;i++)
{
if(sum<array1[i])
sum=array1[i];
}
System.out.println(sum);
- 数组例子: 实现数组中字符串拼接
/* 自己写的程序
String[] names= {"如鹏","腾讯","阿里","京东","华为"};
String s=names[0]+",";
for (int i=1;i<=names.length-2;i++)
{
s=s+names[i]+",";
}
s=s+names[names.length-1];
System.out.println(s);
*/
/*优化版1,初始值为空字符串
String[] names= {"如鹏","腾讯","阿里","京东","华为"};
String s="";// 初值为空字符串
for (int i=0;i<=names.length-2;i++)
{
s=s+names[i]+",";
}
s=s+names[names.length-1];
System.out.println(s);
*/
// 优化版2 ,用if语句。
String[] names= {"如鹏","腾讯","阿里","京东","华为"};
String s="";// 初值为空字符串
for (int i=0;i<=names.length-1;i++)
{
s=s+names[i];
if (i!=names.length-1)
{
s=s+",";
}
}
System.out.println(s);
- 学生名字+成绩
String[] names= {"张三丰","王大力","李四"};
int []score= {97,57,78};
String[] jieguo=new String[names.length];
for(int i=0;i<=names.length-1;i++)
{
String s="";
if(score[i]>0 && score[i]<60)
s="不及格";
else if(score[i]<90)
s="良好";
else
s="优秀";
jieguo[i]=names[i]+s;
}
for (int i=0;i<=jieguo.length-1;i++)
{
System.out.println(jieguo[i]);
}
-
增强for循环
//增强for循环String[] s= {"aa","bb","cc"}; for(String m:s) System.out.println(m); //等同于如下 String[] s= {"aa","bb","cc"}; for(int i=0;i<s.length;i++) { String m=s[i]; System.out.println(m); }
-
可变长度参数
package com.test;
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
f(3,'a', 1, 2, 3);
m(33,'b', 13, 32, 33);
int [] s= {9,9,9};
f(7,'p',s);
System.out.println();
n(33,'b', 13, 32, 33);
}
// 可变长度参数
static void f(int i, char j, int... array1) {
System.out.println("i=" + i);
System.out.println("j=" + j);
for (int m = 0; m < array1.length; m++) {
System.out.println(array1[m]);
}
}
//Arrays 输出
static void m(int i, char j, int... array1) {
System.out.println("i=" + i);
System.out.println("j=" + j);
Arrays.toString(array1);
}
// 增强for循环输出数组
static void n(int i, char j, int... array1) {
System.out.println("i=" + i);
System.out.println("j=" + j);
for(int q:array1)
System.out.println(q);
}
}