java一维数组、二维数组的定义以及实例

Java数组

  • Java 语言中提供的数组是用来存储固定大小同类型元素。
  • 数组本身即为变量,长度一旦声明,就固定不变了。

基本要素:

  • 标识符:数组名;
  • 数组元素:存储的数据;
  • 元素下标:从0开始,每个元素都可以被找到;
  • 元素类型:存储数据类型,及数据类型。

数组中若未存储满时:

  • int 输出 0;
  • double 输出 0.0;
  • string 输出 null。

一维数组

声明数组变量语法:
数据类型 [ ] 数组名字;//首选方法
或者
数据类型 数组名字 [ ];//效果相同,但不是首选

创建数组
数组名字 = new 数据类型[数据长度];

数组变量的声明,和创建数组可以用一条语句完成

dataType[] name = new dataType[arraySize];

另外,还可以使用如下的方式创建数组

dataType[] arrayRefVar = {value0, value1, ..., valuek};

二维数组

  • 二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组
  • 定义数组时,外围数组的长度一定要定义,即定义最大维数。不能里外两个数组的长度都不设定。

例题:二维数组存放3个班级2名同学的成绩

import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int [][] scores =new int[2][2];
        for (int i = 0; i <scores.length ; i++) {
            int sum = 0;
            System.out.println("请输入"+(i+1)+"班的成绩");
            for (int j = 0; j <scores[i].length ; j++) {
                System.out.println("请输入"+(i+1)+"班第"+(j+1)+"名的成绩");
                int sc = scanner.nextInt();
                scores[i][j]=sc;
                sum += sc;
            }
            System.out.println((i+1)+"班的总成绩为:"+sum);
        }
        for (int i = 0; i <scores.length ; i++) {
            for (int j = 0; j <scores[i].length ; j++) {
                System.out.println(scores[i][j]);
            }
        }
    }
}

运行结果如下:
在这里插入图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
函数的定义 什么是函数? •函数就是定义在类中的具有特定功能的一段独立小程序。 •函数也称为方法。 函数的格式: •修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...) { 执行语句; return 返回值; } 返回值类型:函数运行后的结果的数据类型。 参数类型:是形式参数的数据类型。 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。 实际参数:传递给形式参数的具体数值。 return:用于结束函数。 返回值:该函数运算后的结果,该结果会返回给调用者。 函数的特点 定义函数可以将功能代码进行封装 便于对该功能进行复用 函数只有被调用才会被执行 函数的出现提高了代码的复用性 对于函数没有具体返回值的情况,返回值类型用关键字void表示, 那么该函数中的return语句如果在最后一行可以省略不写。 注意: •函数中只能调用函数,不可以在函数内部定义函数。 •定义函数时,函数的结果应该返回给调用者,交由调用者处理。 函数的应用 两个明确 •明确要定义的功能最后的结果是什么? •明确在定义该功能的过程中,是否需要未知内容参与运算 示例: •需求:定义一个功能,可以实现两个整数的加法运算。 •分析: •该功能的运算结果是什么?两个数的和,也是一个整数(int) •在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。(两个参数int,int) •代码: int getSum(int x,int y) { return x+y; } 函数的重载(overload) 重载的概念 在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。 重载的特点: 与返回值类型无关,只看参数列表。 重载的好处: 方便于阅读,优化了程序设计。 重载示例: //返回两个整数的和 int add(int x,int y){return x+y;} //返回三个整数的和 int add(int x,int y,int z){return x+y+z;} //返回两个小数的和 double add(double x,double y){return x+y;} 函数的功能一样,仅仅是参与运算的未知内容不同时, 可以定义多函数,却使用统一函数名称,这样方便阅读。 在调用时,虚拟机通过参数列表的不同来区分同名函数。 数组 数组定义 概念 同一种类型数据的集合。其实数组就是一个容器。 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素。 格式1: 元素类型[]  数组名 = new 元素类型[元素个数或数组长度]; 示例:int[] arr = new int[5]; 格式2: 元素类型[] 数组名 = new 元素类型[]{元素,元素,……}; int[] arr = new int[]{3,5,1,7}; int[] arr = {3,5,1,7}; 数组内存结构 内存结构 Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因 为每一片区域都有特定的处理数据方式和内存管理方式。 栈内存   用于存储局部变量,当数据使用完,所占空间会自动释放。 堆内存   数组和对象,通过new建立的实例都存放在堆内存中。   每一个实体都有内存地址值   实体中的变量都有默认初始化值   实体不在被使用,会在不确定的时间内被垃圾回收器回收 方法区,本地方法区,寄存器 数组操作常见问题   数组脚标越界异常(ArrayIndexOutOfBoundsException) int[] arr = new int[2]; System.out.println(arr[3]); 访问到了数组中的不存在的脚标时发生。   空指针异常(NullPointerException) int[] arr = null; System.out.println(arr[0]); arr引用没有指向实体,却在操作实体中的元素时。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值