精华内容
下载资源
问答
  • main方法的参数列表中的String[]args是什么? 1.String[]args专门用来接收命令行参数的。 命令行参数: 如:在一个主类中,运行该程序时: java Test1 365 156 “China” 后面所谓的365 156 "China"就是命令行参数 ...

    main方法的参数列表中的String[]args是什么?

    1.String[]args是专门用来接收命令行参数的。

    命令行参数:
    如:在一个主类中,运行该程序时: java Test1 365 156 “China”
    后面所谓的365 156 "China"就是命令行参数

    JVM在调用Array类的main方法之前,先将365 156 "China"这个字符以"空格"的方式分割,然后存储在String数组中。
    
    那么下面用代码解释一下:(需要在命令提示符上运行)
    
    
    public class Array{
      //main方法中String[]数组的设计主要是用来接收命令行参数的。
      public static void main(String[]args){
    
    
         System.out.println("String类型的数组中元素的个数是"+args.length); 
    
    
         //遍历
         for(int i =0;i<args.length;i++){
           System.out.println(args[i]);
            }           
          }  
        }
    

    当在命令提示符上直接运行这个程序的时候,会发现所遍历的数组的个数为0;
    那么,如果说在运行的那一行后加上:比如说:java Array abc def ghi,这样所遍历出来的元素的个数为3个…YOU KNOW???

    那么现在具体来看一下在,这个东西有什么用,emememem...
    eg:我现在有这样一个需求:
        /*
        需求说明:运行该软件的时候必须提供用户名和密码
        格式:java Array username password
        如果没有提供足够的参数,则退出系统
        */
    

    那么该如何实现其功能呢?
    分析一波,ememmemem…
    首先,我们所要的为username and password,这也就说明我们所需要的String[]args数组的个数为2.
    接下来,如果参数提供正确且用户名为admin,密码为123,则登陆成功。

    那么看一下具体实现代码:
    public class Array{
      public static void main(String[]args){ 
    
    
       if (args.length!=2){
            System.out.println("要想使用该系统,必须这样输入: java username password");
            return;
        }
    
    
        //参数提供正确,如果用户名是admin,密码是123,则登陆成功
        String username = args[0];
        String password = args[1];
    
    
        //java中比较字符串是否相等,必须使用equals方法
        //String类型是SUN公司提供,已经重写了equals方法,比较的是内容。
    
    
        if ("admin".equals(username) && "123".equals(password)){//用这种方式写避免了空指针异常
    
    
        //if(username.equals("admin") && password.equals("123")) {
    
    
            System.out.println("登陆成功.欢迎["+username+"]回来.");
    
    
        }else {
    
    
            System.out.println("登录失败,用户名["+username+"]不存在或者密码错误!");
        }
    }
    

    }

    转载自:https://blog.csdn.net/weixin_42047611/article/details/80312691

    展开全文
  • JAVA方法的参数列表

    2019-09-28 21:04:53
    方法的参数列表指定要传递给方法什么样的信息。正如你可能料想的那样,这些信息像java中的其他信息一样,采用的都对象形式。因此,在参数列表中必须指定每个所传递对象的类型及名字。像Java中如何传递对象的场合...
    方法的参数列表指定要传递给方法什么样的信息。正如你可能料想的那样,这些信息像java中的其他信息一样,采用的都是对象形式。因此,在参数列表中必须指定每个所传递对象的类型及名字。像Java中如何传递对象的场合一样,则必须传递一个String对象;否则,编译器将抛出错误。
    假设某个方法接受String为其参数,下面是其具体定义,他必须置于某个类的定义内才能被正确翻译。
    public void storage(String s){
    	return s.length()*2;
    }
    此方法告诉你,需要多少个字节才能容纳一个特定的String对象中的信息,(字符串中的每个字符的尺寸都是16位或者2个字节,以此来提供对Unicode字符集的支持)。此方法的参数类型是String,参数名s。一旦将s传递给此方法,就可以把他当作其他对象一样进行处理(可以给他传递信息)。在这里,s的length()方法被调用,它是String类提供的方法之一,会返回字符串包字符数。
    通过上面的例子,还可以了解道return关键字的用法,它包括两方面:首先,他代表“已经做完,离开此方法”。其次,如果此方法产生了一个值,这个值要方法return关键字后面,在这个例子中,返回值是通过计算s.length()*2这个表法式得到的。
    你可以定义方法返回任意想要的类型,如果不想返回任何值,可以直接将方法返回值类型置为void(空),下面是例子:
    public boolean flag(){return true};
    public void flag(){};
    若返回类型是void,return关键字在的作用只是用来退出方法。因此,没有必要到方法结束时才离开,可在任何地方返回。但如果返回类型不是void,那么无论在何处返回,编译器都会强制返回一个正确类型的返回值。
    
    展开全文
  • 我们以实例来看,以下测试代码,分别会输出什么呢? 代码 测试代码 public class Test0901 { public static void main(String[] args) { Object obj = new Object(); new Test0901().check(null); //输出c1 ...

    结论探讨

    我们以实例来看,以下的测试代码,分别会输出什么呢?

    代码

    测试代码

    public class Test0901 {
        public static void main(String[] args) {
            Object obj = new Object();
            new Test0901().check(null); //输出c1
            new Test0901().check(obj);      //输出c2
        }
    
        public void check(String arg) {
            System.out.println("c1");
        }
    
        public void check(Object obj) {
            System.out.println("c2");
        }
    }
    

    输出结果

    c1
    c2
    
    

    结论

    可以看到

    • check(null)其实是调用了public void check(String arg)
    • check(obj)调用了public void check(Object obj)
      这可以得出一个结论就是方法调用时参数类型的匹配都是遵循最小匹配原则。就是选择最接近参数类型的方法参数进行匹配,匹配不了再向上寻在父类匹配。

    验证

    代码

    我们可以参照以下实例验证
    测试代码2

    public class Test0901 {
        public static void main(String[] args) {
            Object obj = new Object();
            new Test0901().check(null); //输出c1
            new Test0901().check(obj);      //输出c2
        }
    
    //    public void check(String arg) {
    //        System.out.println("c1");
    //    }
    
        public void check(Object obj) {
            System.out.println("c2");
        }
    }
    
    

    结果

    c2
    c2
    

    结论

    可以看到

    • check(null)check(obj)其实都调用了public void check(Object obj)
      说明方法调用时,若是传递的参数不是严格匹配当前类,就会出现向上引用。
    展开全文
  • 以下所说的问题前提...但是如果你只是想得到方法的形参参数名,那也不用去学习、研究了。因为有威武神兽(wendal)已经实现了。具体代码在 https://gist.github.com/2011728 我在使用的过程,发现用eclipse编...

    以下所说的问题前提是编译java code的时候保留

    1.方法一

    分析class byte code结构,了解方法相关信息都存在什么位置,推荐使用工具jclasslib

    但是如果你只是想得到方法的形参参数名,那也不用去学习、研究了。因为有威武神兽(wendal)已经实现了。具体代码在

    https://gist.github.com/2011728

    我在使用的过程,发现用eclipse编译的class文件可以被正确解析出来,但是使用javac编译的class文件并不能正确解析,这是为什么呢?其实我一直还不知道它们两个编译的结果是不一样。糗大了。。经wendal指点,javac生成的class文件用这个工具得到的变量顺序有问题,是按照变量的使用顺序排序的。那如何到得一个变量定义的顺序呢。我用jclasslib观察了一下,有了新的发现,在LocalVariableTable中有个index属性,通过它排序后正好是正确的顺序。我修改后的代码在

    https://gist.github.com/2011836

    2.方法二

    使用开源工具,例如asm等强大的字节码操作工具。

    代码实现在

    https://gist.github.com/2419358

    本文为作者原创,转载请注明出处,与你分享我的快乐
    http://www.cnblogs.com/weirhp

    转载于:https://www.cnblogs.com/weirhp/archive/2012/05/05/2456182.html

    展开全文
  • 什么是可选参数列表 [java]

    千次阅读 2012-11-10 21:44:28
    最近在学习Smack类库API,和以往一样,我都先从接口入手...它有一个很奇怪的方法概要: AndFilter public AndFilter(PacketFilter... filters) Creates an AND filter using the specified filters. Paramet
  • 在jdk1.2版本之后的Collection接口被泛型化了,add方法的参数类型为泛型,remove方法的参数类型依然为Object,既然add添加元素时严格限制类型,保证了列表元素结构不被破坏,remove删除却放宽了类型限制,有点不合...
  • #这里conftest.py内容 def pytest_addoption(parser): parser.addoption("--name", action="store", default="default name"...#这里测试方法 ...请问有什么解决的方法吗</p>
  • File[] files = file.listFiles(new FilenameFilter() { ...小白刚入门没有多久,有时候想直接按照api敲代码知道如何用就可以了,但是内心还是抑制不住,想请教各位大神,这是什么个写法,或者说有什么专业术语吗
  • 方法参数的使用

    2019-05-02 22:27:46
    方法和参数什么是方法方法的语句返回值的类型参数参数引用参数输出参数参数的区别 什么是方法 C#中的方法是一组执行任务的语句。 每个 C# 程序至少有一个类包含一个名称为Main()的方法。 方法就是对一系列语句的...
  • java面向对象——深刻理解方法的参数列表 之前我们学习Java基础知识的时候,就知道了main是一个方法,也是一个程序的入口,同时也了解了什么是参数列表,在重载章节中,我们也深刻了解了参数列表的作用,那是是不是...
  • 目录 一、pandas是什么?... 参数列表不同,参数个数不同,参数类型不同 举例: Arrays类中重载的sort() / binarySearch() 判断是否重载: 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关...
  • 什么是方法的重载

    2018-06-25 15:39:00
    概念: 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数... 与返回值类型无关,只看参数列表。 以下是方法重载的示例: public void a(int a){} public int a(){} pu...
  • 文章目录何谓方法方法的定义和调用方法重载命令行传参可变参数递归 何谓方法 ...参数列表必须不同(个数不同,类型不同,排列顺序不同) 方法名称相同时,Java编译器会依次去匹配 命令行传参 执行一个cl
  • 当你的方法需要用到本方法没有的数据时就需要参数,写在方法声明的小括号里,这个参数叫形式参数,将来调用者调用这个方法的时候,需要按照你定义的小括号里面的参数列表去传递数据,调用者传进方法里的数据就是实际...
  • Java中什么是方法的重载

    千次阅读 2020-03-08 17:39:27
    方法的重载 含义 Java中方法的重载,就是在一个类中,有相同的方法名称,但形参不同的方法。...同一个类中,不允许两个方法的方法名称和参数列表都相同 示例 如下,代码中定义了三个max方法(即方法重载),在...
  • 简而言之,重载就是方法名相同,参数列表不同一种现象。 例: //定义方法add() //方法1 public static int add(int a){ return a; } //方法2 public static int add(int a,int b){ return a+b; } //可以...
  • Java可变参数列表

    千次阅读 2014-12-17 23:10:43
    1.什么是Java的可变参数列表 请阅读下面的示例代码: public class Main { public void printf(String... args) { for (String s : args) { System.out.println(s); } } } 不难发现printf()方法的参数 ...
  • 很多Python函数或者类的方法中,帮助文档都显示最后有一个斜线,但是自己定义函数时却不允许这样用,请问这个斜线作用是什么呢? >>> help(sum) Help on built-in function sum in module builtins: sum...
  • 隐式格式的MATLAB代码简单输入解析器 易于使用的可变长度输入解析器机制,提供了一种方便且高级的方式来增强...如果一个函数具有4个或5个以上的参数,您将很难记住要去另一个参数的内容。 如果根本没有参数顺序约束怎
  • Java方法什么是方法方法的分类及使用无参方法含参方法Java修饰符简介方法的重载 什么是方法         简述:我们通常将Java中的方法理解为完成一个特定功能的一段代码。在...
  • 构造方法重载跟方法重载很相似,可以为一个类创建多个构造方法,每一个构造方法必须有它自己唯一的参数列表什么是复制构造方法? Java不支持构造方法的复制,复制构造方法是C++的内容...
  • java方法-什么是方法

    2020-08-27 16:35:10
    java方法语句的集合,他们在一起执行一个功能。 1.方法解决一类问题的步骤的有序集合 2.方法包含于类或者对象中, ...2.参数列表必须不同(个数不同,或类型不同,参数列表顺序不同)。 3.方法的返回值可以相同
  • 方法方法参数传递

    2019-04-08 11:01:30
    JAVA学习之路之 方法及方法参数传递 方法 是什么 也称函数,一个可以完成独立功能的代码块,可以反复使用. ...修饰符 返回值 方法名(参数列表){ //方法体 } 方法的使用 有static修饰 ​ 类名....
  • 如果在C里,那我完全可以把E_plane作为一个结构体模板(保证属性列表相同),并分别创建e_plane01、e_plane02等结构体节点(不同种类敌机同一属性不尽相同),再将结构体节点指针作为参数传给别函数去操作...
  • 概念: 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或... 与返回值类型无关,只看参数列表。 以下是方法重载的示例: public void a(int a){} public int a(){} public ...
  • 方法重载需要满足以下几个条件: 在同一个类中 方法的名称相同 参数列表不同 ...传递不同的参数实现相同的效果 ...三不同:也指方法重载的条件 ... 参数列表不同(具体表述为:参数列表的参数的类型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,879
精华内容 1,151
关键字:

什么是方法的参数列表