JavaSE语法基础(3)---函数、数组
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)---函数、数组的更多相关文章
- Swift语法基础入门二(数组, 字典, 字符串)
Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...
- JAVA语法基础之函数的使用说明
- -1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义
Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class ...
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
- C语言基础语法之指向函数的指针
指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...
- JavaScript基础之函数与数组
函数 函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...
- Java06-java基础语法(五)数组
Java06-java基础语法(五)数组 一.循环的嵌套 在一个循环体内部再含有一个或多个循环 强调:内循环全部做完以后再去执行下一次的外循环 int k = 0; for(int i = 0; i& ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
随机推荐
- 火狐浏览器导出EXCEL 表格,文件名乱码问题
牢骚:今天又是一个不太平的日子,打开任务表一看里面有一堆bug,其中有一个就是今天要说的这个关于商品导出的问题,本功能是临时授命接一个任务,本来呢这个导出功能在系统各大模块已经都很成熟了,但是总有一个 ...
- eclipse Maven配置
①下载:http://maven.apache.org/download.cgi ②解压至:F:\Study\apache-maven-3.5.2 ③配置环境变量 变量名:M2_HOME 变量值:F: ...
- 面向对象的线程池Threadpool的封装
线程池是一种多线程处理形式,预先创建好一定数量的线程,将其保存于一个容器中(如vector), 处理过程中将任务添加到队列,然后从容器中取出线程后自动启动这些任务,具体实现如下. 以下是UML图,展示 ...
- JDBC异常之数据库表不存在
JDBC异常之数据库表不存在 1.具体错误如下: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'YHD.t_yhd_ ...
- PL/SQL NOCOPY限制模式
NOCOPY模式用于限定OUT模式和IN OUT模式在调用时是不是以传引用的方式进行. 默认情况下,OUT模式和IN OUT模式的参数是以传值的方式进行调用的. IN模式总是以传引用的方式,如果用NO ...
- Eclipse设置内存大小
Eclipse设置内存大小 1.修改Eclipse的配置文件 (1)打开Eclipse目录 (2)以EditPlus打开eclipse.ini,修改"-Xms40m -Xmx512m&qu ...
- Communications link failure异常解决
一,异常现象 com.bill99.inf.ibatis.DBException: queryForList error::sqlId=orgOrderAssetsMapping.queryModel ...
- POJO
简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其gett ...
- Labview中嵌入flex/flash
将flash动画作为ActiveX文档插入LabVIEW程序的前面板的方法 (1)在前面板插入Controls的ActiveX Container控件. (2)在Container控件上单击鼠标右键, ...
- 【BZOJ1934】善意的投票(网络流)
[BZOJ1934]善意的投票(网络流) 题面 Description 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己 ...