慕课总结三

                                                JAVA 程 序 设 计——方 法

         本节课主要学习了java中的方法。学习的目标有:定义方法;调用带返回值的方法;调用无返回值的方法;按值传参;开发模块化的、易读、易调试和易维护的可重用代码;

使用方法重载,理解歧义重载;确定变量的作用域;使用Math类中的方法解决数学问题;在软件开发中应用方法抽象的概念;使用逐步求精的办法设计和实现方法。

   定义方法:使用方法头,方法头是指包含方法的修饰符、返回值类型、方法名和方法参数。方法可以返回值,也可以不返回值,定义方法返回值的数据类型决定。调用方法:根据方法返回值类型,确定方法的调用语句。对于带返回值的方法而言,return语句是必需的。调用堆栈,理解调用堆栈有助于理解方法是如何调用的,以及调用的过程中值的传递变化。当调用带参数的方法时,实参的值传递给形参。无论形参在方法中是否改变,该变量都不受影响。使用方法可以减少冗余的代码,提高代码的复用性,方法可以用来模块化代码,以提高程序的质量。对于一个问题,先理解好每一步应该干什么,将复杂问题细分为几个小问题,再将小问题联系起来,就可以得到一个很好的模块化程序,也有利于程序的维护。重载方法可以解决不同参数调用的问题,被重载的方法必须具有不同的参数列表,不能基于不用修饰符或返回值类型来重载方法。局部变量的作用域从声明变量的地方开始,直到包含该变量的块结束为止。局部变量都必须在使用之前进行声明和赋值。方法抽象是通过将方法的使用和它的实现分离来实现。用户在不知道方法是如何实现的情况下,就可以使用方法。方法的实现细节封装在方法内,对使用该方法的用户来说就是隐藏的。当编写一个大程序时,可以使用“分治”策略,逐步求精。

  在学习这节课的时候,我明白了知识是一层层渐进的,没有之前学的选择和循环语句的学习,就做不了这节课的方法。只有一步步的打好基础,才能走得更快,更远。只有通过不断练习才能巩固学习到的知识。以下是一道练习题,反素数是指将一个逆向后也是一个素数的非回文素数。编写程序,显示前100个素数,每行显示10个。程序如下:

package emirp;


public class Emirp {


public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("The first 100 Emirps are: ");
int number = 2;
int count = 0;
while(count < 100){
if(isPrime(number)){//调用判断是否是素数的方法
if(number != reverse(number)){//调用逆向数的方法
if(isPrime(reverse(number))){//判断逆向数是否是素数
count++;
if(count % 10 ==0){
System.out.printf("%-8s\n",number);
}
else{
System.out.printf("%-8s",number);
}
}
}
}
number++;
}
}
public static int reverse(int number){
int n = number;
int result =0;
int count = 0;
while(n != 0){
count++;
int m = (int)Math.pow(10, count);
n = number/ m;
}
while(count>0){
count--;
int digits = number % 10;
int sum = digits*(int)Math.pow(10,count);
result = result + sum;
number = number /10;
}
return result;
}
public static boolean isPrime(int number){
for(int divisor = 2;divisor <= number/2;divisor++){
if(number % divisor == 0){
return false;
}
}
return true;
}
}

该程序将判断素数、生成回文数、打印回文素数的方法分开,使得程序更容易理解。以下是这节课做的一些作业:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值