Java方法

**方法重载:**一个类中,有相同的函数名称,但形参不同的函数

重载规则:

  • 方法名称必须相同
  • 参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)
  • 返回类型可以相同可以不同
public class MethodDemo {public static void main(String[] args) {int a = 1;int b = 2;int c = 3;//方法重载测试int sum1 = add(a,b);int sum2 = add(a,b,c);System.out.println("a + b = " +sum1); //3System.out.println("a + b + c = " +sum2); //6}//方法实现三个数相加public static int add(int a, int b, int c) {return a + b + c;}//方法实现两个数相加public static int add(int a, int b) {return a + b;}
}

可变参数 :在方法声明中,在指定参数类型后加一个省略号(…)。一个方法只能指定一个可变参数,且必须是方法的最后一个参数。即普通参数必须在其之前声明。

递归:自己调用自己,将一个大型的复杂问题层层转化为一个与原问题相似的小规模问题求解(尽量少用递归)

  • 关键1:什么时候开始递归(用到递归)

  • 关键2:什么时候结束递归(边界条件)

    public static void main(String[] args) {System.out.println("5的阶乘为:" +fib(5));//120
    }public static int fib(int n) {if(n == 1) {  //边界条件return 1;} else { return n * f(n-1); //递归}
    }
    

    java简单计算器,实现加减乘除,接收用户循环输入

import java.util.Scanner;/*** Calculator 实现计算器功能(+,—,*,/)*/
public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {System.out.println("两个数加法请输入 add:");System.out.println("两个数减法请输入 sub:");System.out.println("两个数乘法请输入 mul:");System.out.println("两个数除法请输入 div:");System.out.println("结束请输入 end:");String operator = scanner.next();switch (operator) {case "add":System.out.println("请输入第一个数:");double a1 = scanner.nextDouble();System.out.println("请输入第二个数:");double b1 = scanner.nextDouble();System.out.println("两数和为:"+add(a1,b1));break;case "sub":System.out.println("请输入第一个数:");double a2 = scanner.nextDouble();System.out.println("请输入第二个数:");double b2 = scanner.nextDouble();System.out.println("两数差为:"+sub(a2,b2));break;case "mul":System.out.println("请输入第一个数:");double a3 = scanner.nextDouble();System.out.println("请输入第二个数:");double b3 = scanner.nextDouble();System.out.println("两数乘积为:"+multi(a3,b3));break;case "div":System.out.println("请输入第一个数:");double a4 = scanner.nextDouble();System.out.println("请输入第二个数:");double b4 = scanner.nextDouble();System.out.println("两数商为:"+div(a4,b4));break;case "end":System.out.println("程序已结束!");return;default:break;}}}public static double add(double a, double b) {return a + b;}public static double sub(double a, double b) {return a - b;}public static double multi(double a, double b) {return a * b;}public static double div(double a, double b) {return a / b;}
}

java方法重载和简单计算器相关推荐

  1. java方法练习之简单计算器

    关于导包的描述正确的是 C A. 一个源文件中只能有一条导包语句 B. 导包语句必须写在源文件的第一行有效语句 C. 导包语句的关键字为 import D. 位于java.util 包中的类无需导包, ...

  2. java方法重载和重载方法_Java 8的方法参考进一步限制了重载

    java方法重载和重载方法 方法重载一直是一个充满喜忧参半的话题. 我们已经在博客上介绍了它,并介绍了几次警告: 您会后悔对Lambdas应用重载! 保持干燥:方法重载 为什么每个人都讨厌操作员超载 ...

  3. java方法重载编程_学java教程之普通方法重载

    学编程吧学java教程之普通方法重载发布了,欢迎通过xuebiancheng8.com来访问 先来看什么是普通方法重载呢,先来看一个例子 public class Person{ String use ...

  4. java方法重载和重载方法_我们可以在Java中重载main()方法吗?

    java方法重载和重载方法 The question is that "can we overload main() method in Java?" 问题是"我们可以在 ...

  5. java方法重载和重载方法_Java中的重载与重载

    java方法重载和重载方法 Overriding Vs Overloading In Java 在Java中覆盖vs重载 Overriding and Overloading are the core ...

  6. java方法重载和重载方法_Java中的方法重载

    java方法重载和重载方法 The concept of Method Overloading in Java is where a class can have multiple methods w ...

  7. java后端开发教程_【后端开发】详细讲解JAVA中方法重载概念——简单易懂

    1.什么方法重载? 方法的重载指的是方法名一样,但是参数类型不一样 1.1.attack方法重载 有一种英雄,叫做物理攻击英雄 ADHero,为ADHero 提供三种方法. public void a ...

  8. java 方法重载的作业_java第六章 方法及方法重载 课堂笔记、作业

    当参数传递为基本数据类型时,参数变化不保留,基本数据类型参数传值 当参数传递为引用数据类型时,参数变化会保留,引用数据类型参数传址 //基本数据类型在别处被重新赋值,则本体不受影响,其值不变 //引用 ...

  9. JAVA方法重载与构造方法简介

    方法重载是指对多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同.返回类型不能用来区分重载的方法. 注意:再设计重载方法的时候,参数类型的区分度一定要足够,列 ...

最新文章

  1. PS多形式的部分之间复制“笨办法”
  2. pandas对dataframe进行排序:单数据列排序、多数据列排序、NA值排序位置、排序算法
  3. JAVA中操作符的优先级
  4. Viber4android,Viber更新4.0 推出全新贴纸市场,并支持安卓平板
  5. python单词意思-Python
  6. 第三篇 12306自动刷票下单-下单
  7. 零基础学python裴帅帅_人工智能时代,爬虫如此简单。
  8. redis分片_Redis的持久化操作
  9. codeforces 812B. Sagheer, the Hausmeister
  10. “strcmp”不能将参数从“LPWSTR”转换为“const char *”
  11. SSH 免密码/免用户名/免IP登录云服务器实践
  12. webstorm做项目第三天——开始登陆界面
  13. outlook邮箱备份步骤
  14. c语言编程三角形面积计算,c语言计算三角形面积代码
  15. 英语单词辨析(同类单词)
  16. raptor累乘流程图_程序设计基础
  17. 堪称神器的Chrome插件
  18. .net framework 4.0 64位 提示 0x8007064 无法安装 解决方法
  19. 【程序源代码】毕业设计源码推荐
  20. Ajax 的全面总结

热门文章

  1. 【Django】Django项目会加载两次(代码初始化执行两次)
  2. 计算机网络 复习题(带答案)
  3. Cloudflare CDN(泛播)IP地址段
  4. 解决npm 安装依赖提示 Maximum call stack size exceeded问题
  5. 好用的截图及制作gif工具
  6. [洛谷P4172] WC2006 水管局长
  7. 突破Android O 系统对Service的限制
  8. C语言八大排序算法【详细 代码+图文】
  9. 二阶系统响应指标图__ 二阶系统的阶跃响应实验报告
  10. Navicat Premium 15 完全卸载的方法(Windows10)