Java数组

来源:互联网 发布:http 服务器默认端口 编辑:程序博客网 时间:2024/05/22 05:08
数组


数组是一组变量集合,存储相同数据类型的一组数据
特点:连续的空间(按照顺序依次排列)
声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间
数组名,即标识符,连续空间的首地址。元素下标标明了元素在数组中的位置,从0开始。数组中的每一个元素都可以通过下标来访问。
特点:数组长度固定不变,避免数组越界
使用数组(四步)
1.声明数组 int[ ] a; //得知数据类型(int)与数组名(a)
2.分配空间 a=new int[5]; //数组长度5,new为创建的对象分配空间
3.赋值 a[0]=8; //如果不赋值,默认都为0
4.处理数据 a[0]=a[0]*10; //给a[0]重新赋值

求平均数
public class Ch02 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//总分
int sum=0;
//1.声明数组
int [] score;
//2.分配空间
score=new int[30];
//3.赋值
for(int i=0;i<score.length;i++){
score[i]=50+i;
sum+=score[i];
}
//4.使用数组
System.out.println("平均分是:"+sum/30);
}
}
数组赋值
方法1:边声明边赋值
int [ ] score={89,79,76}; //常用
int [ ] score=new int[ ]{89,79,76}; //不能指定数组长度, [ ]中不写个数
方法2:使用循环(遍历数组)
Scanner input=new Scanner(System in);
for(int i=0;i<30;i++){
score[i]=input.nextInt();
}
实例:打印
//注意:字符串类型用String定义,元素要用双引号 “ ”
public class Ch04 {

public static void main(String[] args) {
// TODO Auto-generated method stub
String[] sp={"Nike背包","运动衫","运动鞋","外套","腰包"};
System.out.println("本次活动特价商品有:");
for(int i=0;i<sp.length;i++){
System.out.println(sp[i]);
}
}
}
打印如图所示

import java.util.Scanner;

public class Ch05 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
double[] money=new double[5];
double sum=0;
for(int i=0;i<money.length;i++){
System.out.print("请输入第"+(i+1)+"笔购物金额:");
money[i]=sc.nextDouble();;
sum+=money[i];
}
System.out.println("序号\t金额(元)");
for( int i=0;i<money.length;i++){
System.out.println(i+1+"\t"+money[i]);
}
System.out.println("总金额\t"+sum);

}

}
求四家店的最低价格

import java.util.Scanner;

public class Ch066 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
double[] money=new double[4];
System.out.println("请输入四家店的价格");
for(int i=0;i<money.length;i++){
System.out.print("第一店的价格:");
money[i]=sc.nextDouble();
}
double min=money[0];
for(int i=1;i<money.length;i++){
if(money[i]<min){
min=money[i];
}
}
System.out.println("最低价格是:"+min);

}

}
数组的遍历
通过for循环
for(int i=0;i<score.length;i++){
System.out.println("score["+i+"]="+score[i]);
}
通过foreach循环:只能得到全部,完整,所有的元素,但写法简单
语法:第一个表达式是声明一个变量去接收每次循环的到的元素
第二个表达式是需要遍历的数组或集合
表达式一的数据类型必须跟表达式二的数据类型一致
int[] scores={77,88,99};
int[] scores2={7,8,9};
for(int score:scores){
System.out.println(score);
}//score为定义的一个变量,得到数组的每一位元素
//scores表示一个对象,这里为scores数组
for(int score:scores2){
System.out.println(score);
}


附加注意:基本数据类型传的是值
引用数据类型传的是地址

原创粉丝点击