Java基础——函数与数组

2023-11-14

上一节中给大家留得习题都完成的怎么样呀?有什么问题就给阿Q留言吧,阿Q会知无不言,言无不尽的。今天让我们进一步学习一下java中的函数与数组吧。

函数(也称之为方法)

(1)定义在类中,有特定功能的一段小程序,可以提高代码的复用性和维护性。
(2)函数的格式:

修饰符 返回值类型 函数名(形参类型 形式参数1,形参类型 形式参数2...){
	函数体;
	reutrn 返回值;
}
  • A:修饰符:现在我们先认定是public static,学了后边的面向对象后就会明白

  • B:返回值类型:程序最终结果的数据类型

  • C:函数名:其实就是函数的名称,方便我们调用。

  • D:参数

    ​ 形参类型 数据类型

    ​ 形式参数 就是接收实际参数的变量

    ​ 实际参数 就是实际参与操作的变量(常量)

  • E:函数体 就是按照正常的逻辑完成功能的代码。

  • F:返回值 就是程序的最终结果

  • G:reutrn 返回值 哪里调用程序,return就把结果返回到哪里。如果方法有明确的返回值,一定要有return带回一个值。函数其实是有关键字return让他结束的。

    注意:void类型的函数,其实最后一行。默认有一个return;

(3)函数的特点:
​ A:函数与函数之间是平级关系。不能在函数中定义函数。因为函数体是完成功能的代码是由语句组成的,所以里面可以由顺序执行语句、选择语句、循环语句等各种语句。
​ B:运行特点 方法不调用不执行。
(4)案例:
有明确返回值的例子:求两个数据的最大值

public static int getMax(int a,int b) {//形式参数,形式参数
		return a>b?a:b;
}

void类型例子:根据给定的行和列输出一个*组成的长方形

public static void printChangFangXing(int row,int col){
	for(int x=0; x<row; x++){
		for(int y=0; y<col; y++){
			System.out.print("*");
		}
		System.out.println();
	}
}

(5)函数的调用
​ A:有明确返回值
​ a:单独调用 一般没有意义。
​ b:输出调用 但是如果想拿结果继续操作,就有问题了。所以,不好。
​ c:赋值调用 推荐方式。

​ B:void类型
​ 单独调用
(6)函数重载
​ A:函数名相同,参数列表不同(个数不同,对应的类型不同)。与返回值类型无关。

​ B:举例:
​ public static int sum(int a,int b){…}
​ public static int sum(int a,int b,int c){…}
​ public static int sum(float a,float b){…}

数组

(1)定义:数组是存储同一种类型的多个元素的容器。
(2)特点:数组中的元素会被自动从0开始编号,方便我们获取。
​ 数组既可以存储基本数据类型,也可以存储引用数据类型。
(3)格式:
​ A:数据类型[] 数组名 = new 数据类型[数组的长度];
​ B:数据类型 数组名[] = new 数据类型[数组的长度];
​ C:数据类型[] 数组名 = new 数据类型[]{11,12,3,4,5};
​ D:数据类型[] 数组名 = {11,12,3,4,5};

举例:

A:int[] arr = new int[3];
B:int arr[] = new int[3];
C:int[] arr = new int[]{1,2,3};
D:int[] arr = {1,2,3};
推荐A和D。

(4)Java内存(了解即可):

A:栈 :存储局部变量使用。使用完毕,立马消失。

B:堆 :所有new出来的都在堆里面。
​ a:每一个实体都有地址值
​ b:每一个实体内的内容都有默认值
​ 整数:0
​ 浮点数:0.0
​ 字符:’\u0000’
​ 布尔:false
​ 引用类型:null
​ c:在垃圾回收器空闲的时候被回收。

C:方法区:存储可以运行的class文件
D:本地方法栈:JVM在使用操作系统功能的时候使用
E:寄存器,给CPU使用

(5)数组的内存图
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(6)数组操作的常见问题:
​ A:数组越界异常:ArrayIndexOutOfBoundsException,你访问了不存在的索引。
​ B:空指针异常:NullPointerException,一个实例(对象)已经不存在了,你还去访问它的内容。

(7)操作:

A:数组的遍历

public static void printArray(int[] arr){
​	for(int x=0; x<arr.length; x++){
​		System.out.println(arr[x]);
​	}
​}
注:数组的长度arr.length

B:数组获取最值

public static int getMax(int[] arr) {
​	int max = arr[0];//记录第一个元素为数组中的最大值
​	for (int i = 1;i < arr.length ;i++ ) {	//从数组的第二个元素开始遍历
​		if (max < arr[i]) {		//如果max记录的值小于的数组中的元素
​			max = arr[i];		//max记录住较大的
​		}
​	}
​	return max;
​}

C:数组元素反转

public static void reverseArray(int[] arr) {
​	for (int i = 0;i < arr.length / 2 ; i++) {
​		int temp = arr[i];//利用临时变量变换前后对应的值
​		arr[i] = arr[arr.length-1-i];
​		arr[arr.length-1-i] = temp;
​	}
​}

D:数组的查找

public static int getIndex(int[] arr,int value) {
​	for (int i = 0;i < arr.length ;i++ ) {	//数组的遍历
​		if (arr[i] == value) {		//如果数组中的元素与查找的元素匹配
​			return i;
​		}
​	}
​	return -1;	
​}

(8)二维数组格式:

	A:int[][] arr = new int[3][2];
	B:int[][] arr = new int[3][];
	C:int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
	遍历:
		int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
		for(int x=0; x<arr.length; x++){
			for(int y=0; y<arr[x].length; y++){
				System.out.print(arr[x][y]+"\t");
			}
			System.out.println();
		}

	应用:遍历求和。
		int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
		int sum = 0;					//定义变量,记录每次相加的结果
		for (int i = 0;i < arr.length ;i++ ) {		//获取每一个一维数组
			for (int j = 0;j < arr[i].length ;j++ ) {//获取每一个一维数组中的元素
				sum = sum + arr[i][j];		//累加
			}
		}
		System.out.println(sum);

好了本节就先说到这了,有什么不明白的地方欢迎评论区留言或者公众号留言。想了解更多学习知识,请关注微信公众号“阿Q说”,获取更多学习资料吧!你也可以后台留言说出你的疑惑,阿Q将会在后期的文章中为你解答。每天学习一点点,每天进步一点点。

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

Java基础——函数与数组 的相关文章

  • eureka缓存

    AP系统 服务端 三级缓存 缓存 说明 一级 本地缓存 实时更新 客户端注册时数据保存到这 二级 读写缓存 实时更新 客户端注册 下线 故障时缓存失效 读取读写缓存找不到数据时 去一级缓存读取并保存到二级缓存 三级 读缓存 周期更新 默认3

随机推荐

  • watch的使用方法

    watch简单监听属性 监听对象就不要用这种写法 data return num 1 watch num newval oldval newval 是新值 oldval 是修改前的值 num有变化之后所执行的代码块 console log
  • 学习总结Q

    学习总结 学习内容 Java HashSet 学习产出 HashSet 基于 HashMap 来实现的 是一个不允许有重复元素的集合 HashSet 允许有 null 值 HashSet 是无序的 即不会记录插入的顺序 HashSet 不是
  • MySQL 的CASE WHEN 语句使用说明

    介绍mysql数据库中case when语句的用法 首先介绍case when语句的基础知识 然后提供了相关例子 1 mysql数据库中CASE WHEN语句 case when语句 用于计算条件列表并返回多个可能结果表达式之一 CASE
  • 【C++11智能指针】shared_ptr的初始化、拷贝构造和拷贝赋值、移动构造和移动赋值

    文章目录 1 智能指针概述 2 shared ptr的初始化 2 1 shared ptr和new结合使用 直接初始化 2 2 make shared函数 3 shared ptr的拷贝构造和拷贝赋值 4 shared ptr的移动构造和移
  • 函数名称前面加引用“&”或指针符号“*”的意思

    学习笔记 一 函数名称前面加引用符号 代表该函数返回值类型是引用 如 int operate 二 函数名称前面加指针符号 代表它是函数指针 函数指针是一个指向函数的指针 函数指针表示一个函数的入口地址 使用函数指针的好处就是在处理 在运行时
  • 解析敏捷开发流程之Scrum:3个角色、5个会议、12原则

    本文主要从Scrum的定义和目的 敏捷宣言 Scrum中的人员角色 Scrum开发流程 敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程 一 Scrum的定义和目的 Scrum是一个用于开发和维护复杂产品的框架 是一个增量的 迭
  • MySql在Windows下查看日志

    大体记录mysql查看日志的方法 并不具体 1 查看是否开启了日志 show variables like log bin value是ON表示已开启 如果没开启执行第二步 2 开启日志 在mysql的配置文件mysql ini中的 mys
  • react 开发环境下 解决 Uncaught ReferenceError: process is not defined 异常:

    react 开发环境下 解决 Uncaught ReferenceError process is not defined 异常 package json中添加 resolutions react error overlay 6 0 9 锁
  • 什么是AQS?

    AQS AbstractQueuedSynchronizer 是 Java 中用于构建同步器的抽象基类 它提供了一种强大的框架 使得可以相对容易地构建各种同步工具 如锁 信号量 倒计数器等 AQS 是 Java 并发包中的核心组件之一 它在
  • JAVA--Map集合详解

    特点 该集合存储键 key 值 value 对 一对一对往里存 而且要保证键 key 的唯一性 Map集合和Set集合很像 其实Set集合底层就是使用了Map集合 什么时候使用Map集合 当数据之间存在映射关系时 优先考虑Map集合 Map
  • MySQL的基础部分(基础部分完结)

    MySQL的基础部分 基础部分完结 文章目录 MySQL的基础部分 基础部分完结 知识小回顾 小案例部分 分页查询 总结多子句查询 多表查询 重点 难点 自连接 多行子查询 小结 子查询临时表 any all关键字的使用 mysql多列子查
  • Shell脚本交互之:自动输入密码

    平时在控制台输入指令如 sudo ssh ftp或者修改admin权限的文件时候都会要求输入password 但是在she ll脚本运行过程中该如何交互实现自动输入密码呢 下面总结三种实现方法 一 重定向 用重定向方法实现交互的前提是指令需
  • 录播系统服务器大全,专业高清录播服务器 全高清录播系统 系统设计精美

    高清录播服务器 支持多个会议 多速率 多种录制模式对会议随心所欲的进行录制点播 可以配合当前各种标准H 323 SIP的MCU和终端产品 表现出良好的兼容性 标配5组20路同时录制 大可支持20组视频会议录制 录制中的视频会议的音频 视频和
  • 服务部署之每个主机的单个服务实例

    背景 您已应用微服务架构模式并将系统架构为一组服务 每个服务都部署为一组服务实例 以实现吞吐量和可用性 问题 如何打包和部署服务 诉求 服务使用各种语言 框架和框架版本编写 每个服务由多个服务实例组成 用于吞吐量和可用性 服务必须可独立部署
  • 【实例分割】4、YOLACT: Real-time Instance Segmentation

    文章目录 摘要 1 引言 2 相关工作 3 YOLACT 3 1 模板的产生 3 2 Mask 系数 3 3 Mask集成 3 4 其他情况 4 检测器 5 其他贡献 6 结果 6 1 实例分割结果 6 2 Mask质量 6 3 动态稳定性
  • SnakeGame(贪吃蛇游戏)

    目录 一 前言 二 项目介绍 1 游戏的操作方式 2 开发的过程中的注意事项 1 图像的左右问题 2 摄像头的画面尺寸问题 三 游戏的实现要点 1 选择第三方库 2 找到关键点并标记 3 创建一个类来保存关于游戏的所有功能 4 定义函数进行
  • spring & bean

    1 spring的三种实例化bean方法 2 配置spring管理bean的作用域 3 spring管理的bean的生命周期 bean什么时候进行实例化 spring容器启动的时候 还是在调用geatBean 方法的时候 延时初始化 指定b
  • chatgpt赋能python:Python创建5×5矩阵(Matrix)教程

    Python创建5 5矩阵 Matrix 教程 Python是一种广泛使用的高级编程语言 其具有简单易用 可读性强 支持多种编程范式等特点 已经成为数据分析 科学计算与机器学习等领域必备的编程工具之一 在Python的诸多应用场景中 创建矩
  • OpenCV4-图像二值化

    OpenCV4 图像二值化 图像二值化 1 环境配置 OpenCV版本 OpenCV4 1 2 图像二值化 二值图像 图像中的像素灰度值无论在什么数据类型中都只有最大值和最小值两种取值 这种 非黑即白 的图像称为二值图像 将非二值图像经过计
  • Java基础——函数与数组

    上一节中给大家留得习题都完成的怎么样呀 有什么问题就给阿Q留言吧 阿Q会知无不言 言无不尽的 今天让我们进一步学习一下java中的函数与数组吧 函数 也称之为方法 1 定义在类中 有特定功能的一段小程序 可以提高代码的复用性和维护性 2 函