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 ...
随机推荐
- windows下执行Python脚本
由于业务需要,有些python脚本需要在Windows系统上,并且支持定时执行 1) 一. 创建.bat批处理文件 新创建文件并将扩展名改为.bat 二. 写入执行python脚本的语句 @echo ...
- git 推送代码到多个 远端仓库
业务场景 在开发代码时,有时希望将代码推送到两个远端仓库. 实现方法 git remote add origin giturl1 git remote add backup giturl2 git p ...
- 集成Nacos
版本统一:Spring Boot 2.6.11,Spring Cloud 2021.0.4,Spring Cloud Alibaba 2021.0.4.0: Maven 仓库记得配置中央仓库,私服上有 ...
- Linux清理内存,清理储存
因为工作中项目部署服务器后更新迭代或者服务器使用时间长后会出现内存/储存爆满,所以整合了一下,方便以后使用: 清理虚拟内存 查看内存 free -h 清理缓存 输入命令释放内存 0 – 不释放 1 – ...
- (三)Springboot + vue + 达梦数据库构建RBAC权限模型前后端分离脚手架保姆级教程(前端项目)
XX后台管理系统 1.技术选型与环境要求 1.1 项目技术选型 1.1.1 前端技术 HTML 5 CSS 3 lavaScript Vue Element UI 1.1.2 后端技术 SpringB ...
- Electron包下载经常失败或太慢问题
前情 Electron是很好的桌面端开发框架,公司有个桌面端项目就是基于Electron开发的. 坑 在项目初始化的时候,需要通过npm install安装项目需要依赖的模块,但是经常报Electro ...
- 前端每日一知之BFC
脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来
- R数据分析:潜在转化分析LTA的做法和解释(一)
之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCA R数据分析:用R语言做潜类别分析LCA Mplus数据分析:潜在类别分析(LCA)流程(详细版) R数据分析:再写潜在类别 ...
- ORM框架与数据库交互
title: ORM框架与数据库交互 date: 2024/12/22 updated: 2024/12/22 author: cmdragon excerpt: 对象关系映射(Object-Rela ...
- Qt音视频开发21-mpv内核万能属性机制
一.前言 搞过vlc内核后又顺带搞了搞mpv内核,mpv相比vlc,在文件数量.sdk开发便捷性方面绝对占优势的,单文件(可能是静态编译),不像vlc带了一堆插件,通过各种属性来set和get值,后面 ...