java_day4_数组、方法

news/2024/9/24 20:21:24/文章来源:https://www.cnblogs.com/w-ll/p/18429925

一、数组

一维数组

数组:是一块连续固定大小的内存空间,有着索引的概念定义数组的语句格式:数据类型[] 数组名;【推荐】数据类型 数组名[];如果只是定义一个数组的话,没有给初始化值,相当于一个变量没有值,是不能够直接使用的
如何对一个数组进行初始化?1、动态初始化:我们自己给定数组的大小,数组中的默认值由JVM来赋值2、静态初始化:我们自己给元素值,由JVM根据我们给的值数量来设置数组的大小动态初始化语句定义格式:数据类型[] 数组名 = new 数据类型[元素的个数];
    数组的静态初始化:数据类型[] 数组名 = new 数据类型[]{元素1,...};举例:int[] arr1 = new int[]{11,22,33,44,55};简化写法:数据类型[] 数组名 = {元素1,...};
    1、当基本数据类型当作参数传递的时候,传递的是具体的数值,不会对原本的变量值进行修改影响2、当引用数据类型当作参数传递的时候,传递的是地址值,方法内部可能会对地址值对应的堆内存空间中的数值进行修改。

二维数组

二维数组:元素是一维数组的数组
语句定义格式1:数据类型[][] 数组名 = new 数据类型[m][n];举例:int[][] arr = new int[2][3];表示创建了一个元素是int类型的二维数组,其中二维数组中有两个一维数组,每一个一维数组中的元素个数是3。语句定义格式2:数据类型[][] 数组名 = new 数据类型[m][];举例:int[][] arr = new int[2][];arr[0] = new int[]{11,22,33,44};arr[1] = new int[]{100,200};语句定义格式3:数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,...},{元素1,...},...};举例:int[][] arr = new int[][]{{11,22,33,44},{100,200}};简化写法:数据类型[][] 数组名 = {{元素1,元素2,...},{元素1,...},...};举例:int[][] arr = {{11,22,33,44},{100,200}};今后可能会遇见的写法:
1、int[] arr[] = {{11,22,33,44},{100,200}};  √
2、int arr[][] = {{11,22,33,44},{100,200}};  √
3、int [] [] arr = {{11,22,33,44},{100,200}}; √
4、int[][] arr = new int[][]{{11,22,33,44},{100,200}}; √【规范写法】
5、int[][] arr = new int[2][]{{11,22,33,44},{100,200}}; ×
public class ArrayDemo1 {public static void main(String[] args) {//定义一个存储int类型元素的数组//数据类型 变量名 = 初始化值;int[] arr = new int[3];/*左边:int: 表示该数组中元素的数据类型,需要一致[]: 表示一个一维数组arr:是数组名,符合标识符变量的命名规则右边:new:将来看到new,表示在堆内存中开辟一个空间int: 表示该数组中元素的数据类型,需要一致[]: 表示一个一维数组3: 表示该数组最大只能存储3个int类型的元素*/System.out.println(arr); // [I@4554617c 地址值【16进制】//数组有索引的概念,从左向右,索引下标从0开始编号,我们可以通过这个索引下标来定位到具体位置的元素//语法格式:数组名[索引]//获取数组中的第一个元素int i = arr[0];System.out.println(i);//获取数组中的第二,三个元素System.out.println(arr[1]);System.out.println(arr[2]);//我们以后使用数组的时候,肯定是希望将我们自己元素值放在数组中//将数组第一个元素值进行修改arr[0] = 100;System.out.println(arr[0]);}
}

二、方法

 方法的定义:语句定义格式:修饰符 返回值类型 方法名(参数类型 参数名,...){方法实现逻辑代码;return 返回值;}名词解释:修饰符:public static  这两天只需要记住一个固定写法即可,后面学习过程中会改变这个修饰符返回值类型:将来调用者调用完方法后所得到的内容方法名:符合标识符的命名规则,将来通过方法名来确定调用的方法类型参数:形式参数【形参】:指的是在方法定义的小括号中的参数名实际参数【实参】:指的是将来实际调用方法时所传入的具体的值方法实现逻辑代码:调用方法要干的事情return:用于结束整个方法,将结果返回给调用者。返回值:将来方法调用完,需要返回给调用者的值。需求:定义一个求两个int类型的数之和的方法注意:1、方法和方法之间是平级关系,方法不能嵌套定义2、方法不调用不执行3、方法调用的时候,只需要传值就可以,不需要写数据类型4、若方法有返回值的话,需要使用变量接受该返回值,或直接使用5、如果方法有明确的返回值,一定要有return带回一个值,且类型和定义时返回值类型保持一致【或父子关系】
//需求:定义一个求两个int类型的数之和的方法
public class FunctionDemo1 {public static void main(String[] args) {int a = 3;int b = 4;System.out.println(sum(a,b));}public static int sum(int a,int b){int c = a+b;return c;}
}

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

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

相关文章

JAVA的字符串这篇讲清楚了

JAVA_String 从概念上讲,JAVA字符串就是Unicode序列。例如"Java\u2122"由5个UNICODE字符J,a,v,a和™组成。Java没有内置和字符串类型,而是试用java标准库中提供的一个预定义类,很自然地叫做了string。 子串substring String subStr = str.substring(beginIndex);这…

任务4:制作二维码

该二维码链接到游戏“植物大战僵尸”,寓教于乐。 提升趣味性和互动性的同时,学生们参与到课堂当中,发挥主体作用,感受到自然界植物的多样性,对土壤的作用有了更深刻的理解。

封装的练习题目1

1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。 要求: 1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问 2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认…

五款免费可视化工具全解析:选择你的最佳搭档

1. 山海鲸可视化 介绍: 山海鲸可视化是一款免费的国产可视化报表软件,与许多其他宣传免费的软件不同,山海鲸的报表功能完全免费并且没有任何限制,就连网站管理后台这个功能也是免费的。同时山海鲸可视化还提供了种类丰富的可视化图表、三维模型、模板可供使用,软件采用点击…

408OS_PV操作大题总结

咸鱼今年压了读者写者问题,前几年没考过。死锁的四个条件是:禁止抢占(no preemption):系统资源不能被强制从一个线程中退出。 持有和等待(hold and wait):一个线程在等待时持有并发资源。持有并发资源并还等待其它资源,也就是吃着碗里的望着锅里的。 互斥(mutual exc…

2024.9.24 思维导图与PDF

哈哈哈终于有我也用过的东西啦~Xmind一款打工人用了都说好的软件(#.#) 【知识小课堂1】不同款式的思维导图:【知识小课堂2】PDF转换器! 1、PDF(便携式文档格式),这种文件格式与操作系统平台无关 —— PDF文件不管是在Windows还是别的操作系统中都是通用的。 2、这一特点使它…

如何设计一个伪无埋点的框架?

主要基于无埋点的缺点,来设计一个伪无埋点的框架,使得业务既可以拥有无埋点的特性,又能满足业务的数据分析需求本文同步发布于公众号:移动开发那些事如何设计一个伪无埋点的框架 在前面的文章:Android无埋点技术概览 中提到传统的无埋点有几大缺点:埋点字段有限,没有办法…

吴恩达机器学习课程 笔记4 分类 逻辑回归

逻辑回归 机器学习中的逻辑回归(Logistic Regression)是一种广泛使用的分类算法,尽管它的名字中包含“回归”这个词,但实际上它主要用于解决分类问题,特别是二分类问题。逻辑回归模型可以用来预测某一类事件发生的概率,例如预测用户是否会点击广告、病人是否患有某种疾病…

设计模式之中介模式(三分钟学会一个设计模式)

中介模式(Mediator)又称之为调停模式。mediator [ˈmiːdieɪtə(r)] n. 调停者;斡旋者;解决纷争的人(或机构); 本意就是解决纠纷的中间人它是面向对象六大原则中最少知道原则的一个典型应用。(关于面向对象六大原则,可看前文:https://www.cnblogs.com/jilodream/p/535351…

Large Vision Model

LVM https://yutongbai.com/lvm.html https://zhuanlan.zhihu.com/p/671423679Large Vision Model(简称LVM)是一种纯粹基于视觉数据进行训练和推理的大型模型,其特点在于无需涉及任何自然语言输入或输出。该模型的提出源自一篇由UC Berkeley的三位计算机视觉专家联合撰写的论…