函数练习&数学算法
一、Java函数
函数,在Java中被称为:方法
main() 方法就是第1个Java程序员需要学习的函数!
方法的作用:实际上就是给代码包个外壳,便于维护 ,便于复用
方法分类:
1、无参方法
2、有参方法
//无参方法 public static void 方法名(){} //有参方法 public static void 方法名(参数列表){}
方法的语法结构:
访问修饰符 其它修饰符 返回类型 方法名(参数列表){ //方法体 } public static void main(String[] args){ }
比如:
public class MathUtil { public static void main(String[] args) { int[] nums = {11,22,32}; //求它的累加和 int sum = sum(nums);//nums 此时被称为:实参 实际传入的参数 System.out.println(sum); } //定义方法时,参数被称为:形参 形式参数 //形参的作用:规定实参在传递时的类型,个数,顺序 public static int sum(int[] arrs){ int sum = 0; for (int ele : arrs) { sum += ele; } return sum; } }
什么的方法,应该加参数?
比如:计算圆的面积(半径) 计算长方形的周长(长,宽)
什么的方法,应该加返回?
比如:计算圆的面积(半的平方*兀)-->需要返回圆的面积
定义是否的目的:为了找到一个方法,帮我们做特定的事情
无条件帮我做事情,属于无参方法!
有条件帮我做事情,属于有参方法!
做完事情不给我汇报,属于无返回的方法,需要void!
做完事情给汇报结果,属于有返回的方法,需要特定的数据类型!
二、数学算法
1、定义方法返回1000以内,所有的水仙花数
public static void main(String[] args) { System.out.println("请输入一个3位数:"); int a = new Scanner(System.in).nextInt(); int[] arrs = narcissistic(a); System.out.println(Arrays.toString(arrs)); } //水仙花数 (3位数) 每一位的3次幂之和 public static int[] narcissistic(int ele){ int[] nums = {}; for (int i = 100; i < ele; i++) { int ge = i % 10; int shi = i % 100 / 10 ; int bai = i / 100; if(i == Math.pow(ge,3) + Math.pow(shi,3) + Math.pow(bai,3)){ nums = Arrays.copyOf(nums,nums.length + 1); nums[nums.length - 1] = i; } } return nums;//返回水仙花数 }
2、计算5!
public static void main(String[] args) { System.out.println("请输入一个数:"); int a = new Scanner(System.in).nextInt();//5! int factorial = factorial(a); System.out.println("factorial = " + factorial); } //求阶乘 public static int factorial(int num){ int sum = 1; for (int i = 1; i <= num; i++) { sum *= i; } return sum; }
3、计算1! + 2! + 3! + 4! + 5!
public static void main(String[] args) { System.out.println("请输入一个数:"); int a = new Scanner(System.in).nextInt();//5! + 4! + 3! + 2! + 1! int sum = 0; for (int i = 1; i <= a; i++) { int fac = 1; for (int j = 1; j <= i; j++) { fac *= j; } sum += fac; } System.out.println("sum = " + sum); }
双重for循环: for 中嵌套for循环
千万不要干:3层for循环,3层if嵌套,更不要玩 循环 + 嵌套!
4、九九乘法表
public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + " x " + i + "=" + (j * i) +"\t"); } System.out.println(); } }
总结
1、函数,在Java中叫方法
2、方法在定义时的参数,叫形参;形参的作用:规范实参的类型,顺序,个数
3、方法在调用时,传递的参数,叫实参
4、一个方法需不需要传递,由:该方法的业务需求来决定
5、一个方法需不需要返回,由:调用者来决定