Java基础语法第4天(方法数组)讲义
- 格式:doc
- 大小:239.50 KB
- 文档页数:23
java 数组的方法Java 数组的方法Java是一种面向对象的编程语言,提供了丰富的数组方法,用于处理和操纵数组。
本文将介绍一些常用的Java数组方法,帮助读者更好地理解和运用这些方法。
1. length方法:length方法用于获取数组的长度,返回数组中元素的个数。
例如,对于一个整型数组arr,可以使用arr.length来获取数组的长度。
2. clone方法:clone方法用于创建数组的一个副本。
它会创建一个新的数组,该数组的长度和内容与原数组相同。
使用clone方法可以避免直接修改原数组。
例如,对于一个整型数组arr,可以使用arr.clone()来创建一个新的数组。
3. equals方法:equals方法用于比较两个数组是否相等。
它会逐个比较数组中的元素,并返回一个布尔值表示比较结果。
例如,对于两个整型数组arr1和arr2,可以使用arr1.equals(arr2)来比较它们是否相等。
4. toString方法:toString方法用于将数组转换为字符串表示。
它会返回一个字符串,其中包含数组中的所有元素。
例如,对于一个整型数组arr,可以使用arr.toString()来将数组转换为字符串。
5. sort方法:sort方法用于对数组进行排序。
它会按照升序或者指定的顺序对数组元素进行排序。
例如,对于一个整型数组arr,可以使用Arrays.sort(arr)来对数组进行排序。
6. binarySearch方法:binarySearch方法用于在有序数组中查找指定元素的位置。
它会返回一个整数值表示查找结果,如果找到则返回元素的索引,如果未找到则返回一个负数。
例如,对于一个整型数组arr,可以使用Arrays.binarySearch(arr, key)来在数组中查找指定的元素key。
7. fill方法:fill方法用于将数组的所有元素设置为指定的值。
它会将数组中的每个元素都设置为指定的值。
java数组定义方法Java数组是一种用于存储多个相同类型元素的数据结构。
定义方法是在程序中声明一个数组变量,并为其分配内存空间。
在Java中,数组的定义方法可以通过以下几种方式来实现。
1. 通过指定数组长度进行定义可以使用以下语法来定义一个数组:```dataType[] arrayName = new dataType[arrayLength];```其中,dataType是数组中元素的数据类型,arrayName是数组的名称,arrayLength是数组的长度,即数组可以存储的元素个数。
例如,定义一个整型数组变量arr,长度为5的数组可以写成:```int[] arr = new int[5];```这样就在内存中分配了一个可以存储5个整数的数组。
2. 通过指定初始值进行定义除了指定数组长度外,还可以直接指定初始值来定义数组。
可以使用以下语法来定义一个数组:```dataType[] arrayName = {value1, value2, ...};```其中,value1、value2等是数组中的元素值。
例如,定义一个字符串数组变量names,包含三个初始值可以写成:```String[] names = {"Tom", "Jerry", "Alice"};```这样就定义了一个包含三个字符串元素的数组。
3. 通过指定数组长度和初始值进行定义还可以同时指定数组的长度和初始值,可以使用以下语法来定义一个数组:```dataType[] arrayName = new dataType[]{value1, value2, ...};```例如,定义一个浮点型数组变量scores,长度为4,初始值为{98.5, 78.2, 86.7, 92.3}可以写成:```float[] scores = new float[]{98.5, 78.2, 86.7, 92.3};```这样就定义了一个长度为4的浮点型数组,并指定了初始值。
Java学习-基础语法1.注释平时编写代码时,在代码量⽐较少时,我们还可以看懂⾃⼰写的,但是当项⽬结构⼀旦复杂起来,我们就需要注释才能看懂注释并不会被执⾏,是给我们写代码的⼈看的书写注释是⼀个⾮常好的习惯注释有三种:* 单⾏注释 //开头* 多⾏注释 /* */* ⽂档注释 /** */2.标识符和关键字标识符:Java所以的组成部分都需要名字。
类名,变量名以及⽅法名,类型名数组名,⽂件名都被称为标识符所有的标识符都应该以字母(a-z,A-Z),美元符$,或者下划线_开始⾸字母之后可以是字母,美元符,下划线,或者数字的任何字符组合不能使⽤关键字作为变量名或者⽅法名,不能是true,false和null尽管它们不是关键字标识符是⼤⼩写敏感的可以使⽤中⽂命名,但是⼀般不建议这样使⽤,也不建议使⽤拼⾳关键字:具有特定⽤途或被赋予特定意义的⼀些单词关键字都是⼩写的3.数据类型强类型语⾔ Java要求变量的使⽤要严格符合规定,所有的变量都必须先定义再才能使⽤弱类型语⾔字节,位,字符位(bit): 是计算机内部数据储存的最⼩单位,是⼀个⼋位⼆进制数字节(byte):是计算机中数据处理的基本单位,习惯上⽤⼤写B来表⽰1B=8bit字符:是指计算机中使⽤的字母,数字,字和符号⼆进制0b ⼋进制0 ⼗进制⼗六进制0x浮点数有精度最好完全避免浮点数进⾏⽐较字符本质还是数字转义字符制表符\t 换⾏\n4.类型转换由于Java是强类型语⾔,所有要进⾏有些运算时,需要⽤到类型转换低------------------------------------>⾼byte,short,char->int->long->float->double运算时,不同类型的数据先转换为同⼀类型,然后进⾏运算强制类型转换⾼->低(类型)变量名⾃动类型转换低->⾼注意:不能对布尔值进⾏转换不能把对象类型转换为不相⼲的类型转换时可能出现内存溢出,精度问题5.变量和常量变量变量就是可以变化的量Java是⼀种强类型语⾔,每个变量都必须声明类型Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作⽤域type varName [=value] [{,varName[=value]}]数据类型变量名 =值可以⽤逗号隔开来声明多个同类型变量注意事项:变量都有类型,可以是基本类型,也可以是引⽤类型;变量名必须是合法的标识符变量声明是⼀条完整的语句,因此每⼀个声明都必须⽤;结束变量作⽤域在Java中,变量的作⽤域分为四个级别:类级、对象实例级、⽅法级、块级类级变量⼜称全局级变量或静态变量,需要使⽤static关键字修饰,你可以与 C/C++ 中的 static 变量对⽐学习。
java中数组的定义方法摘要:1.数组的定义方法2.数组的初始化方法3.二维数组的定义和初始化4.数组的遍历方法5.数组的应用实例正文:在Java中,数组是一种非常重要且实用的数据结构。
它允许我们存储多个相同类型的数据。
下面我们将介绍数组的定义方法、初始化方法、二维数组的定义和初始化、数组的遍历方法以及数组的应用实例。
1.数组的定义方法在Java中,可以使用以下语法定义数组:```java数据类型数组名[]```例如,定义一个整型数组:```javaint[] arr;```2.数组的初始化方法数组的初始化有三种方法:(1)使用默认值初始化:```javaint[] arr = new int[5]; // arr={0, 0, 0, 0, 0}```(2)使用特定值初始化:```javaint[] arr = {1, 2, 3, 4, 5}; // arr={1, 2, 3, 4, 5}```(3)使用循环初始化:```javaint[] arr = new int[5];for (int i = 0; i < arr.length; i++) {arr[i] = i + 1;}// arr={1, 2, 3, 4, 5}```3.二维数组的定义和初始化二维数组是具有多行多列的数组,可以使用以下语法定义:```java数据类型数组名[][]```例如,定义一个二维整型数组:```javaint[][] arr;```二维数组的初始化方法与一维数组类似,也可以使用默认值、特定值或循环初始化。
4.数组的遍历方法数组的遍历有两种方法:(1)使用for循环遍历:```javafor (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j] + " ");}System.out.println();}```(2)使用增强型for循环遍历:```javafor (int[] arrElement : arr) {for (int element : arrElement) {System.out.print(element + " ");}System.out.println();}```5.数组的应用实例数组在很多场景下都有广泛的应用,例如:(1)存储和管理数据:如学生成绩、商品库存等。
第4天Java基础语法今日内容介绍◆随机点名器案例◆库存管理案例封装◆其他知识点今日内容学习目标◆能独立完成“随机点名器”案例源代码编写、编译及运行操作◆能独立完成“库存管理”案例源代码编写、编译及运行操作◆能够完成在源代码中使用方法进行运算操作◆能够完成在源代码中使用数组进行运算操作第1章随机点名器案例1.1案例介绍随机点名器,即在全班同学中随机的打印出一名同学名字。
要做的随机点名器,它具备以下3个内容:●存储所有同学姓名●总览全班同学姓名●随机点名其中一人,打印到控制台在编写案例前,我们先来学习下本案例中所涉及到的知识点:●方法●数组1.2案例学习目标●能独立完成“随机点名器”案例源代码编写、编译及运行操作●能够完成在源代码中使用方法进行运算操作●能够完成在源代码中使用数组进行运算操作1.3方法今天我们来详细聊聊Java中的方法,那么,方法是什么呢?假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。
发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样会导致程序变得很臃肿,可读性也非常差。
那么,为了解决代码重复编写的问题,我们可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。
上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
接下来通过一些案例来介绍方法在程序中起到的作用,先来看一下在不使用方法时如何实现打印三个长宽不同的矩形,如下所示。
MethodDemo01.javapublic class MethodDemo01 {public static void main(String[] args) {// 下面的循环是使用*打印一个宽为5、高为3的矩形for (int i = 0; i < 3; i++) {for (int j = 0; j < 5; j++) {System.out.print("*");}System.out.println("");}System.out.println("");// 下面的循环是使用*打印一个宽为4、高为2的矩形for (int i = 0; i < 2; i++) {for (int j = 0; j < 4; j++) {System.out.print("*");}System.out.println();}System.out.println();// 下面的循环是使用*打印一个宽为10、高为6的矩形for (int i = 0; i < 6; i++) {for (int j = 0; j < 10; j++) {System.out.print("*");}System.out.println();}System.out.println();}}运行结果如下图所示。
图1-1运行结果例程2-1在上述代码中,分别使用3个嵌套for循环完成了三个矩形的打印,仔细观察会发现,这3个嵌套for循环的代码是重复的,都在做一样的事情。
此时,就可以将使用“*”打印矩形的功能定义为方法,在程序中调用三次即可,修改后的代码如下所示。
MethodDemo02.java1public class MethodDemo02 {2public static void main(String[] args) {3printRectangle(3, 5); // 调用 printRectangle()方法实现打印矩形4printRectangle(2, 4);5printRectangle(6, 10);6}7// 下面定义了一个打印矩形的方法,接收两个参数,其中height为高,width为宽8public static void printRectangle(int height, int width) {9// 下面是使用嵌套for循环实现*打印矩形10for (int i = 0; i < height; i++) {11for (int j = 0; j < width; j++) {12System.out.print("*");13}14System.out.print("\n");15}16System.out.print("\n");17}18}运行结果同MethodDemo01.java的运行结果相同,如下图所示。
图1-2运行结果在上述代码中的第8行~第17行代码就定义了一个方法。
其中,{}内实现打印矩形的代码是方法体,printRectangle()是方法名,第8行()中的height和width是方法的参数,方法名前面的void是方法的返回值类型。
在Java中,声明一个方法的具体语法格式如下:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,......){执行语句………return 返回值;}对于上面的语法格式中具体说明如下:●修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍●返回值类型:用于限定方法返回值的数据类型●参数类型:用于限定调用方法时传入参数的数据类型●参数名:是一个变量,用于接收调用方法时传入的数据●return关键字:用于结束方法以及返回方法指定类型的值●返回值:被return语句返回的值,该值会返回给调用者需要特别注意的是,方法中的“参数类型参数名1,参数类型参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。
方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
例程2-2由于MethodDemo02.java中的printRectangle()方法没有返回值,接下来通过一个案例来演示方法中有返回值的情况,如下图所示。
MethodDemo03.java public class MethodDemo03 {public static void main(String[] args) {int area = getArea(3, 5); // 调用 getArea方法System.out.println(" The area is " + area);}// 下面定义了一个求矩形面积的方法,接收两个参数,其中x为高,y为宽public static int getArea(int x, int y) {int temp = x * y; // 使用变量temp记住运算结果return temp; // 将变量temp的值返回}}运行结果如下图所示。
图1-3运行结果在上述代码中,定义了一个getArea()方法用于求矩形的面积,参数x和y分别用于接收调用方法时传入的高和宽,return语句用于返回计算所得的面积。
在main()方法中通过调用getArea()方法,获得矩形的面积,并将结果打印。
接下来通过一个图例演示getArea()方法的整个调用过程,如下图所示。
图1-4getArea()方法的调用过程从上图中可以看出,在程序运行期间,参数x和y相当于在内存中定义的两个变量。
当调用getArea()方法时,传入的参数3和5分别赋值给变量x和y,并将x*y的结果通过return语句返回,整个方法的调用过程结束,变量x和y被释放。
1.4数组假设,现在需要统计某公司员工的工资情况,例如计算平均工资、最高工资等。
假设该公司有50名员工,用前面所学的知识,程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻烦。
其实在Java中,我们可以使用一个数组来记住这50名员工的工资。
数组是指一组数据的集合,数组中的每个数据被称作元素。
在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。
1.4.1数组的定义在Java中,可以使用以下格式来定义一个数组。
如下数据类型[] 数组名= new 数据类型[元素个数或数组长度];int[] x = new int[100];上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x[0],第二个变量的名称为x[1],以此类推,第100个变量的名称为x[99],这些变量的初始值都是0。
为了更好地理解数组的这种定义方式,可以将上面的一句代码分成两句来写,具体如下:int[] x; // 声明一个int[]类型的变量x = new int[100]; // 创建一个长度为100的数组接下来,通过两张内存图来详细地说明数组在创建过程中内存的分配情况。
第一行代码int[] x; 声明了一个变量x,该变量的类型为int[],即一个int类型的数组。
变量x 会占用一块内存单元,它没有被分配初始值。
内存中的状态如下图所示。
图1-5内存状态图第二行代码x = new int[100]; 创建了一个数组,将数组的地址赋值给变量x。
在程序运行期间可以使用变量x来引用数组,这时内存中的状态会发生变化,如下图所示。
0x3000…………new int[100]int[] x(数组的首地址)0x3000X[0]X[1]X[98]X[99]内存图1-6内存状态图在上图中描述了变量x引用数组的情况。
该数组中有100个元素,初始值都为0。
数组中的每个元素都有一个索引(也可称为角标),要想访问数组中的元素可以通过“x[0]、x[1]、……、x[98]、x[99]”的形式。
需要注意的是,数组中最小的索引是0,最大的索引是“数组的长度-1”。
在Java中,为了方便我们获得数组的长度,提供了一个length属性,在程序中可以通过“数组名.length”的方式来获得数组的长度,即元素的个数。
接下来,通过一个案例来演示如何定义数组以及访问数组中的元素,如下所示。
ArrayDemo01.java 1public class ArrayDemo01 {2public static void main(String[] args) {3int[] arr; // 声明变量4arr = new int[3]; // 创建数组对象5System.out.println("arr[0]=" + arr[0]); // 访问数组中的第一个元素6System.out.println("arr[1]=" + arr[1]); // 访问数组中的第二个元素7System.out.println("arr[2]=" + arr[2]); // 访问数组中的第三个元素8System.out.println("数组的长度是:" + arr.length); // 打印数组长度9}10}运行结果如下图所示。