当前位置: 首页 > news >正文

站内站怎么搭建青岛网站优化联系方式

站内站怎么搭建,青岛网站优化联系方式,网络推广网站有哪些,河北企业网站建设公司【本节目标】 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 4. 掌握递归 目录 1.方法概念及使用 1.1什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 2. 方法重载 2.1 为什么需要方法重载 2.2 方法重载概念 3. 递归 3.…【本节目标】 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 4. 掌握递归 目录 1.方法概念及使用 1.1什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 2. 方法重载 2.1 为什么需要方法重载 2.2 方法重载概念 3. 递归 3.1 生活中的故事 3.2 递归的概念 3.3 递归执行过程分析 3.4 递归练习 1.方法概念及使用 1.1什么是方法(method) 方法就是一个代码片段. 类似于 C 语言中的 函数。方法存在的意义(不要背, 重在体会): 1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用, 一份代码可以在多个位置使用. 3. 让代码更好理解更简单. 4. 直接调用现有方法开发, 不必重复造轮子. 1.2 方法定义 方法语法格式 比如实现一个两个整数相加的方法 public static int add(int x,int y){return xy; } 写一个方法检测一个年份是否为闰年  public static boolean isLeapYear(int year) {if ((year % 3 0 year % 100 ! 0) || (year % 400 0)) {return true;}return false; } 【注意事项】 1. 修饰符现阶段直接使用public static 固定搭配 2. 返回值类型如果方法有返回值返回值类型必须要与返回的实体类型一致如果没有返回值必须写成 void 3. 方法名字采用小驼峰命名 4. 参数列表如果方法没有参数()中什么都不写如果有参数需指定参数类型多个参数之间使用逗号隔开 5. 方法体方法内部要执行的语句 6. 在java当中方法必须写在类当中 7. 在java当中方法不能嵌套定义 8. 在java当中没有方法声明一说 1.3 方法调用的执行过程 【方法调用过程】 调用方法---传递参数---找到方法地址---执行被调方法的方法体---被调方法结束返回---回到主调方法继续往下执行 【注意事项】 定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行.一个方法可以被多次调用 代码示例: 计算 1! 2! 3! 4! 5! public class Test {//求n的阶乘public static int fac(int n) {int ret 1;for (int i 1; i n; i) {ret * i;}return ret;}//求阶乘和public static int facSum(int k){int sum 0;for (int i 1; i k; i) {sumfac(i);}return sum;}public static void main(String[] args) {int ret facSum(5);System.out.println(ret);} } 1.4 实参和形参的关系 方法的形参相当于数学函数中的自变量比如1 2 3 … n的公式为sum(n) Java中方法的形参就相当于sum函数中的自变量n用来接收sum函数在调用时传递的值的。形参的名字可以随意取对方法都没有任何影响形参只是方法在定义时需要借助的一个变量用来保存方法在调用时传递过来的值。 再比如 注意在Java中实参的值永远都是拷贝到形参中形参和实参本质是两个实体 代码示例: 交换两个整型变量 public class TestMethod {public static void main(String[] args) {int a 10;int b 20;swap(a, b);System.out.println(main: a a b b);}public static void swap(int x, int y) {int tmp x;x y;y tmp;System.out.println(swap: x x y y);} } // 运行结果 swap: x 20 y 10 main: a 10 b 20 可以看到在swap函数交换之后形参x和y的值发生了改变但是main方法中a和b还是交换之前的值即没有交 换成功。 【原因分析】 实参a和b是main方法中的两个变量其空间在main方法的栈(一块特殊的内存空间)中而形参x和y是swap方法中 的两个变量x和y的空间在swap方法运行时的栈中因此实参a和b 与 形参x和y是两个没有任何关联性的变量 在swap方法调用时只是将实参a和b中的值拷贝了一份传递给了形参x和y因此对形参x和y操作不会对实参a和b 产生任何影响。 注意对于基础类型来说, 形参相当于实参的拷贝. 即 传值调用 【解决办法】: 传引用类型参数 (例如数组来解决这个问题) public class TestMethod {public static void main(String[] args) {int[] arr {10, 20};swap(arr);System.out.println(arr[0] arr[0] arr[1] arr[1]);}public static void swap(int[] arr) {int tmp arr[0];arr[0] arr[1];arr[1] tmp;} } // 运行结果 arr[0] 20 arr[1] 10 2. 方法重载 2.1 为什么需要方法重载 仍然以之前的加法函数为例子 public class Test{public static int addInt(int a, int b){return ab;}public static void main(String[] args){int x 10;int y 20;int ret addInt(x,y);System.out.println(ret);} } 这串代码是可以正常运行的但是有一个局限那就是当我们是实参不是int类型的数据时程序就会出错 由于参数类型不匹配, 所以不能直接使用现有的 add 方法. 2.2 方法重载概念 在Java中方法重载Method Overloading是指在同一个类中可以存在多个同名的方法但它们的参数列表不同。通过方法重载可以根据传入的不同参数来调用不同的方法实现提供了更灵活和方便的方式来处理不同的情况。 方法重载的规则如下 方法名称必须相同。方法参数列表必须不同可以通过参数的个数、类型或顺序进行区分。 方法重载与返回值类型是否相同无关 两个方法如果仅仅只是因为返回值类型不同是不能构成重载的 下面是一个示例来说明方法重载的概念 public class MyClass {public static void main(String[] args) {int sum1 addNumbers(2, 3);double sum2 addNumbers(2.5, 3.8);int sum3 addNumbers(1, 2, 3);System.out.println(Sum1: sum1);System.out.println(Sum2: sum2);System.out.println(Sum3: sum3);}public static int addNumbers(int a, int b) {return a b;}public static double addNumbers(double a, double b) {return a b;}public static int addNumbers(int a, int b, int c) {return a b c;} } 3. 递归 3.1 生活中的故事 从前有坐山山上有座庙庙里有个老和尚给小和尚将故事讲的就是 从前有座山山上有座庙庙里有个老和尚给小和尚讲故事讲的就是 从前有座山山上有座庙... 从前有座山…… 上面的两个故事有个共同的特征自身中又包含了自己该种思想在数学和编程中非常有用因为有些时候我们 遇到的问题直接并不好解决但是发现将原问题拆分成其子问题之后子问题与原问题有相同的解法等子问题解 决之后原问题就迎刃而解了。 3.2 递归的概念 一个方法在执行过程中调用自身, 就称为 递归. 递归相当于数学上的 数学归纳法, 有一个起始条件, 然后有一个递推公式. 例如, 我们求 N! 起始条件: N 1 的时候, N! 为 1. 这个起始条件相当于递归的结束条件. 递归公式: 求 N! , 直接不好求, 可以把问题转换成 N! N * (N-1)! 递归的必要条件 1. 将原问题划分成其子问题注意子问题必须要与原问题的解法相同 2. 递归出口 代码示例: 递归求 N 的阶乘 3.3 递归执行过程分析 递归的程序的执行过程不太容易理解, 要想理解清楚递归, 必须先理解清楚 方法的执行过程, 尤其是 方法执行结束 之后, 回到调用位置继续往下执行. public class Test{public static void main(String[] args) {int n 5;int ret factor(n);System.out.println(ret ret);}public static int factor(int n) {System.out.println(函数开始, n n);if (n 1) {System.out.println(函数结束, n 1 ret 1);return 1;}int ret n * factor(n - 1);System.out.println(函数结束, n n ret ret);return ret;} } 执行过程图 程序按照序号中标识的 (1) - (8) 的顺序执行 关于 调用栈 方法调用的时候, 会有一个 栈 这样的内存空间描述当前的调用关系. 称为调用栈. 每一次的方法调用就称为一个 栈帧, 每个栈帧中包含了这次调用的参数是哪些, 返回到哪里继续执行等信息. 后面我们借助 IDEA 很容易看到调用栈的内容. 3.4 递归练习 代码示例1 按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) public class Test {public static void print(int n) {if (n 10) {print(n / 10);}System.out.print(n % 10 );}public static void main(String[] args) {print(1234567);} } 代码示例2 递归求 1 2 3 ... 10 public class Test {public static int sum(int n) {if(n1){return 1;}return n sum(n-1);}public static void main(String[] args) {int ret sum(10);System.out.println(ret);} } 代码示例3 写一个递归方法输入一个非负整数返回组成它的数字之和. 例如输入 1729, 则应该返回 1729它的和是19 public class Test {public static int add(int n) {if (n 10) {return n;}return n % 10 add(n / 10);}public static void main(String[] args) {int ret add(12345);System.out.println(ret);} }
http://www.laogonggong.com/news/102999.html

相关文章:

  • 做彩票的网站互联网怎么学
  • 网站开发的网页模板国网典型设计最新版
  • 需要锦州网站建设珠海网站优化公司
  • 玄圭互联网站建设推广什么网站容易做百度权重
  • 做视频教学网站服务器配置广州网站制
  • 学会建设网站必要性wordpress贴吧
  • 青岛网站推广的价格哪个行业对网站建设需求大
  • 杂粮网站建设的必要性网页设计心得体会100字
  • 中化建工北京建设投资有限公司网站做网站不给源代码
  • 网络营销的职能有哪些淘客网站seo怎么做
  • 印团网网站是哪家做的作文网有哪些
  • 怎么做校园表白墙网站网站集约化建设进度报告
  • 河南网站建设多少钱关于网站开发的步骤
  • 网站流量怎么赚钱wordpress post_type
  • 如何做网站后台管理员wordpress会自动更新
  • html5彩票网站模板做网站遇到的困难总结
  • 电子商务网站建设的特点网站 做百度推广有没有效果
  • 泰安网站建设公司网站域名到期会怎么样
  • 城乡建设部统计网站dw制作一个手机网站模板下载地址
  • 怎么0成本做网站网站内容页显示不出来
  • 一个服务器可以放多少个网站wordpress 销售主题
  • 郑州网站建设找汉狮腾讯云wordpress教程
  • 出售源码的网站郑州专业网站建设公司详情
  • 网站做公司简介怎么做乐云seo模板网站建设
  • ASP做购物网站视频做漫画在线观看网站
  • 张家港网站制作企优网页制作的公司多少收入
  • 盐城网站建设0515icp投资公司经营范围
  • 怎么在企业站建立网站吗免费表格制作app
  • 舆情网站入口cps广告联盟网站
  • 郑州做商城网站公司做版式的网站