1.数组赋值
·方法一:边声明边赋值
public class Test {
public static void main(String[] args){
int[] scores = {1,2,3};
int scores[] = new int[]{1,2,3};
}
}
·方法二:动态地从键盘录入信息并赋值
import java.util.Scanner;
public class Test040501 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
for(int i =0;i<30;i++){
scores[i] = input.nextInt();
}
}
}
2.利用数组对数据进行处理:计算平均值
public class Test {
public static void main(String[] args) {
//所有数值的和
int sum = 0;
int nums[] = {8,4,2,1,23,344,12};
for (int i =0;i<nums.length;i++){
sum+=nums[i];
}
//计算平均值
System.out.println("所有数值的平均值为:"+sum/nums.length);
}
}
计算结果为:56
3.遍历一个数组(使用for循环)
public class Test {
public static void main(String[] args){
int scores[] = {1,2,3,4,5,6,7};
for(int i =0;i<scores.length;i++){
System.out.println(scores[i]);
}
}
}
方法一
public class Test {
public static void main(String[] args){
int scores[] = {1,2,3,4,5,6,7};
for(int score:scores){
System.out.println(score+"\t");
}
}
}
方法二
4.改变数组的内容
·使用传统的for方法可以改变
public class Test {
public static void main(String[] args){
int scores[] = {1,2,3,4,5,6,7};
//改变数组内容
for(int i =0;i<scores.length;i++){
//给数组内的每一个元素都加上1
scores[i]+=1;
}
for(int score:scores){
System.out.print(score+"\t");
}
}
}
输入结果为:{ 2 , 3 , 4 , 5 , 6 , 7 , 8 }
·但是用foreach方法就无法改变数组内容
public class Test {
public static void main(String[] args){
int scores[] = {1,2,3,4,5,6,7};
//foreach方法无法改变数组内容
for(int score:scores){
//把数组中每一个元素加1
score+=1;
System.out.print(score+"\t");
}
System.out.println();
//遍历数组
for(int i =0;i<scores.length;i++){
System.out.print(scores[i]+"\t");
}
}
}
虽然在第一个for循环中,输出结果为{ 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
但是第一个for循环结束后嘛,最终的输出结果为{ 1 , 2 , 3 , 4 , 5 , 6 , 7 },
即代表原数组并未被改变
5.数组定义的内存结构
·Int[] scores = new int[5]

6.“两个数组相互赋值,修改第二个数组的元素时,第一个数组的也被改变”原理
public class Test040501 {
public static void main(String[] args){
int score1[] = {1,2,3,4,5};
int score2[] = score1;
score2[0] = 11;
System.out.println(score1[0]);
}
}
修改score2[0]后,score1[0]也跟着被修改

图解
7.课堂练习
(1)录入会员的消费记录,并打印表示出来
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//定义一个数组来储存会员的消费记录
double budgets[] = new double[5];
//总金额
double sum = 0;
System.out.println("请输入会员本月的消费记录");
for(int i =0;i<budgets.length;i++){
System.out.println("请输入第"+(i+1)+"笔购物金额:");
budgets[i] = input.nextDouble();
//计算总金额
sum+=budgets[i];
}
//输出账单
System.out.println("序号\t金额(元)");
for(int i =0;i<budgets.length;i++){
System.out.println((i+1)+"\t"+budgets[i]);
}
System.out.println("总金额\t"+sum);
}
}
代码部分

输出结果
(2)求4家手机店的最低价
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("求出4家店的最低手机价格");
//给4家店的手机价格声明创建一个数组
int prices[] = new int[4];
//分别输入4家店的手机价格
for(int i =0;i<prices.length;i++){
System.out.println("第"+(i+1)+"家店的价格:");
prices[i] = input.nextInt();
}
//将第1家店的价格先设为最低价
int min = prices[0];
for(int i =1;i<prices.length;i++){
if(prices[i]<min){
min = prices[i];
}
}
System.out.println("最低价格是:"+min);
}
}
代码部分

输出结果
这篇博客介绍了Java中数组的几种常见操作,包括初始化、动态赋值、计算平均值、遍历以及改变数组内容。通过实例展示了如何使用传统for循环和foreach循环,以及它们在改变数组内容时的区别。同时,提供了两个实战练习,分别是录入并打印会员消费记录和寻找多家手机店的最低价格。这些例子有助于加深对Java数组理解。
939

被折叠的 条评论
为什么被折叠?



