一、数组的遍历
求数组的长度:
x.length
通过下标来访问数组中的元素。
下标:从0开始,到数组长度-1
如:int[] scores = {89,90};
访问最后一个元素值:int lastElement = scores[scores.length-1];
遍历:依次取出数组中的每一个元素。
遍历方式一:普通的for循环
语法:for(int i = 0; i< 数组的长度;i++){
//i:循环变量,同样:也是数组的下标(取值范围[0,数组长度))
数组中元素的类型 变量 = 数组名[i];
}
例如:
//**
数组的遍历
*/
import java.util.Scanner;
public class test007{
public static void main(String[] args){
int[] scores={23,53,75,81,92,100};
System.out.println("数组的长度是:"+scores.length);
//for循环遍历 可控制下标来控制输出
/**
语法:for(int i = 0; i< 数组的长度;i++){ //i:循环变量,同样:也是数组的下标(取值范围[0,数组长度))
数组中元素的类型 变量 = 数组名[i];
}
*/
int len = scores.length;
for(int i=0;i<len;i++){
int score = scores[i];
System.out.println(score);
}
结果为:
二、增强for循环与可变参数
1.5以后Java新增foreach循环和可变参数。
遍历方式二:使用增强for循环【foreach循环】
语法:for(数组中元素的类型 变量:数组名){
数组中元素的类型 临时变量 = 变量;
}
/**
数组的遍历
*/
import java.util.Scanner;
public class test007{
public static void main(String[] args){
int[] scores={23,53,75,81,92,100};
System.out.println("数组的长度是:"+scores.length);
//for循环遍历 可控制下标来控制输出
/**
语法:for(int i = 0; i< 数组的长度;i++){ //i:循环变量,同样:也是数组的下标(取值范围[0,数组长度))
数组中元素的类型 变量 = 数组名[i];
}
*/
int len = scores.length;
for(int i=0;i<len;i++){
int score = scores[i];
System.out.println(score);
}
System.out.println("-----------------------");
//foreach循环遍历 JDK1.5版本后的特性,但是不能控制下标来控制输出
/**
语法格式:
for(数组中元素的类型 变量:数组名){
数组中元素的类型 临时变量 = 变量; //可省略,直接输出变量
}
*/
for(int x:scores){
System.out.println(x);
}
}
}
结果:
结合方法的定义,可以用可变参数来代替数组作为参数。
public static void print(int … 变量名){
//可变参数在使用时作为数组使用。
}
例如:
/**
数组的遍历
结合方法的定义,可以用可变参数来代替数组作为参数。
public static void print(int ... 变量名){
}
*/
import java.util.Scanner;
public class test007{
public static void main(String[] args){
int[] scores={23,53,75,81,92,100};
System.out.println("数组的长度是:"+scores.length);
print(23,53,75,81,92,100);
}
//JDK1.5后支持可变参数
//可变参数作为数组使用
public static void print(int... x){
int len = x.length;
for(int i=0;i<len;i++){
System.out.println(x[i]);
}
}
}
结果:
但是,如果在可变参数前面再加个int k,那么k会接收第一个数组参数,可变参数x就会少了数组的第一个元素。
所以可变参数只能是参数列表中的最后一个
/**
数组的遍历
结合方法的定义,可以用可变参数来代替数组作为参数。
public static void print(int ... 变量名){
}
*/
import java.util.Scanner;
public class test007{
public static void main(String[] args){
int[] scores={23,53,75,81,92,100};
System.out.println("数组的长度是:"+scores.length);
print(23,53,75,81,92,100);
}
//JDK1.5后支持可变参数
//可变参数作为数组使用
//可变参数只能是参数列表中的最后一个
public static void print(int k,int... x){
int len = x.length;
for(int i=0;i<len;i++){
System.out.println(x[i]);
}
}
}
结果为: