从零开始学JAVA-数组和方法篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

目录

文章目录

前言

一、数组是什么?

1.格式

2.动态初始化 

 3.元素的访问

4.静态初始化

 5.数组的遍历

6.常见问题

二、方法

1.什么是方法

2.方法定义和调用

3.带参数方法的定义和调用

4.实参和形参

总结


前言

Java中的数组是一种基础的数据结构,用于存储相同类型的有序元素集合。方法则是一段实现特定功能的代码块,可接受输入参数并可能返回结果


提示:以下是本篇文章正文内容,下面案例可供参考

一、数组是什么?

数组概述:一次性声明大量的用于存储数据的变量;这些要存储的数据通常都是相同类型数据。例如:全班同学的考试成绩。

数组:是一种用于存储多个相同类型数据的存储模型。

1.格式

范例1: 推荐使用
定义格式1:数据类型[] 变量名
int[] arr ; 
//含义:定义了一个int类型的数组,数组名是arr;
范例2:
定义格式2
数据类型 变量名[]
int arr [];
//含义:定义了一个int类型的变量,变量名是arr数组;

2.动态初始化 

1.数组初始化概述:Java中的数组必须先初始化,然后才能使用;初始化就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
2.数组初始化方式:动态初始化、静态初始化
3.动态初始化:初始化时只指定数组长度,有系统为数组分配初始值
4.动态初始化格式:
数据类型[] 变量名 = new 数据类型[数组长度];
        /*** 1.* 左边* int[]* int 说明数组中的元素数据类型是为int类型* [] 说明是一个数组* 2.* arr 数组的变量名称* 3.右边* int说明数组中的元素数据类型是为int类型* []数组中初始化的元素个数 3**/int[] arr = new int[3];

 3.元素的访问

1、数组变量的访问方式: 数组名
2、数组内部保存的数据的访问方式: 数组名[索引] //编号从0开始
3、索引:索引是数组中数据的编号方式,作用就是用于访问数组中的数据,数组名[索引]等同于变量名,是一种特殊的变量名;索引从0开始,是连续的,逐一增加,每次加一
4、例子: System.out.println(arr[0]); //访问数组的第一个元素

4.静态初始化

静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...};
举例:int[] arr = new int[]{1,2,3};简化格式:数据类型[] 数组名 = {元素1,元素2,元素3,...};
int[] arr = {1,2,3};

 5.数组的遍历

格式:数组名称.length(数组长度)
案例:arr.length
public class ArrLength {public static void main(String[] args) {int[] arr2 ={1,2,3};//定义了静态数组初始化for (int i= 0;i<3;i++){ //使用for循环中的(i<3),需要知道数组的个数,若是成百上千个太麻烦System.out.println(arr2[i]);//打印数组中的元素}System.out.println("…………………");for (int i=0;i<arr2.length;i++){System.out.println(arr2[i]);}}
}

运行结果

1
2
3
…………………
1
2
3进程已结束,退出代码为 0

6.常见问题

数组操作的两个常见小问题:
ArrayIndexOutOfBoundsException:数组索引越界异常----原因:你访问了不存在的索引。
NullPointerException:空指针异常----------原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。

二、方法

1.什么是方法

方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。

1.方法必须先创建才可以使用,该过程成为方法定义;

2.方法创建后并不是直接可以运行的,需要手动使用后才执行,该过程成为方法调用;

2.方法定义和调用

方法定义:

格式:

public static void 方法名 () {

// 方法体;

}

范例:

public static void mayikt () {

// 方法体;

}

方法调用:

格式:方法名称();

范例:mayikt();

注意:方法必须先定义后才可以调用,否则程序将会报

3.带参数方法的定义和调用

带参数的定义:

格式:   public static void 方法名(参数){...}

格式:单个参数:   public static void 方法名(数据类型 变量名称){...}

范例:单个参数:   public static void 方法名(int a){...}

格式:多个参数:   public static void 方法名(数据类型 变量名称,数据类型 变量名称,....){...}

范例:多个参数:   public static void 方法名(int a,int b){...}

注意事项:

1.方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错

2.多个参数之间使用逗号(,)分隔

带参数的方法调用:

格式:   public static void getMax(int a,int b){...}

带参数方法调用格式方法名(参数);

单个参数方法名(变量名/常量值); 例如getNumber(20)

多个参数方法名(变量名1/常量值1,变量名2/常量值2); 例如getMax(10,20)

方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错

4.实参和形参

形参:方法定义中的参数

等同于变量定义格式,例如:int a;

实参:方法调用中的参数

等同于使用变量或常量,例如10,a,b

public static 返回值类型 方法名(参数){方法体;return 数据;
}
1.public static 修饰符
2.void 返回值类型,方法操作完毕之后返回的数据的数据类型;如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
3.方法名  调用方法时候使用的标识
4.参数  数据类型和变量名组成,多个参数之间用用逗号隔开
5.方法体  完成功能的代码块
6.return 如果方法操作完毕,有数据返回,用于把数据返回给调用者
定义方法时,明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型;明确参数的类型和数量

总结

综上所述,Java数组是存储同类型数据元素的基础数据结构,而方法是实现具体功能的基本代码单元。掌握它们的使用对于编写结构化且高效的Java程序至关重要。

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

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

相关文章

华为RH2288 V3安装 Linux 系统,安装过程心得

带着U盘&#xff0c;怀着激动的心情进入机房安装操作系统&#xff0c;结果没有显示器和键盘鼠标&#xff0c;傻眼了。 作为过来人&#xff0c;温馨提醒&#xff0c;进入机房前记得先打听&#xff0c;准备好这些&#xff1a;机房房间号、机柜编号、物理机编号、键盘、鼠标、显示…

ShareX,屏幕截图、屏幕录制和文件共享,还提供了丰富的高级功能和自定义选项

ShareX是一个免费开源的Windows应用程序&#xff0c;用于屏幕截图、屏幕录制和文件共享。它不仅支持基本的屏幕截图功能&#xff0c;还提供了丰富的高级功能和自定义选项&#xff0c;使其成为提高工作效率和截图体验的利器。以下是ShareX v16.1.0便携版的主要功能和特色&#x…

别再滥用std::async了,strace命令暴露了一个乱开线程问题

用strace查看进程的系统调用后&#xff0c;发现一个std::async滥用问题 问题现象 进程的系统调用clone次数持续增加 使用工具strace发现进程clone系统调用过多且一直在增加 strace -c -p PID问题分析 clone在做什么&#xff1a;创建进程&#xff08;线程&#xff09; 查看…

【吊打面试官系列-Mysql面试题】什么是存储过程?用什么来调用?

大家好&#xff0c;我是锋哥。今天分享关于 【什么是存储过程&#xff1f;用什么来调用&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 什么是存储过程&#xff1f;用什么来调用&#xff1f; 答&#xff1a;存储过程是一个预编译的 SQL 语句&#xff0c;优点是…

昇思25天学习打卡营第4天|数据变换(Transforms)

一、简介&#xff1a; 数据变换是指将已有的数据转换成可以提供给模型直接训练和验证的数据格式&#xff0c;在深度学习中一般被称为数据预处理&#xff0c;之前在昇思25天学习打卡营第3天|数据集Dataset-CSDN博客 介绍数据集的时候已经有了一个简单的使用&#xff0c;下面将具…

docker 基本用法及跨平台使用

一、Docker的优点 docker 主要解决的问题就是程序开发过程中编译和部署中遇到的环境配置的问题。 1.1 Docker与其他虚拟机层次结构的区别** 运行程序重点关注点在于环境。 VM虚拟机是基于Hypervisor虚拟化服务运行的。 Docker是基于内核的虚拟化技术实现的。 1.2 Docker的技…

基于uniapp的h5接入企业微信客服在线聊天

首先说下企业微信接入场景,支持的接入场景有以下几种,基本上涵盖了微信生态大部分场景: 接入步骤 1.创建企业微信号 按照官方操作步骤注册,需要注意的是未认证仅支持接入100人,已认证支持接入2000人. 2.创建客服账号 每个客服账号支持配置人工或是机器人或是人工机器人回复…

分享uniapp + Springboot3+vue3小程序项目实战

分享uniapp Springboot3vue3小程序项目实战 经过10天敲代码&#xff0c;终于从零到项目测试完成&#xff0c;一个前后端分离的小程序实战项目学习完毕 时间从6月12日 到6月22日&#xff0c;具有程序开发基础&#xff0c;第一次写uniapp,Springboot以前用过&#xff0c;VUE3也…

C++ (week8):数据库

文章目录 一、数据库简介1.数据库2.MySQL(1)数据库的结构(2)MySQL的三种使用方式(3)命令行(4)Navicat Premium 二、SQL1.SQL (Structured Query Language)&#xff0c;即结构化查询语言2.数据定义语言 DDL (Data Definition Language) &#xff0c;创建、修改、删除数据库、表结…

dex文件结构(二):dex文件加载基本原理

return mClassLoader; } 1.3 ApplicationLoaders.getClassLoader public ClassLoader getClassLoader(String zip, String libPath, ClassLoader parent){ //Class.getSystemClassLoader返回的是一个PathClassLoader //baseParent是BootClassLoader ClassLoader basePare…

刷代码随想录有感(113):动态规划——爬楼梯plus

题干&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std;int main(){int n,m;cin>>n>>m;vector<int>dp(n 1, 0);dp[0] 1;for(int j 0; j < n; j){for(int i 1; i < m; i){if(j > i)dp[j] dp[j - i];}}cout<&…

2001NOIP普及组真题 1. 数的计数

线上OJ&#xff1a; 【01NOIP普及组】数的计数 核心思想&#xff1a; 1、样例中给到了 f[6] 6。其实这里包含了 f[3]2&#xff0c; f[2]2, f[1]1, 以及6本身。 注解&#xff1a;按照题意&#xff0c;6前面的数字只能是3,2,1&#xff0c;或者不放&#xff08;不放就是6本身&am…

Python爬虫实战:批量下载网站图片

1.获取图片的url链接 首先&#xff0c;打开百度图片首页&#xff0c;注意下图url中的index 接着&#xff0c;把页面切换成传统翻页版&#xff08;flip&#xff09;&#xff0c;因为这样有利于我们爬取图片&#xff01; 对比了几个url发现&#xff0c;pn参数是请求到的数量。…

Admin

目录 1、 Admin 2、 Contact 3、 Registration 4、 Course Admin

6.22面试问题【1】长链表排序选择归并还是快排

先问快排和归并的思路&#xff1f; 快速排序 快速排序的基本思想是通过一个划分操作&#xff0c;将待排序的数组分为两个部分&#xff0c;其中一部分的所有数据都比另一部分的所有数据要小&#xff0c;然后再递归地对这两部分数据分别进行快速排序&#xff0c;整个排序过程可以…

cocos 如何使用九宫格图片,以及在微信小程序上失效。

1.在图片下方&#xff0c;点击edit。 2.拖动线条&#xff0c;使四角不被拉伸。 3.使用。 其他 在微信小程序上失效&#xff0c;需要将packable合图功能取消掉。

IOS Swift 从入门到精通: 类和继承

文章目录 创建自己的类类继承覆盖方法final 类复制对象反初始化器可变性总结 创建自己的类 类与结构类似&#xff0c;因为它们允许您创建具有属性和方法的新类型&#xff0c;但它们有五个重要的区别&#xff0c;我将逐一介绍每个区别。 类和结构体之间的第一个区别是&#xf…

速度测试分析软件MySpeed

什么是 MySpeed &#xff1f; MySpeed 是一款速度测试分析软件&#xff0c;可记录您长达 30 天的互联网速度。使用 MySpeed&#xff0c;您可以轻松生成有关速度、ping 等的清晰统计数据。配置运行状况检查&#xff0c;以便在出现错误或停机时通过 Gotify、Discord、WhatsApp 或…

海报设计师的福音来了,微软联合清华北大提出Glyph-ByT5-v2,可支持多国语言图文海报生成,效果惊艳!

清华&北大&微软&利物浦大学联合提出Glyph-ByT5-v2这款工具支持多语言图文生成&#xff0c;包括英语、中文、日文、韩文、法文、德文、西班牙文、意大利文、葡萄牙文和俄文。 以下分别展示中、英、日、韩图文的视觉文本结果一起带大家感受一下。 相关链接 论文地址…

Linux源码阅读笔记03-调度器及CFS调度器

调度器 调度器&#xff1a;Linux内核中用来安排调度进程&#xff08;一段程序的执行过程&#xff09;执行的模块成为调度器&#xff0c;他可以切换进程状态。比如&#xff1a;执行、可中断睡眠、不可中断睡眠、退出、暂停等&#xff1b; 调度器的主要职责&#xff1a;选择某些…