day7--java方法详解
java方法详解
一、何谓方法
1. Java方法是语句的集合,它们在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
2.设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,最好保持方法的原子性,
二、方法定义及调用
方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值
}
如果方法返回一个值的时候,方法调用通常被当做一个值
如果方法返回一个void,方法调用一定是一条语句
方法分为值传递和引用传递
三、方法重载
重载就是在一个类中,有相同的函数名称但是形参不同的函数
方法的重载规则
-
方法名称必须相同
-
参数列表必须不同
-
返回类型可以相同,也可以不同
-
仅仅返回类型不同,不足以重载
四、命令行传参
有时候你希望运行一个程序的时候再传递给它消息,这要靠传递命令行参数给main函数实现
带包名还能执行
java com.java.base.Demo4
五、可变参数
在方法声明中,在指定参数类型后加一个省略号
一个方法中只能指定一个可变参数,并且只能是最后一个参数
public void test(char c,int... i){
}
六、递归
递归就是自己调用自己
利用递归可以用简单的程序来解决一些复杂的问题,它通
递归包含两部分
递归头:什么时候不调用自身方法 (边界条件)
递归体:什么时候调用自身方法 (前阶段)
int f(int n){
if(n == 1){
return 1;
}else{
return n*f(n-1);
}
}
返回阶段 n*(n-1)
一般不建议用
七、数组
-
数组概述
相同类型数据的有序集合
-
数组声明
dateType[] arrayname dateType arrayname[] int[] nums; -
数组使用new操作符来创建
arrayname = new dataType[arraySize] nums = new int[10];-
下标从0开始,合法区间[0,length-1]
-
获取数组的长度 arrayname.length
-
内存分析
- 堆 存放new对象
- 栈 存放基本变量类型,引用对象的变量
- 方法区 包含了所有的class和staic变量
-
静态初始化
int[] a ={1,2,3,4,5}; -
动态初始化
int[] a = new int[10]; a[0]=1; a[1]=2; -
数组的四个基本特点
- 其长度是确定的,一量被创建,它的大小就是不可改变的
- 元素必须是相同类型
- 元素可以是任何类型
- 数组变量属于引用类型
- 数组本身就是对象,数组元素相当于对象的成员变量
-
数组的使用
- for -each
- 数组可以做为方法的参数
- 数组可以做返回值
-
-
多维数组
多维数组可以看成是数组的数组
二维数组
int[][] a = new int[2][5]; -
Arrays类
Arrays.toString(a) //打印数组元素 Arrays.sort(a) Arrays.fill Arrays.equals Arrays.binarySearch -
冒泡排序
两层循环,外层冒泡轮数,里层依次比较
O(n2)
-
稀疎数组
当一个数组中大部分元素都为0,或者 为同一值的数组时,可以使用稀疎数组来保存该数组
处理方式:
-
记录数组一共有几行几行,有多少个不同值
-
把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

浙公网安备 33010602011771号