首页 > 编程语言 >java方法

java方法

时间:2024-08-15 22:30:06浏览次数:7  
标签:java num2 int System static 方法 public out

Java方法

System.out.println()

方法是语句的集合

原则:一个方法只完成一个功能,利于我门后期的拓展

定义

类似于其他语言的函数,用来完成特定功能的代码片段

package com.yang.Method;

public class Demo0
{
    //main方法
    public static void main(String[] args) {
        //实参就是实际传递的参数
        double add = add(1.0, 2.0);
        int add1 = add(1, 3);
        System.out.println(add);
    }
    //加法
    //形参用来定义作用
    public static int add(int a,int b){
        return a+b;
    }
    public static double add(double a,double b){
        return a+b;
    }

}

重载

在一个类中,相同的函数名称,形参不同的函数。

规则

方法名称必须相同

参数列表必须不同(个数或者类型,参数排列顺序不同等)

返回类型可以相同也可以不同。

package com.yang.Method;

public class Demo02 {
    public static void main(String[] args) {
        int max = max(10, 20);
        System.out.println(max);
    }
    //比大小
    public static int max(int num1,int num2){

        int result = 0;
        if (num1 == num2){
            System.out.println("num1 == num2");
            return 0;//终止方法
        }
        if (num1 > num2){
            result = num1;
        }else {
            result = num2;
        }
        return result;
        //拓展了解 值传递和引用传递
    }
}

命令行传参

希望运行一个程序时候再给他传递消息,给main()函数实现

package com.yang.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]);
        }
    }
}

在终端中打开 要退到src包文件中执行

可变参数

不定项参数

方法声明中,在制定参数类型后加一个省略号。

一个方法中只能指定一个可变参数,必须是方法等最后一个参数,任何参数必须在他之前声明。

package com.yang.Method;

public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test(1,2);

    }
    public void test(int... i){
        System.out.println(i[1]);
    }
}

递归

A方法调用A方法,自己调用自己

递归结构包括2部分

  • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
  • 递归体:什么时候需要调用自身方法。

能不用递归就不用递归

package com.yang.Method;

public class Demo05 {
    public static void main(String[] args) {
        Demo05 test = new Demo05();
        test.test();
    }
    public void test(){
        test();
    }
}

package com.yang.Method;

public class Demo06 {
    //5! 5*4*3*2*1

    //递归思想
    public static void main(String[] args) {
        System.out.println(f(3));
    }
    public static int f(int n){

        if (n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}

测试

写一个计算器,实现加减乘除,并且能够循环接收新的数据,通过用户交互实现。
package com.yang.Method;


import java.util.Scanner;

public class test {
    //写一个计算器,实现加减乘除,并且能够循环接收新的数据,通过用户交互实现。
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入的第一个数:");
        Double num1 = scanner.nextDouble();
        System.out.print("运算符为:");
        String operator = scanner.next();
        System.out.print("请输入第二个数:");
        Double num2 = scanner.nextDouble();

        double result = 0;
            switch (operator){
                case "+":
                    result = num1 + num2;
                    break;
                case "-":
                    result = num1 - num2;
                    break;
                case "*":
                    result = num1 * num2;
                    break;
                case "/":
                    //如果被除数为0
                    if(num2 != 0){
                        System.out.println(num1/num2);
                    }else {
                        System.out.println("输入异常");
                    }
                    return;
                default:
                    System.out.println("输入为异常");
                    return;
            }
        System.out.printf("%.1f %s %.1f = %.1f%n",num1,operator,num2,result);

        scanner.close();
    }


}

标签:java,num2,int,System,static,方法,public,out
From: https://www.cnblogs.com/yoyy3/p/18361910

相关文章

  • java中运算符的详细知识点
    算数运算符a++先赋值再加1++a先加1在赋值--的道理是一样的赋值运算符1.=+=-=*=/=%=当=两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则支持连续赋值=+=-=*=/=%=不会改变基础类型测试一下:比较运算符运算结果为布尔类型==!=适......
  • JavaScript 中,`'10' < '1'` 的结果为 `false`,原因
    在JavaScript中,'10'<'1'的结果为false,这是因为JavaScript在进行比较操作时,会将字符串按照字符编码进行比较,而不是将它们转换为数字。字符编码比较:字符串'10'的第一个字符是'1',而字符串'1'的第一个字符也是'1'。由于两个字符串的第一个字符相同,所以JavaScript......
  • java网站重建绕密常用技巧
    在进行网站分析时的一大重点就是如何登录到管理后台,这就需要我们去绕过/获取管理员的密码,在php、nodejs等站点中就很简单,我们只需要找到目标逻辑所在的代码,直接修改代码就可以实现目的。但是当我们遇到java类站点时,没有办法很轻松地修改代码,只能去分析密文的算法,从而自己生成对应......
  • Java volatile关键字剖析
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.volatile关键字介绍2.volatile变量可见性问题3.volatile变量可见性保证3.1Fullvolatile完全易失性可见性保证3.2指令重新排序挑战3.3volatile的Happens-Before保证4.volatile并不......
  • Java创建线程的方式
    1.继承Thread类第一步,创建一个线程类并继承Thread类第二步,重写run()方法,内部自定义线程执行体第三步,创建自定义的线程类对象,调用start()方法,启动线程示例代码如下publicclassMyThread1extendsThread{@Overridepublicvoidrun(){for(inti=0;i<......
  • js 字符操作startswidth 方法使用
    startswidth用于检查字符串是否以指定的子字符串开头。startsWith(searchString,position)searchString:要搜索的子字符串。position:可选参数,指定搜索开始的位置(默认值为0)。用法:conststr="helloworld";//检查字符串是否以"hello"开头conststartsWithHello......
  • JavaSE基础知识分享(七)
    写在前面前面讲的是面向对象中的常用类部分,下面让我们来看看java中集合这部分的内容!在本文的最后给大家发一个题目,便于复习Java面向对象部分的知识!集合数据结构栈和队列数组和链表树哈希表图本部分知识太多,就不一一列举了。了解更多泛型泛型类格式......
  • 6种方法关闭Win10系统的自动更新
    6种方法关闭Win10系统的自动更新AIB网络中心 2023年12月04日09:33 广东这里我们将为您分享6种关闭Win10自动更新的方法,分别是通过Windows设置、WindowsUpdate服务、本地组策略编辑器、任务计划程序、注册表编辑器来关闭Win10自动更新。✔方法1.Windows设置要想关闭Win......
  • Java学习的第二天
    今天接着上篇的Java内容继续。首先说一下开发Java的注意事项:1、Java开发是以.Java为拓展名,源文件的基本组成是类(class)。2、应用程序的执行入口是main()方法,且有固定的书写模式:publicstaticvoidmain(String[]args){...}.3、严格区分大小写。4、Java方法是以一条条语句......
  • 高级java每日一道面试题-2024年8月15日-设计模式篇-设计模式与面向对象原则的关系是什
    如果有遗漏,评论区告诉我进行补充面试官:设计模式与面向对象原则的关系是什么?我回答:在设计模式与面向对象原则的关系中,两者紧密相连且相互促进。面向对象的原则为设计模式的形成提供了理论基础和指导思想,而设计模式则是这些原则在特定问题域中的具体实践和实现方式。下......