Java方法、方法的重载、命令行传递参数、可变参数和递归
Java的方法
是解决一类问题的步骤的有序集合
包含于类或对象中
在程序中被创建,在其他地方被引用
一般只完成一个功能,利于后期扩展!
语法
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
实例
package com.yeyue.method;
public class Demo01 {
//main 方法
public static void main(String[] args) {
//实际参数:实际用来传递给他的参数
int sum = add(1, 2);
System.out.println(sum);
// test();
}
//加法
//形式参数是用来定义作用的
public static int add(int a, int b) {
return a + b;
}
public static void test() {
for (int i = 0; i <= 1000; i++) {
if (i % 5 == 0) {
System.out.print(i + "\t");
}
if (i % (5 * 3) == 0) {
System.out.println();
//System.out.print("\n");
}
}
}
}
方法的重载实例:
package com.yeyue.method;
public class Demo02 {
public static void main(String[] args) {
double max = max(30.0,20.0);
System.out.println(max);
}
//比大小
public static int max(int num1, int num2){
int result = 0;
if(num1==num2){
System.out.println("两个数相等");
return 0; //终止方法
}
if(num1 > num2){
result = num1;
}else if(num1 < num2){
result = num2;
}
return result;
}
public static double max(double num1, double num2){
double result = 0;
if(num1==num2){
System.out.println("两个数相等");
return 0; //终止方法
}
if(num1 > num2){
result = num1;
}else if(num1 < num2){
result = num2;
}
return result;
}
/**
* 方法的重载:
* 方法名必须相同
* 参数列表必须不相同(个数、类型、顺序)
*/
}
命令行传递参数实例:
package com.yeyue.method;
public class Demo03 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0;i < args.length;i++){
System.out.println("args["+i+"]: "+args[i]);
}
}
}
通过javac 编译
通过java执行并跟上参数

可变参数实例:
package com.yeyue.method;
public class Demo04 {
public static void main(String[] args) {
//调用可变参数的方法
prinMax(34,432,122,4,78.5,888.88);
prinMax(1,2,6,5);
}
public static void prinMax(double... numbers){
if (numbers.length == 0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
//排序
for (int i=1;i<numbers.length;i++){
if(numbers[i] > result){
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}
递归实例:
package com.yeyue.method;
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
//5! 5*4*3*2*1
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
/**
* 边界条件:边界
* 前阶段
* 返回阶段 n*(n-1)
*
* 基数小时可以使用,太大影响主机性能
*
* 栈
*/
}
Java方法、方法的重载、命令行传递参数、可变参数和递归的更多相关文章
- linux命令行传递参数定期执行PHP文件
最近在做一个项目,需要在linux下传递参数定期执行PHP文件,网上查询资料,确实有相关资料,现整理如下: 1.linux执行PHP文件 #{PHP安装bin路径} {PHP文件路径} {需要参数1 ...
- Java命令行传递参数
目录 命令行传参 代码运行 视频 命令行传参 有时候你希望运行一个程序的时候再传递给它消息. 这要靠传递命令行参数给main()函数实现 package com.broky.base; public ...
- nodejs命令行执行时带参数
nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867 今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...
- 09 Java的方法 方法的重载 命令行传参
3.方法的重载 重载就是在一个类中,有相同的函数名称,单形参不同的函数. 方法的重载的规则: 方法名称必须相同. 参数列表必须不同(个数不同.或类型不同.参数排序顺序不同等). 方法的返回类型可以相同 ...
- Java方法之命令行传递参数
命令行传参 有时候希望运行一个程序时候再传递给它消息.这要靠传递命令行参数给main()函数实现. public class Demo05 { public static void main(Stri ...
- 命令行向php传入参数的两种方法
##$argv or $argc $argv 包含当运行于命令行下时传递给当前脚本的参数的数组. $argv[0] 就是脚本文件名. $argc 包含当运行于命令行下时传递给当前脚本的参数的数目 ...
- 命令行传递参数并排序 AS实现加法
题目:从命令行输入参数并进行排序 1.实验准备 Integer提供了能在 int 类型和 String 类型之间互相转换的方法,还提供了处理 int 类型时非常有用的其他一些常量和方法. static ...
- Web_telnet 通过JAVA实现网页上面的命令行远程工具 以及对于流的理解
前言 这几天研究了一下如何在web页面上通过telnet 连接一个远程的机器,通过命令行进行控制,让然,B/S架构的项目,如果直接通过 浏览器是无法和远程机器进行通信的,我们就得借助后端来帮助实现这样 ...
- Java - Java 命令行简介: 选项, 属性, 参数
概述 简单介绍一下 java 命令行相关的参数及属性 1. java 命令行 基本 命令 > java <mainClass> 描述 执行 Java 类 需要准备好编译完成的 mai ...
- java带jar包的命令行运行
运行有些java类需要第三方的jar包(lib),在用命令行运行时本人总结如下几个方法: 方法一.编译 javac -cp D:\lab\googleapi.jar Lab.java设置classp ...
随机推荐
- Linux系统之Ubuntu
常用命令: #查看安装包 dpkg -l 1)切换镜像源 本身的镜像都是国外的,下载依赖包太慢, 需要替换成国内镜像地址 国内镜像源推荐阿里 OPSX 源: https://opsx.alibaba. ...
- git 推送代码到多个 远端仓库
业务场景 在开发代码时,有时希望将代码推送到两个远端仓库. 实现方法 git remote add origin giturl1 git remote add backup giturl2 git p ...
- datagridview点击列头对当前列进行排序的功能无效
DataGridView 的默认行为是支持通过单击列头对列进行排序,但在以下情况下可能会取消该功能或无法使用: 1. 绑定的数据源不支持排序 如果 DataGridView 的数据源是绑定到一个不支持 ...
- 纯JS+CSS实现羊了个羊
前言 省流 gitee上扒的,感觉还不错,拿下来玩玩. https://gitee.com/kenxq/ylgy.git 技术说明 纯JS+CSS实现羊了个羊,包含部分特效,响应式手机.电脑.ipad ...
- 鸿蒙UI开发快速入门 —— part03: 组件的生命周期
1. 什么是组件的生命周期 组件的生命周期是我们开发一个组件必须要关注的内容,组件的生命周期,指的是组件的创建.渲染.销毁等过程.因为这个过程就类似于人从出生到离世的过程,从而称为:组件的生命周期. ...
- 渗透测试-前端加密分析之RSA加密登录(密钥来源本地)
本文是高级前端加解密与验签实战的第5篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过前端RSA加密来爆破登录. 分析 generateKey函数用来生成随机的RSA ...
- 【C#】【平时作业】习题-11-ADO.NET
目录 选择题 简述并举例说明 什么是ADO.NET? 什么是连接字符串? connection对象的作用? commmand对象的作用? dataAdapter对象的作用? DataReader对象的 ...
- Compile error: Cannot find a C++ compiler that supports both C++11 and the specified C++ flags
reno@MyComputer:~/tools/cmake-3.12.4$ ./configure --------------------------------------------- CMak ...
- Python__FLASK__MySQL基础
1.数据库的基本操作 创建数据库:使用"CREATE DATABASE 数据库名:"语句创建新的数据库 查看数据库:使用"SHOW DATABASES:"语句查 ...
- Qt通用方法及类库8
函数名 //异或加密算法 static QString getXorEncryptDecrypt(const QString &str, char key); //异或校验 static uc ...