java.数组练习1

文章讲述了Java中二维数组的定义、遍历方法,包括使用for和foreach循环,并通过示例演示如何计算学生平均成绩以及根据奇偶性调整数组元素。
摘要由CSDN通过智能技术生成

1.二维数组;


1)二维数组的定义;
   二维数组就是特殊的一维数组

int [][] arr1 = {{1,2,3},{4,5,6},{7,8,9}}
int [][] arr2 = new int [][]{{1,2,3}{4,5,6};
int [][] arr3 = new int [2][3];

在arr1和arr2的定义中,虽然我们没有给他定义行和列,但是通过{}也能让编译器知道行和列。
注意:二维数组在java中时可以忽略列的。


2)二维数组的遍历;

for循环进行遍历:

    可以把二维数组的行看成一维数组的长度,把列看成一维数组行的长度。

for(int i = 0; i < arr1.length; i++) {
        for(int j = 0; j < arr1[i].length; j++) {
            System.out.print(arr1[i][j] + " ");
        }
}
# 数组名.for数组类型名首字母(例: i) ,然后按enter键也会出现循环语句

         例: for(int i = 0;i < score.length;i++) {

                 }

for each遍历数组:

for each在遍历数组的时候,我们要创建一个与数组类型相同的临时变量,数组会把他的每一个元素都复制给临时变量,然后进行输出。

语法格式:

for(数据类型变量:数组名) {

  System.out.print(变量);

  }

public static void main(String[] args) {
    int [] arr = {1,2,3,4,5};
    for (int x : arr) {
        System.out.println(x + " ");
    }
}

1.根据三个学生的成绩单,输出各同学的平均成绩,并平均成绩大于等于80的评为优,其他的评为良。

package Mai3;
public class Demo13 {
    public static void main(String[] args) {
        double [][]score = {{89,92,85},{76,86,68},{58,71,79}};
        double []ave = new double[3];   //保存每一位学生的平均成绩
        for(int i = 0;i < score.length;i++) {
            double sum = 0;  //每个学生总分
            for(int j = 0;j < score[i].length;j++) {
                sum = sum + score[i][j];//计某个同学的总分
                ave[i] = sum / 3.0;
            }
        }
        for(int i = 0;i < ave.length;i++) {
            System.out.println("第" + (i+1) + "个同学的平均成绩 = " + ave[i]);
            if(ave[i] >= 80) {
                System.out.println("优");
            }
            else {
                System.out.println("良");
            }
        }
    }
}

运行结果为:

第1个同学的平均成绩 = 88.66666666666667
优
第2个同学的平均成绩 = 76.66666666666667
良
第3个同学的平均成绩 = 69.33333333333333
良

2.定义一个数组,存储2,3,5,6,9,12,15,30,7遍历数组得到每一个元素, 如果是奇数,则当前的数字扩大两倍;如果是偶数,则当前的数字变成他的1/2, 并输出奇偶数个数。

package Mai3;
public class Demo15 {
    public static void main(String[] args) {
        int [] arr = {2,3,5,6,9,12,15,30,7};
        int count1 = 0,count2 = 0;
        for (int i = 0; i < arr.length; i++) {  //对每一个元素进行判断
            if(arr[i] % 2 == 0) {
                arr[i] = arr[i] / 2;//偶数变成1/2;
                count1++;
            }
            else {
                arr[i] = arr[i] * 2;  //奇数扩大两倍;
                count2++;
            }
        }
        for (int i = 0; i < arr.length; i++) {    //遍历数组;
            System.out.print(arr[i] + " ");
        }
        System.out.println(" ");
        System.out.println("奇数个数为:" + count1 + ";" + "偶数个数为:" + count2);
    }
}

运行结果为:

1 6 10 3 18 6 30 15 14  
奇数个数为:4;偶数个数为:5

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值