JAVA 学习笔记 - 基础语法 2
---恢复内容开始---
1.数组的申明和应用
数据类型 数组名称[] = null; //在堆栈中申明变量名称
数组名称 = new 数据类型[10]; //通过new关键字,告诉编译器要在堆中创建一个10个单位的空间。

2.数组的静态初始化
int score[] = {90,91,92,93,94,95};
int score[][] = {{89,90,}{91,92},{93,94,95}
二维数组静态初始化时,如果每行长度不一样,短的行不赋值的单位将不在数组的范围内。
for(x=0;x<score.length;x++){ //第一纬的长度为 变量名称.length (表示包括几行,几个元素)
for(j=0;j<score[x].length,j++){ //第二纬的长度为 变量名称[x].length (表示每行几个元素)
System.out.print("score[+"x"+]+"["+y+"] = ", score[x][y]+"\t");
}
System.out.println("");
}
输出结果为:
89 90
91 92
93 94 95
2.方法的申明和使用
方法是可以被重复调用的代码段。
方法重载,函数名相同,根据不同的参数类型,参数数量做不同的处理,返回值类型也有可能会不同。
如果参数相同,只是返回值不同,不能算重载 ,编译器将报错。
与方法覆盖的区别:
方法覆盖,应该是子类将父类的函数进行重写。
方法重载,是一个类中多个同名的函数,根据参数类型,参数数量不同而做不同的处理。
return 除了返回函数结果外,另外一个作用是结束函数。
方法的递归调用,函数实现过程中,调用自身。
3.数组的引用传递(方法中的参数为数组引用)
在此类情况下,方法对于参数值的修改,将会在数组中保存。

如下图所示,为整个内存状态的变化过程。

方法除了接受数组引用外,也可以返回一个数组。

int temp[] ,int ss[] 这些都是数组引用,存储在栈中。通过int temp[] = fun();使得temp和ss指向同一个堆中的内存空间。
以上这段代码,为数组引用传递的一个例子。
java 提供一个针对数组的方便排序方法,针对不用数据类型的数组都可以排序。

java还提供了一个数组间的拷贝函数

总结,数组的引用传递,传递的是对内存的使用权。可以将一个数组传递到方法中,传递时,不需要写[]之前写数组名字即可。
方法中对数组所做的修改都会被保留下来。
4.java新特性对数组的支持
可变参数,在调用方法的时候可以任意多的传递参数。
申明格式 返回值类型 方法名称(参数类型... 参数名称){}
函数对于可变参数的处理,可以按照数组参数来使用,如下图所示,循环时可以用arg.length来计算总共有多少参数。

foreach输出

具体例子语句如下图:

---恢复内容结束---
JAVA 学习笔记 - 基础语法 2的更多相关文章
- Java学习笔记-基础语法Ⅳ
多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现: ...
- Java学习笔记-基础语法
Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键 ...
- Java学习笔记-基础语法Ⅹ-进程线程
学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import ...
- Java学习笔记-基础语法Ⅷ-泛型、Map
泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...
- Java学习笔记-基础语法Ⅴ
学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...
- JAVA 学习笔记 - 基础语法1
1. 类的定义 public class 与 class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致. 一个java文件可以有多个class定义,javac ...
- Java学习笔记-基础语法ⅩⅠ-UDP、TCP
网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...
- Java学习笔记-基础语法Ⅸ-文件
File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...
- Java学习笔记-基础语法Ⅶ-集合
集合 集合类特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 这里需要回顾一下,因为数组和字符串一旦创建,就不可改变,需要区分一下 import java.util.ArrayLi ...
随机推荐
- Application特征
1.位置:服务器内存,执行速度快2.使用范围:整个应用程序3.类型:任意类型4.声明周期:应用程序开始创建到销毁
- sum over使用方法,以及与group by的差别
1.sum over使用方法 sum(col1) over(partition by col2 order by col3 ) 以上的函数能够理解为:按col2 进行分组(partition ),每组 ...
- react 引入 百度地图API
使用 Echarts 的地图的时候,发现报错,说 Bmap api is not loaded 百度地图API没有加载 乍一想,Echarts 用的也是 百度地图 啊,没有引入百度地图,还用个啥,当然 ...
- C++new失败的处理(如果 new 分配内存失败,默认是抛出异常的,但也可以取消异常)
我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的.但是,如果你简单地 ...
- What does jQuery.fn mean?
n jQuery, the fn property is just an alias to the prototype property. The jQuery identifier (or $) i ...
- 我为什么从python转向go
应puppet大拿刘宇的邀请,我去西山居运维团队做了一个简短分享,谈谈为什么我要将我们的项目从python转向go. 坦白的讲,在一帮python用户面前讲为什么放弃python转而用go其实是一件压 ...
- bzoj4873
http://www.lydsy.com/JudgeOnline/problem.php?id=4873 最大权闭合子图... 建图: 1.d[i][j]:i->j区间的费用,d[i][j] & ...
- bzoj 1801: [Ahoi2009]chess 中国象棋【dp】
注意到一行只能放012个炮,我们只需要知道列的状态,不用状压行 所以设f[i][j][k]表示前i行有j列有1个炮,有k列有2个炮的方案数 然后分情况讨论转移就行了 #include<cstdi ...
- webapp填坑记录
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- Gamma阶段测试计划
前言 点击这一链接访问公课网(笨拙软件工程组). 一.Alpha阶段场景测试 1.1 鹿丸:无欲无求大三学生 保研无望 不在乎给分 只想选择干货多的课程 充实自己 需求和目标:了解各专业课程的授课内容 ...