当前位置:文档之家› java中二维数组的定义

java中二维数组的定义

java中二维数组的定义

Java中的二维数组是一种特殊的数据结构,它可以存储多个元素,并以行和列的形式进行索引。本文将介绍如何定义和使用二维数组,并探讨一些与二维数组相关的知识点。

一、什么是二维数组

二维数组是一种由多个一维数组组成的数据结构。它可以看作是一个表格,其中每个元素都有两个索引:行索引和列索引。行索引表示元素所在的一维数组的位置,列索引表示元素在一维数组中的位置。

二、如何定义二维数组

在Java中,我们可以使用以下语法来定义一个二维数组:

```java

dataType[][] arrayName = new dataType[row][column];

```

其中,dataType表示数组中元素的数据类型,arrayName是数组的名称,row表示二维数组的行数,column表示二维数组的列数。

例如,我们可以定义一个int类型的二维数组:

```java

int[][] matrix = new int[3][4];

```

这样就创建了一个有3行4列的二维数组。

三、如何访问二维数组中的元素

要访问二维数组中的元素,我们需要使用两个索引值来定位元素的位置。例如,要访问二维数组matrix中第2行第3列的元素,可以使用以下语法:

```java

int element = matrix[1][2];

```

这样就可以将matrix[1][2]的值赋给element变量。

四、二维数组的初始化

二维数组的初始化可以使用两种方式:静态初始化和动态初始化。

静态初始化是指在定义数组时同时为数组元素赋值。例如,我们可以使用以下语法来静态初始化一个二维数组:

```java

dataType[][] arrayName = {

{element1, element2, ...},

{element1, element2, ...},

...

};

```

其中,element1、element2等表示要赋给数组元素的值。

例如,我们可以静态初始化一个String类型的二维数组:

```java

String[][] names = {

{"Alice", "Bob", "Charlie"},

{"David", "Emily", "Frank"},

{"George", "Hannah", "Ivy"}

};

```

这样就创建了一个有3行3列的二维数组,并为每个元素赋了一个名字。

动态初始化是指在定义数组时不为数组元素赋值,而是在后续的代码中逐个为数组元素赋值。例如,我们可以使用以下语法来动态初始化一个二维数组:

```java

dataType[][] arrayName = new dataType[row][column];

```

然后,可以使用循环来为数组元素赋值。例如,我们可以动态初始化一个int类型的二维数组,并为每个元素赋值为其行索引和列索引的和:

```java

int[][] matrix = new int[3][4];

for (int i = 0; i < matrix.length; i++) {

for (int j = 0; j < matrix[i].length; j++) {

matrix[i][j] = i + j;

}

}

```

五、二维数组的遍历

要遍历二维数组中的所有元素,我们可以使用嵌套的for循环。外层循环用于遍历行,内层循环用于遍历列。例如,我们可以使用以下代码来遍历二维数组matrix并打印每个元素的值:

```java

for (int i = 0; i < matrix.length; i++) {

for (int j = 0; j < matrix[i].length; j++) {

System.out.print(matrix[i][j] + " ");

}

System.out.println();

}

```

运行以上代码,会输出以下结果:

```

0 1 2 3

1 2 3 4

2 3 4 5

```

六、二维数组的应用

二维数组在实际开发中有广泛的应用。例如,我们可以使用二维数组来表示二维坐标系上的点,存储学生成绩表格,保存图像的像素值等。

七、注意事项

在使用二维数组时,需要注意以下几点:

1. 二维数组可以是不规则的,即每行的列数可以不同。

2. 二维数组的索引从0开始,最大索引值为数组长度减1。

3. 尽量避免数组越界访问,可以使用条件判断来确保索引值的合法性。

4. 在使用二维数组时,可以使用数组.length来获取数组的行数,使用数组[i].length来获取某一行的列数。

八、总结

本文介绍了Java中二维数组的定义、访问、初始化、遍历和应用。二维数组是一种重要的数据结构,可以用来存储和处理多个元素。掌握了二维数组的使用方法,我们可以更灵活地处理各种复杂的数据结构和算法问题。希望本文对您有所帮助!

java判断题

判断题 1、Java语言有三种技术平台,分别是JavaSE、JavaME、JavaEE(T) 2、Java是一门高级计算机语言。(T) 3、Java语言具体跨平台的特性(T) 4、JDK工具中自带了一个JRE工具(T) 5、JDK安装的时候不可以修改安装目录(F) 6、JDK的安装目录中,只包含bin和lib两个目录。(F) 7、javac命令可以运行Demo.class文件(F) 8、在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。(T) 9、JDK安装成功后,可以将bin目录的路径配置在环境变量path中。(T) 10、JDK5以后可以不用配置classpath环境变量。(T) 11、配置classpath环境变量时,路径后面加分号与不加分号是一样的。(F) 12、main()函数是java程序的执行入口。(T) 13、数组的遍历是指依次访问数组中的每个元素(T) 14、continue 语句只用于循环语句中,它的作用是跳出循环。(F) 15、continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环(T) 16、数组的排序算法只有冒泡排序这一种(F) 17、方法的返回值类型可以定义也可以不定义(F) 18、比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值(T) 19、若x = 5,则表达式(x + 5)/3的值是3(T) 20、标识符可以为关键字(F) 21、-5%3的运算结果是2(F)

22、0xC5表示的是一个十六进制整数。(T) 23、在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断(F) 24、方法递归次数过多会导致内存溢出(T) 25、在Java中,小数会被默认是double类型的值(T) 26、main是Java语言中的关键字(F) 27、在进行赋值运算时,将运算符右边的值赋给左边的变量(T) 28、Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似(T) 29、方法内部类是指在成员方法中定义的类,它只能在当前方法中被使用。(T) 30、一个类中如果没有定义构造方法,那么这个类就没有构造方法。(F) 31、垃圾回收器会随时将垃圾对象从内存中释放。() 32、封装就是隐藏对象的属性和实现细节,仅对外提供公有的方法。(T) 33、Java程序中,可以使用关键字new创建新的对象。(T) 34、静态方法随着类的加载而加载,随着类的消失而消失。(T) 35、只有private修饰成员变量才是类的封装体现。(F) 36、如果想通过外部类去访问内部类,则需要通过外部类对象去创建内部类对象。(T) 37、单例设计模式,构造方法的权限修饰符是private。(T) 38、this关键字可以在所有的方法中使用。(F) 39、类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,成员方法用于描述对象的行为。(T) 40、在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可。(T) 41、静态变量可以被类和对象调用。(T)

实验报告Java二

JA V A实验报告 系(教研室):专业:年级: 实验课程:Java语言程序设计姓名:学号:实验室号: 计算机号:实验时间:指导教师签字:成绩: 实验2 一、实验目的 1.掌握声明二维数组变量,创建二维数组对象,使用二维数组解决实际问题。 2.使用构造方法创建对象,通过对象引用变量访问对象,。 3.封装数据域以便于类的维护。 二、实验要求 1.(7.6)编写两个矩阵相乘的方法。方法头如下: public static double[][] multiplyMatrix(double[][] a, double[][] b) 为了是矩阵a能够和矩阵b相乘,矩阵a的列数必须与矩阵b的行数 相同。假设矩阵c是相乘的结果,而a的列数是n,那么每个元素c ij=a i1 * b1j + a i2 * b2j+ …+ a in * b nj。例如,对于两个3×3的矩阵a和b,c 有: 编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示他们的 2.(8.1)创建一个名为Rectangle的类表示矩形,这个类包括:

●两个名为width和height的double型数据域,它们分别表示矩形 的宽和高。width和height的默认值都为1。 ●创建默认矩形的无参构造方法:Rectangle()。 ●一个创建width和height为指定值的矩形的构造方法: Rectangle(double width, double height)。 ●一个名为getWidth()的方法返回宽。 ●一个名为getHeight()的方法返回高。 ●一个名为getArea()的方法返回这个矩形的面积。 ●一个名为getPerimeter()的方法返回周长。 实现这个类,编写一个测试程序,提示用户输入两个矩形,创建两个 Rectangle对象,然后显示矩形的宽,高,面积和周长。 三、实验原理 1. 本题通过编写Matrix类实现题目要求。Matrix类包含三个方法: 存储矩阵的方法: public static double[][] inputMatrix() 用于打印矩阵的方法: public static double[][] outputMatrix(double[][] x),利用两个for循环来实现输出二维数组。 计算两个矩阵的乘积的方法: public static double[][] multiplyMatrix(double[][] a, double[][] b)根据线性代数的知识,抽象出 程序的实现公式: re[i][j]=x1[i][0]*x2[0][j]+x1[i][1]*x2[1][j]+x1[i][2]*x2[2][j]; 两个for循环嵌套,就可以计算出矩阵并且把值保存在新的矩阵re里面,返回。 2. 本题用过编写getWidth(double width, double height)方法和getHeight(double width, double height) 方法来获取生成矩阵的长和宽。 编写getArea(double width, double height) 方法和getPerimeter(double width, double height) 方法计算矩阵的面积与周长,最后通过Rectangle()方法和Rectangle(double width, double height) 方法显示矩阵的相关数据完成题目要求。

Java高级语言程序设计期末复习资料

第1章、Java语言简介 第2知识点、Java程序的开发过程 【单项选择】1 、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易) A、classpath配置一次后可永久使用 B、没有classpath环境变量就不能运行Java程序 C、classpath环境变量可以让虚拟机找到class文件的目录 D、查看当前classpath配置的命令是:classpath 参考答案:C 答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。查看当前classpath的命令是set classpath; 【单项选择】2 、在下列说法中,选出最正确的一项是( )。(难度系数:易) A、Java语言是以类为程序的基本单位的 B、Java语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java语言中,类的源文件名和该类名可以不相同 参考答案:A 【单项选择】3 、Java属于以下哪种语言? (难度系数:易) A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 参考答案:C 答案解析:Java是一门高级编程语言 【单项选择】4 、下列选项中不属于Java虚拟机的执行特点的一项是( )。(难度系数:易) A、异常处理 B、多线程 C、动态链接 D、简单易学 参考答案:D 【单项选择】5、下列命令中,可以将文档注释提取出来生成帮助文档的是()(难度系数:易) A、javac B、java C、javadoc D、jar 参考答案:C 答案解析:可以使用javadoc命令将文档注释提取出来生成帮助文档

《算法分析与设计》期末复习题

一、选择题 1.一个.java文件中可以有()个public类。 A.一个B.两个C.多个D.零个 2.一个算法应该是() A.程序B.问题求解步骤的描述 C.要满足五个基本特性D.A和C 3.用计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法特征中的()A.唯一性B.有穷性C.有0个或多个输入D.有输出 4.某校有6位学生参加学生会主席竞选,得票数依次为130,20,98,15,67,3。若采用冒泡排序算法对其进行排序,则完成第二遍时的结果是() A.3,15,130,20,98,67B.3,15,20,130,98,67 C.3,15,20,67,130,98 D.3,15,20,67,98,130 5.下列关于算法的描述,正确的是() A.一个算法的执行步骤可以是无限的B.一个完整的算法必须有输出 C.算法只能用流程图表示D.一个完整的算法至少有一个输入 6.Java Application源程序的主类是指包含有()方法的类。 A、main方法 B、toString方法 C、init方法 D、actionPerfromed方法 7.找出满足各位数字之和等于5的所有三位数可采用的算法思路是() A.分治法B.减治法C.蛮力法D.变治法 8.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。 A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 9.计算某球队平均年龄的部分算法流程图如图所示,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储从键盘输入的球员年龄值,输入0时表示输入结束。

java中二维数组的定义

java中二维数组的定义 Java中的二维数组是一种特殊的数据结构,它可以存储多个元素,并以行和列的形式进行索引。本文将介绍如何定义和使用二维数组,并探讨一些与二维数组相关的知识点。 一、什么是二维数组 二维数组是一种由多个一维数组组成的数据结构。它可以看作是一个表格,其中每个元素都有两个索引:行索引和列索引。行索引表示元素所在的一维数组的位置,列索引表示元素在一维数组中的位置。 二、如何定义二维数组 在Java中,我们可以使用以下语法来定义一个二维数组: ```java dataType[][] arrayName = new dataType[row][column]; ``` 其中,dataType表示数组中元素的数据类型,arrayName是数组的名称,row表示二维数组的行数,column表示二维数组的列数。 例如,我们可以定义一个int类型的二维数组: ```java int[][] matrix = new int[3][4]; ```

这样就创建了一个有3行4列的二维数组。 三、如何访问二维数组中的元素 要访问二维数组中的元素,我们需要使用两个索引值来定位元素的位置。例如,要访问二维数组matrix中第2行第3列的元素,可以使用以下语法: ```java int element = matrix[1][2]; ``` 这样就可以将matrix[1][2]的值赋给element变量。 四、二维数组的初始化 二维数组的初始化可以使用两种方式:静态初始化和动态初始化。 静态初始化是指在定义数组时同时为数组元素赋值。例如,我们可以使用以下语法来静态初始化一个二维数组: ```java dataType[][] arrayName = { {element1, element2, ...}, {element1, element2, ...}, ... }; ```

java数组用法

java数组用法 Java是一种面向对象的编程语言,提供了许多用于操作和管理数据 的数据结构。数组是最常见和基础的数据结构之一,它用于存储一组相同 类型的元素。本文将详细介绍Java中数组的用法,并提供一些示例代码。 1.定义和初始化数组 在Java中,可以使用以下语法来定义和初始化一个数组: ``` dataType[] arrayName; // 定义数组变量 arrayName = new dataType[size]; // 创建数组对象 ``` 或者可以将以上两步合并为一步: ``` dataType[] arrayName = new dataType[size]; ``` 其中,dataType是数组中元素的类型,arrayName是数组的变量名称,size是数组的大小或元素个数。 以下是一些示例: ```java int[] numbers = new int[5]; // 创建一个包含5个整数的数组

double[] grades = new double[10]; // 创建一个包含10个浮点数的数组 String[] names = new String[3]; // 创建一个包含3个字符串的数组 boolean[] flags = new boolean[8]; // 创建一个包含8个布尔值的数组 ``` 2.访问数组元素 可以使用下标来访问数组中的元素。数组的下标从0开始,最大下标为数组的长度减1、使用下标来访问数组元素的语法如下: ``` arrayName[index] ``` 以下是示例代码: ```java numbers[0] = 10; // 将10赋值给数组numbers的第一个元素 double grade = grades[2]; // 将数组grades的第三个元素赋值给变量grade names[1] = "Alice"; // 将字符串"Alice"赋值给数组names的第二个元素

java逻辑

java逻辑 Java语言作为一个强类型的面向对象编程语言,在软件开发中应用广泛。在Java中,逻辑是实现程序功能的重要一环,因此掌握好Java逻 辑是程序员必备的技能之一。本文将从控制结构、数组、集合、异常 等方面分别介绍一些Java逻辑。 一、控制结构 控制结构是实现程序流程控制的基本手段,Java提供了三种控制结构 方式:顺序结构、分支结构和循环结构。 1.1 顺序结构 顺序结构是指程序按照代码的书写顺序从上到下依次执行。在Java中,没有专门的控制结构控制程序的执行顺序,程序默认按照代码的书写 顺序依次执行。 1.2 分支结构 分支结构是根据条件进行分支选择,实现程序流程控制。Java中的分 支结构主要有if-else语句和switch语句两种方式。其中,if-else语句适 合处理两种分支情况,而switch语句适合处理多种情况的分支选择。

1.3 循环结构 循环结构是指程序通过循环体重复执行一定次数的代码,实现程序流程控制。Java中主要有for、while和do-while三种循环结构。其中,for循环适用于已知循环次数的情况,while和do-while循环适用于未知循环次数的情况。 二、数组 数组是一种保存多个同类型数据的数据结构。在Java中,数组可以是一维的、二维的,甚至多维的。数组中的元素可以通过下标来访问,下标从0开始。 2.1 一维数组 一维数组是保存一组同类型数据的数组。在Java中,定义一维数组需要指定数组的长度,数组的长度不能修改。数组的访问可以使用下标来访问,下标从0开始。 2.2 二维数组 二维数组是保存多行多列同类型数据的数组。在Java中,定义二维数组需要指定行数和列数,二维数组可以看作是一个表格。数组的访问也可以使用行下标和列下标来访问。

jna对c语言二维数组的数据类型映射

jna对C语言二维数组的数据类型映射 1. 简介 Java Native Access(JNA)是一个用于在Java程序中访问本地库的框架。它提供了一种简单的方式,使Java程序能够调用C语言编写的本地库函数。在使用JNA 时,需要对C语言数据类型与Java数据类型之间的映射关系有一定的了解。本文将重点介绍JNA对C语言中二维数组的数据类型映射。 2. JNA中的数据类型映射 JNA提供了一套数据类型映射机制,用于将C语言中的数据类型映射到对应的Java 数据类型。这样,在Java程序中就可以直接使用Java数据类型来访问C语言的数据。 对于C语言中的二维数组,JNA提供了多种映射方式,可以根据实际需求选择合适的方式。 2.1 使用Java数组作为二维数组的映射 最简单的方式是使用Java数组作为二维数组的映射。在C语言中,二维数组是由连续的内存块组成的,可以通过指针进行访问。在JNA中,可以使用Java的二维数组来表示C语言中的二维数组。 import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Pointer; public interface MyLibrary extends Library { MyLibrary INSTANCE = Native.load("mylibrary", MyLibrary.class); void myFunction(int[][] array); } public class Main { public static void main(String[] args) { int[][] array = new int[3][3]; array[0][0] = 1; array[0][1] = 2; array[0][2] = 3; array[1][0] = 4; array[1][1] = 5; array[1][2] = 6; array[2][0] = 7;

java string[]数组tostring方法

java string[]数组tostring方法 在Java中,数组是一种容器,用于存储相同类型的数据。Java提供了一种方便的方式来将数组转换成字符串,即使用toString(方法。 在Java中,toString(方法是Object类的一个方法,因此所有的Java对象都可以调用该方法。当调用toString(方法时,Java将返回一个表示该对象的字符串。 对于数组来说,toString(方法返回的字符串由数组的元素组成,每个元素之间用逗号分隔。数组的类型也会包含在返回的字符串中。 下面是一个示例程序,演示了如何使用toString(方法将数组转换为字符串: ```java public class ArrayToStringE某ample public static void main(String[] args) int[] numbers = {1, 2, 3, 4, 5}; String numbersString = java.util.Arrays.toString(numbers); System.out.println(numbersString); // 输出:[1, 2, 3, 4, 5] String[] names = {"John", "Jane", "Jack"}; String namesString = java.util.Arrays.toString(names); System.out.println(namesString); // 输出:[John, Jane, Jack] }

``` 在上面的示例中,我们首先创建了一个int类型的数组numbers和一个String类型的数组names。然后,我们分别使用Arrays.toString(方法将它们转换为字符串,并使用System.out.println(方法打印输出。 需要注意的是,Arrays.toString(方法只适用于一维数组。对于多维数组,需要使用Arrays.deepToString(方法。例如: ```java public class MultiDimArrayToStringE某ample public static void main(String[] args) int[][] matri某 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; String matri某String = java.util.Arrays.deepToString(matri 某); System.out.println(matri某String); // 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] } ``` 在上面的示例中,我们创建了一个二维数组matri某,并使用Arrays.deepToString(方法将其转换为字符串。 需要注意的是,toString(方法只是将数组转换为字符串表示,而不改变原始数组的内容。因此,如果需要修改数组中的元素,需要使用相应的数组操作方法。

二维数组周边元素平均值_概述及解释说明

二维数组周边元素平均值概述及解释说明 1. 引言 1.1 概述 在计算机科学领域中,二维数组是一种常见的数据结构,它由行和列组成,并且可以通过索引访问其中的元素。本文主要探讨二维数组中周边元素平均值的求解方法及其意义。周边元素指的是二维数组中位于边界位置的元素,即靠近数组边界的元素。 1.2 文章结构 本文将分为五个部分来论述二维数组周边元素平均值问题。首先,在引言部分我们将对文章进行总览和概述。接下来,在第二部分我们将详细解释什么是二维数组以及周边元素的定义与概念,并介绍如何计算这些元素的平均值以及其意义所在。第三部分将介绍解决该问题的方法一:迭代遍历数组,包括方法原理、步骤、注意事项和代码示例。然后,在第四部分我们将探讨解决方法二:数学公式推导求解,包括公式推导过程、基本原理以及实际应用示例与效果评估。最后,在第五部分中我们将得出结论并展望未来可能存在的改进空间和研究方向。 1.3 目的 本文的目的在于全面介绍和说明二维数组周边元素平均值这一问题,并通过详细

的解释、示例和比较,帮助读者理解不同的解决方法以及它们之间的优劣势。通过阅读本文,读者将能够深入了解二维数组的概念与特性,并学习如何有效地计算二维数组中周边元素的平均值。同时,我们也希望激发读者对于该问题未来可能的改进空间和研究方向的思考。 2. 二维数组周边元素平均值的解释说明 2.1 什么是二维数组 在编程中,二维数组是指由多个一维数组组成的数据结构。它可以看作是一个表格或者矩阵,每个位置上都存储着一个特定的值。二维数组中的每个元素都可以通过其在数组中的行索引和列索引来唯一确定。 2.2 周边元素的定义与概念 在一个二维数组中,周边元素表示的是位于最外层边缘位置上的元素。具体而言,对于一个m行n列的二维数组,周边元素包括第一行、最后一行、第一列和最后一列上的所有元素。这些元素通常处于数组的边缘位置,与其他元素相邻。 2.3 平均值计算方法及意义 计算二维数组周边元素平均值时,首先需要将周边元素进行求和操作,然后再除以周边元素的总个数(即几个边缘位置上分别的行数和列数之和)来得到平均值。这样做可以帮助我们了解整个二维数组边界部分各个位置上数据的平均水平。

java加方括号使用方法

java加方括号使用方法 Java uses square brackets to denote arrays. In Java, square brackets are used to define an array of a particular data type. For example, if you want to define an array of integers in Java, you would use the syntax int[] arrayName. This indicates that arrayName is an array of integers. This syntax is used to declare, create, and initialize arrays in Java. 在Java中,方括号用于定义特定数据类型的数组。例如,如果你想在Java 中定义一个整数数组,你会使用int[] arrayName这样的语法。这表示arrayName是一个整数数组。这种语法用于声明、创建和初始化Java中的数组。 When declaring a one-dimensional array in Java, you specify the type of elements followed by square brackets and then the name of the array. For example, to declare an array of integers, you would use the syntax int[] arrayName. In Java, you can also declare and initialize an array in a single line, like this: int[] arrayName = {1, 2, 3, 4, 5}. This creates an array of integers and initializes it with the specified values in one step.

关于二维数组地址和指针之间的赋值

在开发工业以太网项目的时候经常遇到一些小细节问题,在建立数据报进行传输的过程中传递txbuf缓冲区的地址的时候就遇到类似下面的问题。 一.简单说明1 定义一个2X3的int型的二维数组int array[2][3];并且给这个二维数组赋值1,2,3,4,5,6;array[0][0]=1 array[0][1]=2 array[0][2]=3 array[1][0]=4 array[1][1]=5 array[1][2]=6 输出结果 1 2 3 4 5 6 array[0]表示第一行的首地址,也就是第一行第一个数的地址,也就是&array[0][0] So array[0]==&array[0][0];其实&array[0]还==array[0]==&array[0][0],都表示第一行的首地址。 array[1]是第二行的首地址,也就是第二行第一个数的地址,也就是&array[1][0] so array[1]=&array[1][0];试试&array[1]还==array[1]==&array[1][0] 定义一个指针变量int *p;将第一行的首地址赋给p有3种方式。 1. p=array[0]; 2. p=&array[0]; 3. p=&array[0][0]; p[0]就等同于array[0][0],也就是p[0]==1;(为了形象记忆,可以用替换的角度去记忆和理解。因为之前说过p=array[0], so, p[0]就把p换成array[0]再加上[0]就是arary[0][0]) p[1]等于array[0][1]等于2 p[2]等于array[0][2]等于3

面向对象技术Java 期末复习试卷(三)

期末复习试卷(三) 一、单项选择题 1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文 件名是() A。teststudent。java B。teststudent 。class C. TestStudent。java D. TestStudent。class 正确答案:C 解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致. 2、关于下面的代码,哪个描述是正确的? public class Test{ public static void main(String[]args){ Integer n1 = new Integer(3); Object n2 = new Integer(4); System.out.println(https://www.doczj.com/doc/ec19053276.html,pareTo(n2)); } } A。可以编译通过,可以运行,并得到预期结果. B。可以编译通过,可以运行,但不能得到预期结果。 C。可以编译通过,但又运行错误. D. 有编译错误。 正确答案:D 解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,

提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer 类,T被替换为Integer,如下图: 因此,Integer类中compareTo()方法的定义如下: 因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer: System。out.println(https://www.doczj.com/doc/ec19053276.html,pareTo(n2)); 正确写法如下: System.out.println(https://www.doczj.com/doc/ec19053276.html,pareTo((Integer) n2)); 类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。 3、下面哪种类型不是引用数据类型?( ) A。数组 B. char C. String D。Object 正确答案:B 解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种: 布尔类型:boolean

Java练习及参考答案

Java练习及参考答案 1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。(2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上 A级 80~89 B级 70~79 C级 60~69 D级 60分以下 E级 import java.util.Scanner;

class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){ System.out.println("输入有误! "); System.exit(0); } /*判断分数的等级 90分以上者A级, 80~89分者 B级,70~79分者 C级, 60~69者 D级,60分以下E级 */ if (mark>=90) System.out.println("this mark is grade \'A\' "); else if (mark>=80) System.out.println("this mark is grade \'B\' "); else if (mark>=70) System.out.println("this mark is grade \'C\' "); else if (mark>=60) System.out.println("this mark is grade \'D\' "); else System.out.println("this mark is grade \'E\' "); } } 3,编写程序求1+3+5+7+……+99 的和值。 class he{ public static void main(String[] args){ int number = 1; //初始值1,以后再+2递增上去 int sum = 0;

Java基础教程考试题目

Java基础教程考试题目 单选题 1、 下列选项中,属于字符常量的是() 2分 •A、"a" •B、'ab' •C、'1' •D、1 参考答案: C 答案说明: 字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符,如’a’。 2、 下列选项中,哪一个是多行注释符号() 2分 •A、//**// •B、/*/* •C、// •D、/**/

参考答案: D 答案说明: /* */ 表示多行注释,以“/*”起始,以“*/”结束。 3、 下列异常声明中,正确的是() 2分 •A、publicvoidthrowsIOExceptionfun(){} •B、publicvoidfunthrowsIOException(){} •C、publicvoidfun()throwsIOException{} •D、publicvoidfun()throwsIOException,throwsSQLException{} 参考答案: C 答案说明: throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做法称为方法声明抛出一个异常。 4、 以下关于成员属性与成员方法的描述中,错误的是() 2分 •A、成员属性我们也叫成员变量,它就是描述对象的特征。它可以定义在类中,也可以定义在方法中 •B、成员方法用于描述对象的行为

•C、在类中定义的变量,我们称为成员变量 •D、在类中定义的方法,我们称变成员方法 参考答案: A 答案说明: 类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。 5、 关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的() 2分 •A、1234 •B、1000 •C、1234.0 •D、以上都不对 参考答案: B 答案说明: Java中,整数之间相除,会忽略小数部分,得到的结果还是整型数据。 6、 请阅读下面的程序 public class Example03 { public static void main(String[] args) { int x = 3; if (x > 5) {

相关主题
文本预览
相关文档 最新文档