《Java实用教程第4讲方法与数组课件.ppt》由会员分享,可在线阅读,更多相关《Java实用教程第4讲方法与数组课件.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4讲 方法和数组4.1 数组4.2 方法4.3本讲小结讲后练习第4讲 方法和数组4.1 数组Java中的数组是具有相同类型的、用一个标示符名称封装到一起的一个基本数据类型序列或对象序列。4.1.1 一维数组(1)数组的声明数组通过方括号下标操作符 来定义和使用,要声明一个数组可以使用下面的两种方式:把方括号放在类型的后面:int a;或者把方括号放在变量的后面:int a;(2)数组的初始化1)直接赋初值如:int a=1,2,3,4,5,6;在声明数组时直接赋值。/ArrayInitOne.javapublic class ArrayInitOne public static void m
2、ain(String args)int a=1,2,3,4,5,6;决不能把上面的语句分开使用,这样编译器会报错:int a;a=1,2,3,4,5,6;2)使用关键字new创建数组如:int a=new int10;使用new创建数组时必须指定数组的长度,然后对数组中的元素逐一赋值。逐一赋值前,数组中的元素值全部为“0”;/ArrayInitTwo.javapublic class ArrayInitTwo public static void main(String args)int a=new int10;for(int i=0;i a.length;i+)ai=i+5;a.length
3、代表数组a的长度,即数组中元素的个数,如果在创建数组时,并不知道数组要存储的元素个数,那该怎么呢?(3)使用关键字new时直接赋初值如:int a=new int 1,2,3,4,5,;/ArrayInitFour.javapublic class ArrayInitFour public static void main(String args)int a=new int1,2,3,4,5,;对比:这种初始化的方式比第一种初始化的方式要灵活,因为第一种方式只能在声明数组的时候进行。而第三种方式可以把数组在创建并赋值时当做参数传递出去,如下面程序所示:/ArrayInitFive.javapu
4、blic class ArrayInitFive public static void printArray(int a)for(int i=0;i a.length;i+)System.out.print(ai+);public static void main(String args)printArray(new int1,2,3,4,5,);可以继续修改上面的程序,把创建数组的部分去掉,继而演变为可变长参数列表,当然printArray方法的形式要稍加改变。/VariableParameter.javapublic class VariableParameter public stati
5、c void printArray(int.a)/可变参数列表:java类型后跟三个点for(int i=0;i a.length;i+)System.out.print(ai+);System.out.println();public static void main(String args)printArray(1,2,3);printArray(1,2,3,4,5);printArray(1,2,3,4,5,6,7);下面程序展示了常用的遍历数组的方法:/ArrayTraversal.javaimport java.util.Arrays;public class ArrayTraver
6、sal public static void main(String args)int b=1,2,3,4,5,6,7,8,9,10,;/使用for循环遍历数组bfor(int i=0;i b.length;i+)System.out.print(bi+);System.out.println();/使用foreach遍历数组bfor(int x:b)System.out.print(x+);System.out.println();/使用Arrays中的toString方法遍历数组bSystem.out.println(Arrays.toString(b);二维数组的初始化也有三种方式,下面
7、程序展示了这三种初始化数组的方式:/DyadicArrayInit.javapublic class DyadicArrayInit public static void main(String args)/声明数组时赋值int a=1,2,3,4,5,6,7,8,9;/使用关键字new创建数组,然后逐一赋值int b=new int23;for(int i=0;i b.length;i+)for(int j=0;j bi.length;j+)bij=i+j;/使用关键字new创建数组时赋值int c=new int10,20,30,40,50,60;4.2 方法Java中习惯把“函数”称作“
8、方法”,其基本组成包括:修饰符、返回值、方法名、参数和方法体。如:public static int getCount(int i,int j)/方法体 4.2.1 方法的调用方法的调用方法可以有返回值,如getCount方法。也可以没有返回值,这是其返回类型为void,如:public static void showCount(int i,int j)/方法体调用有返回值的方法时,有两种方式,第一种方式是把其赋值给一个变量,如:int count=getCount(3,4);第二种方式是直接输出其返回值,如:System.out.println(getCount(3,4);如果方法的返回值
9、为void,那么对其调用就只能是在main方法或其它方法中直接列出这个方法的名字了。如:public static void main(String args)showCount(3,4);4.2.3 参数的传递Java包含两种类型的参数,基本数据类型的参数和复合数据类型的参数。(1)基本数据类型的参数传递:传数值。基本数据类型有八个,分别是:boolean、char、byte、short、int、long、float和double。基本数据类型作为参数时,传递的是数值(2)复合数据类型的参数传递:传地址值。复合数据类型包括类型性、接口类型、数组类型等。复合数据类型作为参数时,传递的是地址。4
10、.2.4 方法重载在一个类中可以定义多个同名的方法,这称为方法重载。只能通过参数的不同来区分这些同名的方法,参数的不同包括参数的个数不同和参数的类型不同。如果试图通过方法返回类型的不同来区分重载方法,编译器会报错。如:/FunctionOverloading.javapublic class FunctionOverloading public static void methodOne(int i)public static void methodOne(double i)public static void methodOne(int i,int j)public static int methodOne(int i)return i;/编译错误public static void main(String args)4.3本讲小结本讲第一节主要讲述了数组的相关内容,包括一维数组的声明、初始化、元素的遍历、元素的操作,二维数组的声明、初始化等。第二节主要讲述了方法的相关内容,包括方法的定义、方法的调用、方法的参数传递及方法重载讲后练习1、编写程序:实现十进制数和十六进制数之间的相互转换。2、编写程序:打印1000以内的所有回文素数。如131、313、757。3、编写程序:打印1000以内的所有反素数。如17是素数、71也是素数,称17和71是一对反素数。