Java(命令行传参、可变参数、递归
1.命令行传参
- 通过命令行传参,main也可以传参
public class Hello {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]"+args[i]);
}
}
}

2.可变参数
- 本质就是数组
- JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
- 在方法声明中,在指定参数类型后面加一个省略号(…)
- 一个方法只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明。
public class Demo04 {
public static void main(String[] args) {
// 调用可变参数的方法
printMax(34,3,25,88);
printMax(new double[]{857,66,88});
}
public static void printMax(double... numbers){
if(numbers.length==0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
// 排序
for (int i = 0; i < numbers.length; i++) {
if(numbers[i] > result){
result = numbers[i];
}
}
System.out.println("最大值是"+result);
}
}
3.递归
A方法调用B方法,我们很容易理解!
递归就是,A方法调用A方法!就是自己调自己
用简单的程序解决一些复杂的问题。
大型复杂的问题层层转化为较小规模的问题来求解,大大减少程序的代码量
递归结构包括两个部分:
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体 :什么时候需要调用自身方法。
能不用递归尽量不用递归
用的话基数也要比较小,。栈内存不能压到太多,容易栈溢出。
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
Java(命令行传参、可变参数、递归的更多相关文章
- Java命令行传参
目的: 在运行一个程序时候再传递给它消息,这就需要传递命令参数给main()函数实现:即main()方法可以传递数据 例: public class demo{ public static void ...
- 再探命令行传参之c与python
继上一次java命令行传参 python sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:python解释 ...
- Java方法:命令行传参,重载,可变参数,递归
Java方法:System.out.println()//系统类.out对象.输出方法Java方法是语句的集合,他们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中 ...
- Java基础系列(30)- 命令行传参
命令行传参 有时候你希望运行一个程序的时候再传递给它消息.这就要靠传递命令行参数main()函数实现 package method; public class CommandLine { public ...
- 09 Java的方法 方法的重载 命令行传参
3.方法的重载 重载就是在一个类中,有相同的函数名称,单形参不同的函数. 方法的重载的规则: 方法名称必须相同. 参数列表必须不同(个数不同.或类型不同.参数排序顺序不同等). 方法的返回类型可以相同 ...
- Java小tips之命令行传参
在命令行运行主函数时,后缀字符串,则会储存在args[]数组中,这种方法可以在程序运行时,借助Main函数传参 主类书写不规范见谅 ```java public class hello{ public ...
- Day006 命令行传参
命令行传参 有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main()函数实现. 使用方法 写测试代码. public static void main(String[] args ...
- 命令行传参——JavaSE基础
命令行传参 可以在运行一个程序时再传递给它消息,可以依靠命令行传参给mian()函数实现 public class CommandLine(){ public static void main(Str ...
- 命令行传参是否只能针对main方法
先上结论 命令行传参只能针对main方法而言,而且格式严格 这里在原有主类test基础上创建了另一个类,名字为testCMD,但里面创建的方法并不是main方法,在cmd内编译后进行命令行传参,结果如 ...
- 解决 main(int argc, char** argv)这种情况下通过命令行传参,改为main函数里面给定参数。
本文是原创文章,未经允许,请勿转载. 原来程序中是通过运行exe,然后加上参数,然程序运行起来的.也就是main(int argc, char** argv)这里是通过argv参数是从命令行 传过来的 ...
随机推荐
- smart rtmpd web 接口说明
smart rtmpd web 接口分为下面几类 分类名称 功能描述 live 这个就是平常我们的直播播放接口 rec 这个就是平常我们的录像回放接口 vod 这个就是我们点播接口,支持字 ...
- Linux Redhat ens33不显示IP问题
[第一步]:查看系统网卡设备 : ip addr show
- RPC 与 Restful 的区别
PRC 是一种技术的代名词,HTTP 是一种协议,RPC 可以通过 HTTP 来实现,也可以通过 Socket 自己实现一套协议来实现.所以谈论为什么用 RPC 不用 HTTP 是无意义的.但我们习惯 ...
- 深入消息队列MQ,看这篇就够了!
大厂面试爱问消息队列 MQ. 因为消息队列MQ,既是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件. 如果你想要快速掌握消息队列 MQ 最内核的知识,以及消息队列MQ的主流应用场景.主流产 ...
- 钛度守望者旗舰版TSG550鼠标(原相3335芯片)拆解
鼠标整体外观 鼠标按键支柱,采用的十字形的按键柱,没有采用现在市面上多数鼠标的平面贴片形的按键柱设计,但是耐用性比一字型的按键柱会好很多. 可换微动设计,原装的是凯华GM8.0黑曼巴8000万次微动, ...
- 设置Mysql sort_buffer_size参数
按照官网的解释:Each session that must perform a sort allocates a buffer of this size. sort_buffer_size is n ...
- QML和QT
推荐一些学习qml教程 Qt官方的QML教程: https://doc.qt.io/qt-5/qtqml-index.html,这是一个由Qt官方提供的完整的QML教程,包含了所有基本知识和高级语法. ...
- GKCTF X DASCTF应急挑战杯-Maple_root-Writeup
GKCTF X DASCTF应急挑战杯-Maple_root-Writeup 参赛队员: b4tteRy, x0r, f1oat 最终成绩:2285 最终排名:27 总结 经过最近几次类线下的演练,感 ...
- etcd/raft选举源码解读
ETCD-raft笔记 0. 引言 该篇博客基于etcd v3.5.7版本,首先会简单介绍etcd/raft对Raft选举部分的算法优化,然后通过源码分析etcd/raft的选举实现. 1. etcd ...
- 第三方接口调用httpUtils
1.GET 请求 public static JSONObject getHttpGetResp(String url, String authorization, String title) { H ...