您现在的位置是:首页 > 正文

java基础——方法

2024-02-01 02:41:51阅读 1

方法

/**
 * 1.什么是方法?
 * 方法就是把一堆需要反复执行的代码封装起来,如果程序需要执行这段代码,直接调用方法名即可。
 * 就是类似于一个榨汁机,
 * 材料:水果
 * 产出物:果汁
 * 
 * 程序中的方法(榨汁机):
 * 参数(材料):进入方法的数据
 * 返回值(产出物):方法根据参数处理后返回的结果
 * 
 * 2.怎么定义方法?
 * 访问修饰符   [static] 返回值类型 方法名(形参列表){
 *    方法体;
 *    return 返回值;
 * }
 * 访问修饰符:方法访问权限
 * 返回值类型:方法最终返回的结果是什么类型的
 * 方法名:自己的名字,首字母小写,驼峰式命名法      
 * 形参列表:由形参组成的列表,作用就是接受调用者实际传过来的实参
 *return:(1).把方法执行的结果返回给调用者,(2)结束当前方法
 *
 */
	public static void main(String[] args) {
		//接受方法返回值的变量必须和方法返回值类型一致
		int result=sum(20,10);//实参,调用方法实际传入的参数
		System.out.println("a+b的和是:"+result);

	}
	
	//计算a+b的和
	public static int sum(int a,int b){//形参
		int result=a+b;
		return result;
	}

参数

/**
 * 参数传递:在调用方法时,向方法传入的一系列动作
 * 
 * 参数传递的过程:
 * 1.对于基本数据类型来说,形参的操作不会影响实际参数
 * 2.对于引用数据类型来说,形参的操作会影响实参
 *
 */
			int a=10;
			int b=20;
			System.out.println("a="+a);//10
			System.out.println("b="+b);//20
			System.out.println("====================");
			change(a,b);//100,200
			
			System.out.println("=============");
			System.out.println("a="+a);//10
			System.out.println("b="+b);//20

		}
		//定义一个方法,把形参的值扩大10倍
		public static void change(int a,int b){
			a*=10;
			b*=10;
			System.out.println("a="+a);
			System.out.println("b="+b);
		}
		
		System.out.println("====================基本和引用分隔符=====================");
		int[] arr={10,20};
		System.out.println(arr[0]);//10
		System.out.println(arr[1]);//20
		System.out.println("===================");
		change(arr);
		System.out.println("============");
		System.out.println(arr[0]);//100
		System.out.println(arr[1]);//200

	}
	
	public static void change(int[] arr){
		arr[0]*=10;
		arr[1]*=10;
		System.out.println(arr[0]);//100
		System.out.println(arr[1]);//200
	}

无返回值

/**
 * 无返回值方法:一个方法在执行时,只是执行方法体,不会吧执行结果返回给调用者
 * 
 * 访问修饰符  void 方法名(形参列表){
 * 方法体;
 * }
 *
 */

有返回值

public static void main(String[] args) {
		int sum1=sumTwo(10, 20);
		int sum2=sumThree(10, 20, 30);
		System.out.println("a+b="+sum1);
		System.out.println("a+b+c="+sum2);

	}
	
	//计算a+b的和
	public static int sumTwo(int a,int b){
		return a+b;
	}
	
	
	//计算a+b+c的和
	public static int sumThree(int a,int b,int c){
		return a+b+c;
	}

方法重载

/**
 * 对于累加的操作,因为参数列表不同,所有我需要定义多个方法名,太麻烦了,如果方法过多,在调用时,可能出现调用错的情况
 * 
 * 
 * 可以使用方法重载解决
 * 方法重载:方法名相同,参数列表不同
 * 参数列表不同:
 * 1.参数列表个数不同
 * 2.参数列表的类型不同
 * 3.参数列表类型顺序不同
 *
 *
 * 注意:放重载和返回值类型无关,参数名无关
 */
public static void main(String[] args) {
		int sum1=sum(10, 20);
		int sum2=sum(10, 20, 30);
		System.out.println("a+b="+sum1);
		System.out.println("a+b+c="+sum2);

	}
	
	//方法重载
	public static int sum(int a,int b){
		return a+b;
	}
	
	public static int sum(int a,int b,int c){
		return a+b+c;
	}
	
	//public static double sum(int a,int b)//错误
	
	//public static int sum(int b,int a)//错误
	
	public static double sum(double a,int b){
		return 0;
	}
	
	public static double sum(int a,double b){
		return 0;
		
	}

网站文章

  • 获取浏览器语言

    获取浏览器语言(navigator.language || navigator.browserLanguage).toLowerCase()根据浏览器语言切换语言//根据浏览器语言切换语言functi...

    2024-02-01 02:41:23
  • Tensorflow深度学习之-激活函数选择与使用介绍

    Tensorflow深度学习之-激活函数选择与使用介绍

    激活函数都有一定的使用场景,ReLU的流行只是在大部分的场景下都适用,具体要选择哪种激活函数,要根据你自己的实际应用来作决策。如果你不确定你要用什么,ReLU不会让你失望。在使用ReLU时,ReLU和leaky ReLU任取一个即可,也可以都尝试一下,哪一个能取得最佳结果。

    2024-02-01 02:41:16
  • ActiveMQ初步安装

    ActiveMQ初步安装

    一、官网下载 ActiveMQ官网:http://activemq.apache.org/ 安装ActiveMQ的前提是已经安装好了JAVA JDK环境。 PS:我这里下载的是经典版 下载完之后将它放...

    2024-02-01 02:41:09
  • spring boot 、mybatis-plus、shiro整合入门教程(二)——mybatis-plus常用操作

    spring boot 、mybatis-plus、shiro整合入门教程(二)——mybatis-plus常用操作

    接续上一篇,spring boot 、mybatis-plus、shiro整合入门教程(一)——mybatis-plus代码生成器项目中的数据库表设计如下:菜单管理页面功能:新增、修改、删除、查询新增代码如下:SysMenuController类的代码如下:@Resource private SysMenuServiceImpl sysMenuService; /*...

    2024-02-01 02:41:00
  • .md文档是什么? 如何打开?

    .md文档是什么? 首先来普及一下什么是md文件, md全称markdown,markdown也是一种标记语言。 .md即markdown文件的基本常用编写语法,是一种快速标记、快速排版语言,现在很多前段项目中的说明文件readme等都是用.md文件编写的,而且很多企业也在在鼓励使用这种编辑方式,特别作为一个前端从业者更要学会使用这种语言。下面就简单和大家分享一些...

    2024-02-01 02:40:31
  • 分布式集群框架——zookeeper必考面试题①

    分布式集群框架——zookeeper必考面试题①

    接收到客户端请求,处理请求判断是否需要注册 Watcher,需要的话将数据节点的节点路径和 ServerCnxn(ServerCnxn 代表一个客户端和服务端的连接,实现了 Watcher 的 pro...

    2024-02-01 02:40:26
  • sqli-labs Less-54、55、56、57(sqli-labs闯关指南 54、55、56、57)

    sqli-labs Less-54、55、56、57(sqli-labs闯关指南 54、55、56、57)

    sqli-labs Less-54、55、56、57(sqli-labs闯关指南 54、55、56、57)

    2024-02-01 02:40:20
  • 多线程死锁的产生以及如何避免死锁 热门推荐

    多线程死锁的产生以及如何避免死锁 热门推荐

    一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 下面我们通过一些实例来说明死锁现象。 先看生活中的一个实例,在一条河上有一座桥,桥面很窄,只能容纳一辆汽车通行。如 果有两辆汽车分别从桥的左右两端驶上该桥,则会出现

    2024-02-01 02:39:52
  • java-chatgpt

    1. https://www.jianshu.com/p/46dda2b38716 package com.demo.chatgpt.test; import cn.hutool.core.collection.CollectionUtil; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.co...

    2024-02-01 02:39:44
  • HDU5781 ATM Mechine [概率dp]

    题意:一个人去ATM取钱,知道钱最多有n, 她最多能尝试m次,问如果她足够机智,把所有钱都去做的期望次数是多少。(n <= 2000) 思路:由于足够聪明,二分取钱最坏的情况下只需要11次即可取走所有的钱。 所以预处理m = min(m, 12); 定义状态:dp[i][j]表示已知当前钱数的最大上限为i,还能够取钱的次数为j时候的期望。 决策:尝试取k元钱,k能够被取走的概率为i+1−ki

    2024-02-01 02:39:39