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 ...
随机推荐
- rabbitmq-c与amqp扩展安装
最近需要使用RabbitMQ进行消息队列处理 1.安装rabbitmq-c 在安装amqp之前需要先安装rabbitmq-c扩展 rabbitmq-c下载网址:https://github.com/a ...
- PHP7.4之编译安装
虽然之前写过很多编译安装PHP的文章, 但是隔段时间还是会重新安装一些PHP的版本,再次记录一下 1. 下载安装编译工具 yum groupinstall 'Development Tools' 2. ...
- mysqldump+binlog备份脚本
mysqldump是一种逻辑备份工具 , 可以对数据库进行全量备份 , 和binlog增量备份共同使用可以进行数据库备份 , 基于此写了一个备份的脚本 #!/bin/bash all_path=&qu ...
- 文件上传漏洞&靶场通关详解
文件上传漏洞&靶场通关详解 什么是文件上传漏洞? 大部分网站都拥有上传文件的部分,文件上传漏洞是由于网站开发者对用户上传文件的过滤不够严格,攻击者可以通过这些漏洞上传可执行文件(如木马,恶意脚 ...
- ZCMU-1129
数学公式题罢了 学长 1.斯特灵公式: 2.对数公式(因为以10为底,得到的是10^x,所以最后向下取整加上1): #include<cstdio> #include<cmath&g ...
- Javascript 异步处理
1.传统异步处理 ES6之前使用回调进行处理,示例代码: //创建一个异步返回 双倍数值 的函数 function asyncDouble(num,cb){ // 创建标识,表示该异步处理是否完成 v ...
- Sortable.js笔记
1.前言 SortableJS是功能强大的JavaScript 拖拽库,更多配置项:Sortable.js中文网|配置 引入插件 <script src="https://cdn.bo ...
- #oscp#渗透测试 kioptix level 3靶机getshell及提权教程
声明! 文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!! 一.靶机搭建 点击扫描虚拟机 选择靶机使在文件夹即可 二.信息收集 前言 信 ...
- Three.js案例-360全景房看
在 360° 看房功能中,我们需要在浏览器中创建一个类似虚拟现实的场景,使得用户能够查看环境的每一个角落.这一功能的实现本质上是利用 球体映射技术,即通过将全景图作为纹理贴图映射到一个反向的球体上,用 ...
- 【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
目录 01.用例图 用例图的4组成 (一)参与者 (二)用例 (三)关系 表达关系的符号 泛化关系 (四)系统 其他 02.用例文档 简化的用例文档 注意事项 03.活动图 主要组件 建模活动图步骤 ...