Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java基础——函数与数组

Java基础——函数与数组

作者头像
阿Q说代码
发布于 2021-05-13 09:22:35
发布于 2021-05-13 09:22:35
39900
代码可运行
举报
文章被收录于专栏:阿Q说代码阿Q说代码
运行总次数:0
代码可运行

今天让我们进一步学习一下java中的函数与数组吧。

函数(也称之为方法)

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

(2)函数的格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
修饰符 返回值类型 函数名(形参类型 形式参数1,形参类型 形式参数2...){
    函数体;
    reutrn 返回值;
}
  • A:修饰符:现在我们先认定是public static,学了后边的面向对象后就会明白
  • B:返回值类型:程序最终结果的数据类型
  • C:函数名:其实就是函数的名称,方便我们调用。
  • D:参数 形参类型 数据类型 形式参数 就是接收实际参数的变量 实际参数 就是实际参与操作的变量(常量)
  • E:函数体 就是按照正常的逻辑完成功能的代码。
  • F:返回值 就是程序的最终结果
  • G:reutrn 返回值 哪里调用程序,return就把结果返回到哪里。如果方法有明确的返回值,一定要有return带回一个值。函数其实是有关键字return让他结束的。 注意:void类型的函数,其实最后一行。默认有一个return;

(3)函数的特点:

A:函数与函数之间是平级关系。不能在函数中定义函数。因为函数体是完成功能的代码是由语句组成的,所以里面可以由顺序执行语句、选择语句、循环语句等各种语句。

B:运行特点 方法不调用不执行。

(4)案例:

有明确返回值的例子:求两个数据的最大值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static int getMax(int a,int b) {//形式参数,形式参数
        return a>b?a:b;
}

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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};

举例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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};
推荐AD

(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:数组的遍历

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void printArray(int[] arr){for(int x=0; x<arr.length; x++){
•       System.out.println(arr[x]);}}
注:数组的长度arr.length

B:数组获取最值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:数组元素反转

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:数组的查找

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static int getIndex(int[] arr,int value) {for (int i = 0;i < arr.length ;i++ ) {  //数组的遍历if (arr[i] == value) {      //如果数组中的元素与查找的元素匹配return i;}}return -1;}

(6)二维数组格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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}};
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    遍历:
        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将会在后期的文章中为你解答。每天学习一点点,每天进步一点点。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿Q说代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SAP—IDoc操作步骤
在ALE过程中,消息在系统之间,每一个ALE分布处理的参与系统必须拥有唯一的ID,这个ID即为逻辑系统。一般一个逻辑系统代指一个集团如果没有两个SAP系统,可以在一个SAP系统中的两个不同的Client端完成。我选择了800作为发送方,而810作为接收方。我将从800发送物料主数据到810中
用户5495712
2020/02/17
3.6K0
SAP—IDoc操作步骤
ActiveMQ消息传递的两种方式
1.什么是ActiveMQ?   ActiveMQ是apache提供的开源的,实现消息传递的一个中间插件,可以和spring整合,是目前最流行的开源消息总线,ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。较相似的还有rabbitMQ和kafka等,都是最为消息传递的插件 2.ActiveMQ传递消息的两种方式 前提:需要引入activemq的jar包 点对点方式(PTP):一个消费者对应一个生产者 发布/订阅模式(Publish/Sub):一个生产者产生消
用户2146856
2018/05/18
8230
爆赞!当年跳槽高级高发就是这么回答的!谈谈你对RocketMQ分布式事务原理的理解
有位工作五年的小伙伴在面试的时候被问到RocketMQ的分布式事务实现原理。他说他只知道RocketMQ能够支持事务,但是没有了解过它的事务实现原理。
Tom弹架构
2023/04/28
2580
爆赞!当年跳槽高级高发就是这么回答的!谈谈你对RocketMQ分布式事务原理的理解
什么是飞书机器人?如何定时发送飞书机器人消息?
机器人是飞书应用的一种能力类型。基于飞书的机器人能力,开发者能够以较低的开发成本(只需在服务端开发),实现在飞书单聊或群组中的消息推送和简单互动,完成企业系统数据与飞书的互联互通。
阿那个沫
2022/12/16
2.5K0
什么是飞书机器人?如何定时发送飞书机器人消息?
【SAP ABAP系列】SAP RFC通信模式详细解析
其本义是:异步通信时,通信双方时钟允许存在一定误差;同步通信时,双方时钟的允许误差较小。在SAP的系统间的通信过程中,也借用术语同步通信和异步通信,但其主要差异在于调用系统是否需要立即接受返回结果。这两种通信模式各有局限性,不同的应用适用于不同的通信模式。
matinal
2020/11/11
5.1K1
【SAP ABAP系列】SAP RFC通信模式详细解析
day75_淘淘商城项目_08_同步索引库问题分析 + ActiveMQ介绍/安装/使用 + ActiveMQ整合spring + 使用ActiveMQ实现添加商品后同步索引库_匠心笔记
方案一:在taotao-manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑。
黑泽君
2018/12/18
1K0
Spring boot+LayIM+t-io 好友申请通知的实现
企鹅号小编
2017/12/28
1.4K0
Spring boot+LayIM+t-io 好友申请通知的实现
常见技术类缺陷及解决方案
不论是通过F12分析页面请求,还是查看Skywalking做链路分析,经常会发现接口超时的问题。简单地调用流程图如下:
CKL的思考
2023/08/28
2770
常见技术类缺陷及解决方案
IM群聊消息究竟是存1份(即扩散读)还是存多份(即扩散写)?
上一篇文章《IM群聊消息的已读回执功能该怎么实现?》是说,“很容易想到,是存一份”,被网友们骂了,大家争论的很激烈(见下图)。
JackJiang
2018/08/29
1.7K0
【SAP HANA系列】HANA计算视图中的RANK使用方法
2、当我们必须从源集中的多个记录或前N个或后N个记录中选择最新记录时,这将非常有用。
matinal
2020/11/13
1.7K0
【SAP HANA系列】HANA计算视图中的RANK使用方法
TCP/IP协议之三次握手过程及原因
三次握手 建立起 TCP连接 的 reliable,分配初始序列号和资源,在相互确认之后开始数据的传输。有 主动打开(一般是client) 和 被动打开(一般是server)。
灰子学技术
2023/10/30
4230
TCP/IP协议之三次握手过程及原因
Android程序后台开启服务,显示通知栏
一个Android程序仅仅只能前台 运行是远远不够的,我们更希望它在后台运行,既可以接收消息,又不耽误我们去使用别的软件,这就要求我们要实现两点:
fanfan
2022/05/07
1.7K0
Android程序后台开启服务,显示通知栏
Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)
typedef struct { unsigned char version; // 版本号 unsigned char type; // 数据包类型 unsigned char requestIdB1; // 记录 id 高 8 位 unsigned char requestIdB0; // 记录 id 低 8 位 unsigned char contentLengthB1; // 记录内容长度高 8 位(body 长度高 8 位) unsigned char contentLengthB0; // 记录内容长度低 8 位(body 长度低 8 位) unsigned char paddingLength; // 补齐位长度(body 补齐长度) unsigned char reserved; // 补齐位 }FCGI_Header;
全栈程序员站长
2022/09/08
2.7K0
Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)
消息队列:第五章:RabbitMQ的使用
安装配置RabbitMQ:https://blog.csdn.net/qq_33450681/article/details/85339315
Java廖志伟
2022/09/28
2610
消息队列:第五章:RabbitMQ的使用
Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法
Windows 7 连接 Windows 10 共享打印机出现错误 0x000001b,建议不要通过卸载Windows10系统的KB5005565安全更新来解决该问题(犹如削足适履),正确的处理方法是手工添加一个本地打印机,本方法是安全可靠的。本文详述了该方法的操作步骤。
全栈程序员站长
2022/09/30
8.4K0
Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法
安全声明标记语言SAML2.0初探
SAML的全称是Security Assertion Markup Language, 是由OASIS制定的一套基于XML格式的开放标准,用在身份提供者(IdP)和服务提供者 (SP)之间交换身份验证和授权数据。
程序那些事
2020/12/31
1.8K0
白话讲解:消息队列到底解决了什么问题?
2020年处于移动互联网的下半场,各种技术层出不穷,虽然数据也在爆发式增长,但是高并发、高吞吐已经不再是首要的痛点,稳定、可靠才是王道。 本文作为一篇消息队列入门级介绍,帮助大家对消息队列有一个大致的了解,并对对时下流行的消息队列组件进行了简单的比较,供大家做技术选型的参考。 1  什么是消息队列 消息队列(Message Queue),从广义上讲是一种消息队列服务中间件,提供一套完整的信息生产、传递、消费的软件系统。 消息队列所涵盖的功能远不止于队列(Queue),其本质是两个进程传递信息的一种方法。两
博文视点Broadview
2023/05/19
5170
白话讲解:消息队列到底解决了什么问题?
Yate教程1
From:http://yate.null.ro/pmwiki/index.php?n=Main.CppTutorial1 Yate可分为两个部分     * Yate内核     * Yate模
雪影
2018/08/02
8170
大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议收藏)
Linux是大数据中的基础,无论是运维或开发,都免不了要学,而且学的越扎实越好,下面为大家带来Linux学习笔记
Maynor
2021/06/29
1.7K0
微信公众号模板消息
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
神葳
2021/01/22
4.6K0
推荐阅读
相关推荐
SAP—IDoc操作步骤
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验