Java函数、数组

2023-10-27

Java函数、数组

函数

函数:就是定义在类中的具有特定功能的一段独立小程序
格式:
修饰符 返回值类型 函数名(参数类型 参数1,参数类型 参数2,){
  执行语句;
  return 返回值;
}

返回值类型: 函数运行后的结果的数据类型
参数类型: 是形式参数的数据类型
形式参数: 是一个变量,用于存储调用函数时传递给函数的实际参
return: 用于结束函数
返回值: 该值会返回给调用者
实际参数: 传递给形式参数的具体数值

例如:

public String geString(Object obj1,Object obj2){
	//执行语句;
	return "返回值";
}

使用函数的好处

定义函数可以将功能代码进行封装,便于对该功能进行复用。函数只有被调用才会被执行,如果函数没有具体返回值,返回值类型用关键字void表示,return语句可以省略不写。 函数的结果应该返回给调用者,交由调用者处理。

public class FunctionDemo {

	public static void main(String[] args) {
			/*
			int x = 4;
			System.out.println(x*3+5);
	
			x = 6;
			System.out.println(x*3+5);
			*/
	
			//int x = getResult(4);
			//System.out.println("x="+x);
	
			getResult(16);
	
		}
	
		//发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
		//为了提高代码的复用性。对代码进行抽取。
		//将这个部分定义成一个独立的功能。方便与日后使用。
		//java中对功能的定义是通过函数的形式来体现的。
	
		//需要定义功能,完成一个整数的*3+5的运算,并打印
	
		//1,先明确函数定义的格式。
		/*
	
		修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)
		{
				执行语句;
				return 返回值;
		}
	
		当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来标识。该关键字就是void。当函数的返回值类型是void时,函数中的return语句可以省略不写。
		*/
		public static void getResult(int num) {
			System.out.println(num * 3 + 5);
			return;//可以省略
		}
	
		//需求:定义一个功能。完成3+4的运算。并将结果返回给调用者。
		/*
		其实这两个功能就是在明确函数的定义。
		1,是在明确函数的返回值类型。
		2,明确函数的参数列表( 参数的类型和参数的个数)。
			
		public static int getSum() {
			return 3+4;
		}
		*/
		/*
		以上这个函数的功能,结果是固定的,毫无扩展性而言。为了方便用户需求。由用户来指定加数和被加数。这样,功能才有意义。
		*/
		
		public static int getSum(int x,int y) {
			return x+y;
		}

   }

函数的重载(Overload)和重写(Override)

重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。与返回值类型无关,只看参数列表。

//返回两个整数的和
int add(int a,int b){return a+b;}
//返回两个小数的和
double add(double a,double b){return a+b;}
//返回三个整数的和
int add(int a,int b,int c){return a+b+c;}

重写:是指子类重新定义父类中有相同名称和参数的虚函数,主要在继承关系中出现。

数组

数组:就是一个容器。同一种类型数据的集合,自动给数组中的元素从0开始编号

class ArrayDemo {
	public static void main(String[] args) {

		//两种写法:
		int[] arr = new int[]{3,4,5,6};//arr[0] = 3
		int[] arr2 = {3,6,9,7};//arr2[3] = 7
		
		/*
		int[][] arr  = new int[3][];

		arr[0] = new int[4];
		arr[1] = new int[2];
		arr[2] = new int[2];

		System.out.println(arr.length);//打印是二维数组的长度 3;
		System.out.println(arr[0].length);//打印二维数组中第一个一维数组长度
		*/

		int[][] arr3 = {{2,3,4,5},{6,7,7,8},{8,1,8,2}};

		int sum = 0;
		for(int x=0; x<arr3.length;x++)
		{
			for(int y=0; y<arr3[x].length; y++)
			{
				sum = sum + arr3[x][y];
			}
		}

		System.out.println("sum="+sum);
	}

	/*
	十进制-->十六进制。
	*/
	public static void toHex(int num) {
		StringBuffer sb = new StringBuffer();
		for(int x=0; x<8; x++) {
			int temp = num & 15;
			if(temp>9)
				sb.append((char)(temp-10+'A'));
			else
				//System.out.println(temp);
				sb.append(temp);
			num  = num >>> 4;
		}
		System.out.println(sb.reverse());
	}
}

二维数组:

//写法一
int[][] arr = new int[3][3];
//写法二
int[][] arr2 = new int[3][];
//写法三
int[][] arr3 = {{3,2,1},{4,5},{7,8,9,0}};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java函数、数组 的相关文章

随机推荐

  • 一些编译器与解释器的理解

    概述 在19年拜读完Python解释器以及PHP部分解释器并未完全理解 当时主要关心于几个问题 解释器在干嘛 为什么 怎么干的 导致出现区域性片面的理解 直到今年读到内核才逐渐理解 碰巧看到LLVM 大佬思路就是清晰 简单描述个人的理解 如
  • k8s中的有状态,无状态,pv、pvc等

    数据库是一个典型的有状态服务 他的部署和无状态服务是不一样的 PostgresSQL 基于Kubernetes部署PostgresSQL CSDN博客 一 创建SC PV和PVC存储对象 二 部署PostgresSQL Volume Kub
  • dell进入u盘启动模式_uefi不识别u盘怎么办 uefi不识别u盘方法【图文详解】

    现代的电脑配置更新换代都很频繁 从以前的bios主板到现在的uefi主板配置都有很大的进步 而这种新型uefi配置也给新用户装系统带来麻烦 有些用户用u盘启动盘装系统发现uefi不识别u盘 uefi bios识别不了u盘的原因其实就是Lau
  • layui+poi-Java实现导入导出excel文件

    目录 需求说明 一 实现思路 二 前端代码 1 引入layui 2 隐藏部分内容 1 静态页面代码 2 js jquery 代码 点击 导入xx 按钮的js 弹出上面隐藏的内容 3 效果如下 3 下载模板js 4 选择文件 上传js 三 后
  • STM32USB的枚举过程简介

    STM32的USB枚举过程介绍 之前的说明 文中大量引用网上资料 在文后已给出资料的引用说明 文件涉及到的USB各种传输包各个位的含义以及USB标准设备请求的含义都没有做说明 推荐看 圈圈教你玩USB 里面有详细的说明 一 枚举前的工作 系
  • 034_非关系型数据库Redis_安装配置 & 基础语法 & Python交互

    文章目录 1 认识Redis 2 Redis 安装和配置 3 Redis 数据类型 4 Redis 内置指令 5 Redis 配置文件 远程登陆 6 Redis 应用场景 6 1 Redis 应用 手机手机验证码 6 2 Redis 应用
  • 【系统分析师之路】第七章 复盘系统设计(面向服务开发方法)

    系统分析师之路 第七章 复盘系统设计 面向服务开发方法 复盘系统设计 面向服务开发方法 系统分析师之路 第七章 复盘系统设计 面向服务开发方法 前言部分 历年真题考点分析 1 考点分析 2 重要知识点 第一部分 综合知识历年真题 2008下
  • ucint核心边缘分析_社会网络分析中核心边缘分析的简单教程

    最近碰到一位朋友在留言向我咨询如何用社会网络分析进行核心边缘分析 因此 根据这位朋友提供的数据 简单的操作了一下 并制作成教程 分析了可能存在的问题 教程如下 1 打开软件 2 点击上图表格 通过复制 粘贴输入数据 并保存至某一文件夹 3
  • python 字典

    字典的特征 1 字典中数据必须是以键值对的形式出现的 2 键不能重复 而值可以 3 字典中的键是不能修改的 而值是可以修改的 可以为任何对象 因此键不能用变量 字典的书写范例 dictory 猫 cat 狗 dog 狼 holf print
  • jenkins pipeline之自动构建(gitlab webhook 和 Generic Webhook Trigger集成)

    需求 1 开发在哪个分支上提交代码 jenkins就自动发布相对应的分支 2 实现既能手动发布jenkins 也要实现自动webhook发布 约定 和开发约定分支对应的环境 比如 debug对应开发环境 develop对应测试环境 mast
  • 【Fastdfs】通过 docker 快速搭建集群 fastdfs 环境

    Fastdfs 通过 docker 快速搭建集群 fastdfs 环境 1 镜像构建 码云地址 https gitee com hbsky fastDFS 构建新的镜像 使用我的镜像也行 docker build t registry cn
  • dlink网络打印服务器如何修改ip地址,如何使用脚本更改网络打印机的IP地址?

    HI 大家好 现在的客户端全部基于WIN XP WIN7 都连接着一台HP 4650网络打印机 IP ADDRESS 10 201 0 1 但是最近打印机IP做了整体的调整 如何实现用脚本更改以前的IP呢 我试过以下的脚本 但是只有添加TC
  • keil5中Undefined symbol XXX 的解决方法

    keil5中Undefined symbol XXX 的解决方法 OBJ LED axf Error L6218E Undefined symbol SPI Cmd referred from spi o OBJ LED axf Error
  • 库存预占架构升级方案设计-交易库存中心

    背景介绍 伴随物流行业的迅猛发展 一体化供应链模式的落地 对系统吞吐 系统稳定发出巨大挑战 库存作为供应链的重中之重表现更为明显 近三年数据可以看出 接入商家同比增长37 64 货品种类同比增长53 66 货品数量同比增长46 43 仓库数
  • 人工智能发展情况调研

    人工智能发展情况调研Artificial intelligence development circumstance investigation北京师范大学继续教育学院 2000级计算机科学与技术 赵旭峰E mail zxf95 163 c
  • Excel中如何找出两列数据中相同的数据,并且进行同行显示

    使用VLOOKUP方法即可 VLOOKUP A2 Sheet1 B C 1 0 的含义是 在sheet1工作表的B C区域的首列中查找等于a2的值 找到后 返回该区域的同行的值 最后的参数0表示精确查找 比如 想要列2根据列1中的数据进行排
  • PG概述及OSD对PG状态的影响

    前言 随着分布式存储的广泛应用 目前对PG的关注越来越多 本文基于ONStor分布式存储系统简要介绍一下PG的状态变化 重点说明OSD对PG状态的影响 一 Ceph分布式存储概述 Ceph是一个统一的分布式存储系统 设计初衷是提供较好的性能
  • Gazebo中特异性里程计odom的发布

    需求 将里程计 odom改成以小车初始位置为原点 车体坐标轴为方向建立坐标系 用该坐标系下的位姿作为里程计数据的位姿 分析 odom是ros发布的相对固定的里程计信息 不能使用命令行工具直接修改里程计信息参考的初始位置 因此 从 odom坐
  • QT5 创建“打开文件”按钮

    在GUI界面设计中 有时需要 打开文件 按钮 以加载外部文件 则需要我们用QFileDialog的静态函数完成 QT5中几个文件相关函数如下 函数名 作用 getOpenFileName 加载用户选择文件的文件名 getSaveFileNa
  • Java函数、数组

    Java函数 数组 函数 函数 就是定义在类中的具有特定功能的一段独立小程序 格式 修饰符 返回值类型 函数名 参数类型 参数1 参数类型 参数2 执行语句 return 返回值 返回值类型 函数运行后的结果的数据类型 参数类型 是形式参数