资源简介 单元6 ATM系统存取款业务流模块课 时本章目标: 掌握方法的使用 掌握方法带参数功能的使用本章重点: 掌握方法的使用 掌握方法带参数功能的使用本章难点: 掌握方法带参数功能的使用内容讲解:方法1、知识点引入同学们在家都做过饭,做饭之前都是先去买菜,回家后开始洗菜、切菜、炒菜,整个过程流程化,少一个步骤都无法进行。但是我们在酒店吃饭时,会不会先等采购人员买菜,最后洗菜、切菜、炒菜?不是,所有步骤都是专人负责,分工合作,责任明确,效率就大大提高了。从第一章到第五章,所有后台的功能代码都是放在一个代码块中执行,但有时候需要重复执行某段代码时,一个代码块很难做到,例如:本章的ATM系统的存取款业务,很难做到重复的存钱和取钱。如何做到重复执行某段代码?只有将功能代码分成小块,每个小块负责一部分功能,最终在Main方法中把这些小块整合起来,完成整个功能,每一小块定义为一个方法。2、知识点1、 方法定义类似于Main方法,//Main方法定义public static void Main(String [] args){…}{}分别认识一下:Public Static:我们把它称为修饰符,修饰符分别有:public表示公共的,private私有的,Protected所保护的,static:静态的,我们初学者就使用publicVoid:称为返回类型,也就是说解决问题的结果,Void为无返回类型Main:方法名字,可以自定义,但除了面方法以外String [] args:参数,根据方法需要才能有参数,也可以没有参数花括号中就是方法体,简单的说是要实现的功能所以根据以上总结方法的定义语法:修饰符 返回类型 方法名([参数]){}方法根据参数和返回类型可以进行分类无参数无返回类型有参数无返回类型有参数有返回类型编写程序时,方法放在主方法外,class内,方法编写完成后,要使用该方法,就需要去调用,调用方法很简单:方法名()。例子:使用无参数无返回类型完成,定义一个方法,用来向访客打招呼public class Demo1{//定义一个方法,用来向访客打招呼public static void sayHello(){Console.WriteLine("Hello HOPEFUL!");}public static void Main(String[] args) {//重复调用sayHello方法5次for ( int i = 1; i <= 5; i++ ){Console.WriteLine("第" + i +"次调用!");sayHello();//方法的调用}}}2、方法的返回值方法可以完成一定的功能,也可以返回一定的结果。结果怎么显示?第一种办法是自身输出结果,第二种办法是把结果返回给调用者,上个例子就是自身输出的结果,我们再看看把结果返回给调用者,怎么做?语法:修饰符 返回类型 方法名(){Return 结果;}调用:方法名()注意:返回类型根据结果定义类型,有return返回类型不能用void我们来看看例子:找出100以内能被8整除的最大整数public class Demo3 {//返回类型为intpublic static int getNum(){int i = 100;for(;i>=0;i--){if(0 == i%8 ){break;}}//不再输出结果,而是把结果返回给调用者return i;}public static void Main(String[] args) {int num = getNum();//调用方法,得到结果Console.WriteLine(num);num++;//应用结果…Console.WriteLine(num);}}返回值除了返回基本类型的数据,还可以返回一维数组和二维数组,我们一起来看下一个例子:编写一个方法,求一组数的最大值、最小值和平均值。public class ReturnArray {public static void Main(String[]args) {double a[] = { 1.1, 3.4, -9.8, 10 };double b[] = max_min_ave(a);for (int i = 0; i < b.length; i++)Console.WriteLine("b[" + i + "]=" + b[i]);}static double[] max_min_ave(double a[]) {double res[] = new double[3];double max = a[0], min = a[0], sum = a[0];for (int i = 0; i < a.length; i++) {if (max < a[i])max = a[i];if (min > a[i])min = a[i];sum += a[i];}res[0] = max;res[1] = min;res[2] = sum / a.length;return res;}}二维数组:例:编写一个方法,把1×1~10×10的结果依次存入二维数组中,并输出二维数组的结果。示例6.5:public class ArrayTest {public static int[][] getArray() {int[][] arr = new int[10][10];for (int i = 1; i < 10; i++)for (int j = 1; j < 10; j++)arr[i][j] = i * j;return arr;}public static void Main(String[] args) {int[][] b;b = getArray();for (int i = 1; i < 10; i++) {for (int j = 1; j < 10; j++)Console.Write(b[i][j] + " ");Console.WriteLine();}}}3、方法的参数方法的参数尤为重要,没有参数的方法是不灵活的,比如上个例子100以内能被8整除的最大整数,把100改成200-300以内,是不是要重新写一个方法去实现同一个功能,失去了方法的简洁性。那如果方法带上参数,方法有了参数,简直就像老虎有了翅膀一样,异常灵活而又强大。方法带参数是怎么样的?语法:修饰符 返回类型 方法名(参数1,参数2){}调用:方法名(参数3,参数4)注意:1、参数1和参数2称为形参,参数3和参数4位实参2、形参与实参的数据类型一致并相对应定义getNum方法接收两个整数,让getNum方法求出两者之间最大的能被8整除的数字public class Demo4 {//返回类型为int,接收两个参数public static int getNum(int begin, int end) {//为了便于查找,先判断出两个数字的大小,大的放在max内,小的放在min内int max = begin > end begin : end;int min = begin > end end : begin;//让i从max开始循环,一直到minint i = max;for (; i >= min; i--) {if (0 == i % 8) {break;}}//不再输出结果,而是把结果返回给调用者return i;}public static void Main(String[] args) {int num;num = getNum(0, 100);//调用方法,传递参数,得到结果Console.WriteLine(num);num = getNum(200, 100);Console.WriteLine(num);}}教育改变生活(We Are Changing) 展开更多...... 收起↑ 资源预览