Demo01.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. import java.util.Scanner;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title Demo01
  6. * @description java方法
  7. * @create 2026/7/17
  8. */
  9. public class Demo01 {
  10. /*
  11. 方法--在Java中叫方法,在C/C++中叫函数
  12. 他们在不同的语言中含义不同,但是格式差不多
  13. 都是给一段代码取名字,以后通过这个名字来调用这段代码。
  14. 就像我们设计一个计算器工具
  15. 我们不需要每次都重新制造计算器,而是直接使用就可以
  16. 方法就是让代码可以复用,分解整个程序的复杂度,方便我们测试和调试
  17. 方法按照 【是否具有返回值】 和 【是否具有参数】 可以分为4种声明的方式
  18. 第1种 : 既没有参数、也没有返回值
  19. public static void 方法名(){
  20. 里面就是封装的代码,
  21. 我们称为方法体
  22. }
  23. public static : 修饰符,暂时不用管 后面会详细的讲
  24. void : 当一个方法没有设置返回值类型的时候,需要在使用void 占位
  25. 方法名:调用的时候使用方法名调用
  26. () : 用来标识这是一个方法,并且()里面可能会定义方法的参数
  27. */
  28. /**
  29. * 第一个方法,计算用户输入的两个整数,累加后输出
  30. */
  31. public static void add(){
  32. Scanner sc=new Scanner(System.in);
  33. System.out.println("请输入第1个数:");
  34. int n1=sc.nextInt();
  35. System.out.println("请输入第2个数:");
  36. int n2=sc.nextInt();
  37. int sum=n1+n2;
  38. System.out.println("计算结果为:"+sum);
  39. //sc.close();
  40. }
  41. /*
  42. 第2种 : 有方法参数,但是没有方法返回值
  43. 如果调用方法的时候,需要传入n个变量值,参与方法内部的代码运算和执行
  44. 那么就可以通过参数把值传入到方法中
  45. public static void 方法名(参数1,参数2,....,参数n){
  46. }
  47. 调用带有参数的方法:
  48. 方法名(实际参数值1,实际参数值2,....,实际参数值n);
  49. */
  50. public static void add(int a,int b){
  51. int sum=a+b;
  52. System.out.println(sum);
  53. }
  54. public static void main(String[] args) {
  55. //直接通过 方法名() 调用方法
  56. //add(); //调用没有参数的方法
  57. //调用有参数的方法
  58. //add(15,7);
  59. sub(15,7);
  60. printFor();
  61. getMax(7,8,9);
  62. }
  63. /**
  64. * 声明一个计算2个整数相减的方法,并调用。定义参数a和b -----没有返回值、有参数的方法
  65. * @param a 被减数
  66. * @param b 减数
  67. */
  68. public static void sub(int a,int b){
  69. System.out.println(a-b);
  70. }
  71. /**
  72. * 声明一个循环输出1~100的整数的方法,并调用---没有返回值、没有参数的方法
  73. */
  74. public static void printFor(){
  75. for (int i = 1; i <=100; i++) {
  76. System.out.print(i+" ");
  77. }
  78. System.out.println();
  79. }
  80. /**
  81. * 声明一个获取三个变量中最大值的方法,调用方法,传入3个参数,会输出最大值
  82. * @param a
  83. * @param b
  84. * @param c
  85. */
  86. public static void getMax(int a,int b,int c){
  87. int max=(a>b?a:b)>c?(a>b?a:b):c;
  88. System.out.println(max);
  89. }
  90. /*
  91. 第3种:有参数、有返回值
  92. public static 返回值类型 方法名(参数列表){
  93. 方法体.....
  94. return 返回值
  95. }
  96. // 返回值类型可以是任何类型,返回值必须和类型相符
  97. */
  98. // 定义一个方法,传入int类型数组参数,方法返回数组最大值
  99. public static int getMaxElement(int[] arr){
  100. int max=arr[0];
  101. for (int i = 1; i < arr.length; i++) {
  102. if (arr[i]>max){
  103. max=arr[i];
  104. }
  105. }
  106. return max;
  107. }
  108. /*
  109. 练习题:
  110. 定义一个计算矩形周长recPerimeter()的方法,传入参数 长 和 宽, 返回 矩形的周长
  111. 定义一个计算矩形面积reaArea()的方法,传入参数 长 和 宽, 返回 矩形的面积
  112. 定义一个计算圆形周长rotundityPerimeter()的方法,传入参数 半径,返回 圆形的周长
  113. 定义一个计算圆形面积rotundityArea()的方法,传入参数 半径,返回 圆形的面积
  114. 定义一个计算年份是否是闰年的方法,传入参数年份,返回是否是闰年(true/false)
  115. */
  116. /**
  117. * 定义一个计算矩形周长recPerimeter()的方法,传入参数 长 和 宽, 返回 矩形的周长
  118. * @param a 长
  119. * @param b 宽
  120. * @return 周长
  121. */
  122. public static int recPerimeter(int a,int b){
  123. return (a+b)*2;
  124. }
  125. /**
  126. * 定义一个计算矩形面积reaArea()的方法,传入参数 长 和 宽, 返回 矩形的面积
  127. * @param a 长
  128. * @param b 宽
  129. * @return 面积
  130. */
  131. public static int reaArea(int a,int b){
  132. return a*b;
  133. }
  134. /**
  135. * 定义一个计算圆形周长rotundityPerimeter()的方法,传入参数 半径,返回 圆形的周长
  136. * @param r 半径
  137. * @return 周长
  138. */
  139. public static double rotundityPerimeter(int r){
  140. return 3.14*r*2;
  141. }
  142. /**
  143. * 定义一个计算圆形面积rotundityArea()的方法,传入参数 半径,返回 圆形的面积
  144. * @param r 半径
  145. * @return 面积
  146. */
  147. public static double rotundityArea(int r){
  148. //return 3.14*r*r;
  149. return getPI()*r*r;
  150. }
  151. /**
  152. * 定义一个计算年份是否是闰年的方法,传入参数年份,返回是否是闰年(true/false)
  153. * @param year 年份
  154. * @return 是否为闰年 是 返回 true,否 返回false
  155. */
  156. public static boolean isLeapYear(int year){
  157. if (year%4==0&&year%100!=0||year%400==0){
  158. return true;
  159. }else {
  160. return false;
  161. }
  162. }
  163. /*
  164. 第4种:没有参数,有返回值 的方法
  165. 格式:
  166. public static 返回值类型 方法名(){
  167. 方法内容....
  168. return 返回值;
  169. }
  170. */
  171. //定义一个返回PI 的方法,没有参数,但是有返回值
  172. public static double getPI(){
  173. return 3.1415926;
  174. }
  175. }