java中方法的学习笔记

news2024/11/26 4:52:08

java中方法是完成特定的功能的,相对独立的程序段,与其他编程语言中的子程序,函数等概念相当。
方法一定义,就可以在不同的程序段中调用,因此方法可以增强程序的清晰度,提高编码的效率

方法的声明

[修饰符] 返回值类型 方法名称([参数表]){
//方法体
}

  • 如果方法没有返回值,则要用void声明
  • 如果没有声明,则一定要用return返回
  • return返回值的类型必须与定义的方法的类型一致

方法的调用

调用方法,就是执行该方法,发出调用的方法称为主调用方法,被调用的方法称为被调方法
方法的重载就是方法名是同一个名字,但是参数列表不相同

方法的参数

形参:方法中调用的是形参
实参:在主方法中调用时传入的是实参
参数除了固定的长度为还可以有可变参数(以下为可变参数的用法),不需要定义好长度根据输入就会给定长度,如果还定义了一个方法,而恰好输入的可变参数的长度与其一样,那么就会优先调用不是可变参数的方法(因为要精准定位);

public class Main10 {
    static int sum(int...nums){
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum  = sum + nums[i];
        }
        return sum;
    }

    public static void main(String[] args) {
        int sum = sum(1,2,3,4,5);
        System.out.println(sum);
    }
}

方法的返回值

return语句后面的返回值必须与方法声明的返回值的类型一致

一些具体的例题可以输入理解

在这里插入图片描述

import jdk.swing.interop.SwingInterOpUtils;

import java.util.Arrays;
import java.util.Random;

/**
 * @author jkk
 */
public class Main3 {
    static void getNewArr(int []arr){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] < 10){
                arr[i] = 0;
            }
        }
    }

    public static void main(String[] args) {
        int []arr = new int[5];
        Random rand = new Random();
        for (int i = 0; i < arr.length; i++) {
            arr[i] = rand.nextInt(46)+5;
        }
        getNewArr(arr);
        System.out.println(Arrays.toString(arr));
    }

}

在这里插入图片描述

import java.util.Random;
import java.util.Scanner;

/**
 * @author jkk
 */
public class Main4 {
    static void guess(){
        Random rand = new Random();
        Scanner sc = new Scanner(System.in);
        int val = rand.nextInt(11)+70;
        System.out.println("请输入要猜的值:");
        int num = sc.nextInt();
        while (val != num){
            if(num >val){
                System.out.println("猜大了");
            }
            if(num < val){
                System.out.println("猜小了");
            }
            System.out.println("请输入要猜的值:");
            num = sc.nextInt();
        }
        System.out.println("猜对了");
    }

    public static void main(String[] args) {
        guess();
    }
}

在这里插入图片描述

import java.util.Arrays;
import java.util.Random;

/**
 * @author jkk
 */
public class Main5 {
    static int judge(int []arr){
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]%2==0){
                count++;
            }
        }
        return count;
    }

    public static void main(String[] args) {
        Random rand = new Random();
        int []arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = rand.nextInt(35)+23;
        }
        System.out.println(Arrays.toString(arr));
//        int count = judge(arr);
        System.out.println("数组中偶数的个数为"+judge(arr));
    }
}

在这里插入图片描述

/**
 * @author jkk
 */
public class Main6 {
    static int judge(int []arr,int n){
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] % n==0 ){
                count++;
            }
        }
        return count;
    }

    public static void main(String[] args) {
        int []arr = new int[]{12,43,45,76,78,98,23,21,34,56};
        System.out.println(judge(arr,2));
    }
}

在这里插入图片描述

import java.util.Arrays;
import java.util.Random;

/**
 * @author jkk
 */
public class Main7 {
    static void print(int[]arr1,int []arr2){
        int count2 = 0;
        int count3 = 0;
        for (int i = 0; i < arr1.length; i++) {
            if(arr1[i]%2==0){
                count2++;
            }
            if(arr1[i]%3==0){
                count3++;
            }
        }
        arr2[0] = count2;
        arr2[1] = count3;
        System.out.println(Arrays.toString(arr2));
    }

    public static void main(String[] args) {
        Random rand = new Random();
        int []arr1 = new int[5];
        int []arr2 = new int[2];
        for (int i = 0; i < arr1.length; i++) {
            arr1[i] = rand.nextInt(9)+1;
        }
        System.out.println(Arrays.toString(arr1));
        print(arr1,arr2);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

装备制造业数字化转型CRM系统解决方案(信息图)

一、制造企业面临的机遇与挑战 2021年12月28日&#xff0c;工业和信息化部等八部门联合对外发布《“十四五”智能制造发展规划》&#xff0c;明确提到“推进智能制造&#xff0c;要立足制造本质&#xff0c;紧扣智能特征&#xff0c;以工艺、装备为核心&#xff0c;以数据为基…

jsp(全部知识点)

&#x1f44c; 棒棒有言&#xff1a;也许我一直照着别人的方向飞&#xff0c;可是这次&#xff0c;我想要用我的方式飞翔一次&#xff01;人生&#xff0c;既要淡&#xff0c;又要有味。凡事不必太在意&#xff0c;一切随缘&#xff0c;缘深多聚聚&#xff0c;缘浅随它去。凡事…

窗口置顶工具v2.6.0(截图+贴图)

大家好&#xff0c;很高兴能再次更新版本&#xff0c;距上一年12月份到现在&#xff0c;有差不多两个月没有更新了&#xff0c;主要是年底&#xff0c;工作方面要冲刺&#xff0c;直到上周才有空继续开发置顶工具。 本来想再偷懒一段时间再开发&#xff0c;但最近在工作中经常…

用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 高光谱遥感&#xff0c;作为成像技术与细分光谱技术有机结合的成像光谱遥感&#xff0c;可以获取在可见光到短波红外甚至中红外…

重构之改善既有代码的设计(一)

1.1 何为重构&#xff0c;为何重构 第一个定义是名词形式&#xff1a; 重构&#xff08;名词&#xff09;&#xff1a;对软件内部结构的一种调整&#xff0c;目的是在不改变「软件可察行为」前提下&#xff0c;提高其可理解性&#xff0c;降低修改成本。 「重构」的另一个用…

Bigscreen Beyond头显解析:极致轻量化,显示部分仅127g

近年来&#xff0c;一体机占据了C端VR市场主要地位&#xff0c;其采用低成本、低门槛、无线化设计&#xff0c;对消费者足够友好。尽管如此&#xff0c;PC VR生态也在发展&#xff0c;相比于一体机&#xff0c;PC VR可提供视觉质量更高的VR体验&#xff0c;而且依托于SteamVR生…

LayUI表格渲染实现前后端交互

方法渲染 初始化 table 容器中配置好相应的参数&#xff0c;由 table 模块内部自动对其完成渲染&#xff0c;而无需你写初始的渲染方法。 首先满足&#xff1a; 带有 class"layui-table"的 标签&#xff1b;对标签设置属性lay-data"" 用于配置一些基础参…

索引-性能分析-explain

explain 执行计划 explain 执行计划各字段含义 1&#xff09;id 就是代表 sql 的执行顺序或者表的执行顺序&#xff1b;id相同从上往下执行&#xff0c;id不同&#xff0c;id值越大越先执行&#xff1b;&#xff08;注&#xff1a;有子查询时就会出现sql执行顺序&#xff09;…

【物联网】mqtt初体验

文章目录安装EMQXjava集成添加依赖mqtt配置参数发布组件订阅组件测试接口接口测试最近在了解物联网云平台方面的知识&#xff0c;解除了mqtt协议&#xff0c;只看书籍难免有些枯燥&#xff0c;所以直接试验一下&#xff0c;便于巩固理论知识。 broker服务器操作系统&#xff1a…

Illegal char <:> at index 4

一、现象Java11环境下项目启动时报错&#xff1a;java.nio.file.InvalidPathException: Illegal char <:> at index 4但项目能正常启动、运行。二、解决办法方法1方法2项目路径\.idea\workspace.xml中的PropertiesComponent节点下新增配置&#xff1a;<property name&…

NoSQL(非关系型数据库)与SQL(关系型数据库)的差别

目录 NoSQL(非关系型数据库)与SQL(关系型数据库)的差别 1.数据结构&#xff1a;结构化与非结构化 2.数据关联&#xff1a;关联性与非关联性 3.查询方式&#xff1a;SQL查询与非SQL查询 4.事务特性&#xff1a;ACID与BASE 分析ACID与BASE的含义&#xff1a; 5.存储方式&am…

16- 梯度提升分类树GBDT (梯度下降优化) (算法)

梯度提升算法 from sklearn.ensemble import GradientBoostingClassifier clf GradientBoostingClassifier(subsample0.8,learning_rate 0.005) clf.fit(X_train,y_train) 1、交叉熵 1.1、信息熵 构建好一颗树&#xff0c;数据变的有顺序了&#xff08;构建前&#xff0c…

jvm对象创建与内存解析

1.类加载检查虚拟机遇到一条new指令时&#xff0c;首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用&#xff0c;并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有&#xff0c;那必须先执行相应的类加载过程。new指令对应到语言层面上讲…

【node.js】node.js的安装和配置

文章目录前言下载和安装Path环境变量测试推荐插件总结前言 Node.js是一个在服务器端可以解析和执行JavaScript代码的运行环境&#xff0c;也可以说是一个运行时平台&#xff0c;仍然使用JavaScript作为开发语言&#xff0c;但是提供了一些功能性的API。 下载和安装 Node.js的官…

linux篇【14】:网络https协议

目录 一.HTTPS介绍 1.HTTPS 定义 2.HTTP与HTTPS &#xff08;1&#xff09;端口不同&#xff0c;是两套服务 &#xff08;2&#xff09;HTTP效率更高&#xff0c;HTTPS更安全 3.加密&#xff0c;解密&#xff0c;密钥 概念 4.为什么要加密&#xff1f; 5.常见的加密方式…

裸辞5个月,面试了37家公司,终于找到理想工作了

上半年裁员&#xff0c;下半年裸辞&#xff0c;有不少人高呼裸辞后躺平真的好快乐&#xff01;但也有很多人&#xff0c;裸辞后的生活五味杂陈。 面试37次终于找到心仪工作 因为工作压力大、领导PUA等各种原因&#xff0c;今年2月下旬我从一家互联网小厂裸辞&#xff0c;没想…

linux高级命令之用户相关操作

用户相关操作学习目标能够知道创建用户的命令1. 创建用户命令说明useradd创建(添加)用户useradd命令选项:选项说明-m自动创建用户主目录,主目录的名字就是用户名-g指定用户所属的用户组&#xff0c;默认不指定会自动创建一个同名的用户组创建用户效果图:查看所有用户信息的文件…

nginx-host绕过实例复现

绕过Nginx Host限制第一种处理方法Nginx在处理Host的时候&#xff0c;会将Host用冒号分割成hostname和port&#xff0c;port部分被丢弃。所以&#xff0c;我们可以设置Host的值为2023.mhz.pw:xxx"example.com&#xff0c;这样就能访问到目标Server块&#xff1a;第二种处理…

SpringBoot的定时任务实现--SpringTask

SpringTask是Spring自带的功能。实现起来比较简单。 使用SpringTask实现定时任务有两种方式&#xff1a; 1.注解方式 基于注解 Scheduled Scheduled(cron "*/1 * * * * ?")public void up(){System.out.println("定时任务开启&#xff1a;"System.cu…

想做好项目经理,一定要知道这10句话

早上好&#xff0c;我是老原。有句话说过&#xff1a;“你是怎么过好一天的&#xff0c;就是怎么过好一生的。”这句话&#xff0c;我刚毕业那会没什么感觉&#xff0c;但工作越久&#xff0c;体会越深。你会发现优秀的人有些特质和习惯千篇一律&#xff0c;而普通人&#xff0…