目录
1.使用形参定义方法
2.使用实参调用方法
3.定义带返回值的方法
4. 定义无返回值的方法,并区分void方法和带返回值的方法间的不同
题:分数转换成等级
(1)不带返回值(void 方法)
(2)带返回值 (return 语句)
return语句:对于void方法不是必需的,但它能用于终止方法 并 返回到方法的调用者 。
5. 按值传参
6.开发模块化的、易读的、易调试和易维护的可重用代码
(1)最大公约数
(2)素数(调用方法)
7.编写方法,将十六进制数转换为十进制数
8. 使用方法重载,理解歧义重载
9. 确定变量的作用域
变量的作用域:
局部变量:
10. 在软件开发中应用方法抽象的概念
示例学习:生成随机字符
11. 使用逐步求解的办法设计和实现方法
1.使用形参定义方法
2.使用实参调用方法
3.定义带返回值的方法
程序清单6-1
测试 max方法
//TestMax
public class TestMax {
public static void main(String[] args){
int i = 5;
int j = 2;
int k = max(i,j);
System.out.println("The maximum of " + i + " and " + j + " is " + k);
}
public static int max(int num1,int num2){
int result = 0;
if(num1 > num2)
result = num1;
else
result= num2;
return result;
}
}
4. 定义无返回值的方法,并区分void方法和带返回值的方法间的不同
题:分数转换成等级
(1)不带返回值(void 方法)
(1)不带返回值(void 方法)
程序清单6 - 2 TestVoidMethod
给出的程序定义了一个名为printGrade的方法(void方法,不返回任何值),然后调用它打印出给定分数的等级
// (void方法,不带返回值) TestVoidMethod
public class TestVoidMethod {
public static void main(String[] args){
System.out.print("The grade is ");
printGrade(78.5); //调用printGrade()方法
System.out.print("The grade is ");
printGrade(59.5); //调用printGrade()方法
}
//定义printGrade()方法
public static void printGrade(double score){
if(score >= 90.0)
System.out.println("A");
else if(score >= 80.0)
System.out.println("B");
else if(score >= 70.0)
System.out.println("C");
else if(score >= 60.0)
System.out.println("D");
else
System.out.println("F");
}
}
(2)带返回值 (return 语句)
程序清单6 - 3 GetReturnGradeMethod
给出的程序定义了一个名为GetReturnGradeMethod的方法(带返回值),然后调用它打印出给定分数的等级
//(1) (带返回值) GetReturnGradeMethod
public class GetReturnGradeMethod {
//定义main方法,调用GetGrade方法
public static void main(String[] args){
System.out.println("The grade is " + GetGrade(78.5));
System.out.println("The grade is " + GetGrade(59.5));
}
//定义一个GetGrade方法
public static char GetGrade(double score){
if(score >= 90.0)
return A;
else if(score >= 80.0)
return B;
else if(score >= 70.0)
return C;
else if(score >= 60.0)
return D;
else
return F;
}
}
//(2)(带返回值) GetReturnGradeMethod
public class GetReturnGradeMethod {
//定义main方法,调用GetGrade方法
public static void main(String[] args){
System.out.println("The grade is " + GetGrade(78.5));
System.out.println("The grade is " + GetGrade(59.5));
}
//定义一个GetGrade方法
public static char GetGrade(double score){
char grade;
if(score >= 90.0)
grade = 'A';
else if(score >= 80.0)
grade = 'B';
else if(score >= 70.0)
grade = 'C';
else if(score >= 60.0)
grade = 'D';
else
grade = 'F';
return grade;
}
}
return语句:对于void方法不是必需的,但它能用于终止方法 并 返回到方法的调用者 。
5. 按值传参
按值传参定义:调用带参数的方法时,实参的值传递给形参
参数顺序匹配:调用方法时,需要提供实参,它们必须 与方法签名中所对应的形参 在 数量和次序上匹配
如果实参是变量不是字面值,则将该变量的值传递给形参。无论形参在方法中是否改变,该变量都不受影响 如下:
程序清单6-5
程序创建了一个能实现交换两个变量的swap方法
6.开发模块化的、易读的、易调试和易维护的可重用代码
模块化使得代码易于维护和调试,并且使得代码可以被重复使用
(1)最大公约数
程序清单 6 - 6 最大公约数
提示用户输入两个整数,然后显示它们的最大公约数(将最大公约数的代码装在gcd方法内)
(2)素数(调用方法)
程序清单 6 - 7 素数
//显示前50个素数,每行10个 PrimeNumberMethod
public class PrimeNumberMethod {
public static void main(String[] args){
System.out.println("The first 50 prime numbers are ");
printPrimeNumbers(50); //调用printPrimeNumbers方法
}
//定义printPrimeNumbers方法
public static void printPrimeNumbers(int numberOfPrimes){
int NUMBER_OF_PRIMES_PER_LINE = 10;
int count = 0;
int number = 2;
while(count < numberOfPrimes){
if(isPrime(number)){ //如果是素数
count++;
if(count % NUMBER_OF_PRIMES_PER_LINE ==0){
System.out.printf("%-5dn",number);
}
else
System.out.printf("%-5d",number);
}//内层if结束
number++;
}
}
//定义isPrime方法
public static boolean isPrime(int number){
for(int k = 2;k <= number / 2;k++){
if(number % k ==0)
return false;
} //for循环结束
return true; //isPrime方法的最终返回值必须是true
} //isPrime方法结束
}
7.编写方法,将十六进制数转换为十进制数
8. 使用方法重载,理解歧义重载
方法重载:如果调用带 int型 参数 的方法,就将调用需要 int型 参数 的方法;如果调用带 double型参数的方法,就将调用需要 double型参数 的方法
9. 确定变量的作用域
变量的作用域:
指变量可以在程序中被引用的范围
局部变量:
从声明的地方开始,直到包含该变量的块结束位置;局部变量都必须在使用之前进行声明和赋值
10. 在软件开发中应用方法抽象的概念
示例学习:生成随机字符
生成ch1 ~ ch2 之间的两个随机字符,其中 ch1
(char)( Math.random() * (ch2 - ch1 + 1) )
//生成随机字符 RandomCharacter
public class RandomCharacter {
//ch1~ch2之间的随机字符
public static char getRandomCharacter(char ch1,char ch2){
return (char)(Math.random() * (ch2 - ch1 + 1));
}
//随机大写字母
public static char getRandomUpperCaseLetter(){
return getRandomCharacter('A','Z');
}
//随机小写字母
public static char getRandomLowerCaseLetter(){
return getRandomCharacter('a','z');
}
//随机数字0~9
public static char getRandomDigitCharacter(){
return getRandomCharacter('0','9');
}
//随机字符
public static char getRandomCharacter(){
return getRandomCharacter('u0000','uFFFF');
}
}



