JavaSE语法基础(3)---函数、数组

 函数的概念:实现特定功能的一段代码,可反复使用。

 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作。

 函数的三要素:返回值、函数名、参数表

  

 

我们可以在类中,与main方法(函数)并行的位置定义一个函数,如果我们定义的函数由返回值类型,那么我们必须

要返回相应类型的值。如果函数的返回值类型是void,那么我们可以不需给予返回值,或者在函数中使用return ;结束函数。

调用函数时,会优先执行函数内部代码,结束后,返回到函数调用处,继续向下执行。

继续看这个源文件:

方法的重载:函数名(方法名)相同,参数列表中的参数的个数、位置、类型至少有一个不同。我们称其为方法的重载

方法重载与返回值、修饰符无关。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.数组

概念:一组连续的存储空间,存储多个相同数据类型的值。

数组中的每个数据格被称为 “ 数组元素 ”

对每个元素进行赋值或取值的操作被称为“ 元素的访问”

2.数组的创建(4种方法)

  • 先声明、再分配空间:

数据类型 [] 数组名;

数组名 = new 数据类型[ [ 长度 ];

  • 声明并分配空间:

数据类型 [] 数组名 = new 数据类型[ [ 长度 ];

  • 声明并赋值(繁):

数据类型 [] 数组名 = new 数据类型 []{ value1,value2,value3 ,...};

  • 声明并赋值(简):

数据类型 [] 数组名 = {value1,value2,value3,...}; // 显示初始化,注意:不可换行

3.数组的默认值

  • 整数:0
  • 小数:0.0
  • 字符:\u0000 (空格)
  • 布尔:false
  • 其他:null

4.数组的遍历

遍历:从头至尾,逐一对数组的每个元素进行访问。

数组名.length 可动态获得数组长度。

5.数组的扩容

创建数组时,必须显式指定长度,并在创建之后不可更改长度。

扩容的思路:

创建大于原数组长度的新数组。

将原数组中的元素依次 复制 到新数组中。

5.1 扩容方式

循环将原数组中所有元素逐一赋值给新数组。

System.arraycopy( 原数组, 原数组起始, 新数组, 新数组起始, 长度 );

java.util.Arrays.copyOf( 原数组 ,新长度 ); // 返回带有原值的新数组。

5.2地址的替换

数组作为引用类型之一,其变量中存储的是数组的地址。

完成元素复制后,需将新数组地址,赋值给原变量进行替换。

6.可变长参数

概念:可接收多个同类型实参,个数不限,使用方式与数组相同。

语法:数据类型 ... 形参名 // 必须定义在形参列表的最后,且只能有一个。

7.数组的排序

冒泡排序:相邻的两个数值比较大小,互换位置。

选择排序:固定值与其他值依次比较大小,互换位置。

JDK 排序: java.util.Arrays.sort( 数组名 ); //JDK 提供(升序)

8.二维数组

概念:一维数组中的一维数组;数组中的元素,还是数组。

8.1创建语法

  • 先声明、再分配空间:

数据类型 [][] 数组名;

数组名 = new 数据类型[ [ 高维长度 ][ 低维长度 ];

  • 声明并分配空间:

数据类型 [][] 数组名 = new 数据类型[ [ 高维长度 ][ 低维长度] ]; ;

  • 声明并赋值(繁):

数据类型 [][] 数组名 = new 数据类型[ [ 高维长度 ][] ; // 不规则数组,自行 new 低维数组

  • 声明并赋值(简):

数据类型 [][] 数组名 = { { v1,v2,v3},{v4,v5},{v6,v7,v8,v9} }; //显式初始化,不可换行.

8.2内存分配

高维数组中的每一个元素,保存了低维数组的地址。

8.3二维数组的访问

访问低维长度:array[0].length 首个低维数组的长度

访问低维数组元素:array[0][0] 首个低维数组的首个元素

 二维数组的应用:杨辉三角

JavaSE语法基础(3)---函数、数组的更多相关文章

  1. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  2. JAVA语法基础之函数的使用说明

  3. -1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义

    Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class ...

  4. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  5. C语言基础语法之指向函数的指针

    指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...

  6. JavaScript基础之函数与数组

     函数    函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...

  7. Java06-java基础语法(五)数组

    Java06-java基础语法(五)数组 一.循环的嵌套 在一个循环体内部再含有一个或多个循环 强调:内循环全部做完以后再去执行下一次的外循环 int k = 0; for(int i = 0; i& ...

  8. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  9. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

随机推荐

  1. 搬砖的也能学Python----if - elif 语句

    引入:如果平时执行的过程超过两个分支,则使用if-elif语句 if-elif 语句结构 if 判断条件: 要执行的代码 elif 判断条件: 要执行的代码 -- else: 要执行的代码 判断条件: ...

  2. Redis多服务器负载均衡的实现

    集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. 上图是三个主服务 ...

  3. RTLinux编程总结

    做过一个有关RTLinux的项目,时间一长,差不多忘光了,现在尽量把原来做过的东西总结一下,以备后用,同时正在做类似项目的一个借鉴平台主机:redhat 8.0目标机:PC104模块.ISA总线脉冲输 ...

  4. OkHttp使用教程——网络操作之OkHttp, Volley以及Gson

    写这篇文章的动机 在安卓项目中有一个问题可能无法避免:网络.不管你是加载图片,请求API数据还是从因特网上获得一个字节,你都是在使用网络. 鉴于网络在安卓中的重要性与基础性,当今安卓开发者面临的问题之 ...

  5. 关于用wubi安装Ubuntu,总是提示“没有定义根文件系统”的问题

    用diskgenius测试一下分区问题,就发现一些错误,所以怀疑可能就是因为这个分区参数错误导致WUBI安装不成功,费了大力气转移数据后,重新对硬盘分区,这里称赞一下diskgenius,的确不错,当 ...

  6. iOS - Quartz 2D 画板绘制

    1.绘制画板 1.1 绘制简单画板 PaintBoardView.h @interface PaintBoardView : UIView @end PaintBoardView.m @interfa ...

  7. iOS - Mac 常用设置

    1.Finder 中显示资源库 方法一: 在 "终端" 中输入下面的命令: 显示: $ chflags nohidden ~/Library/ 隐藏: $ chflags hidd ...

  8. [BZOJ2743] [HEOI2012] 采花 (树状数组)

    Description 萧芸斓是Z国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一 ...

  9. (3)Deep Learning之神经网络和反向传播算法

    往期回顾 在上一篇文章中,我们已经掌握了机器学习的基本套路,对模型.目标函数.优化算法这些概念有了一定程度的理解,而且已经会训练单个的感知器或者线性单元了.在这篇文章中,我们将把这些单独的单元按照一定 ...

  10. 关系型数据库工作原理-查询优化器之数据访问方式(翻译自Coding-Geek文章)

    本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...