方法:
方法:一个功能,被{}包裹起来,便于重复使用
方式格式:
修饰符 返回值类型 方法名(参数类型 参数名,参数类型 参数名)
{
方法体;
return 返回值;
}
修饰格式解释:
修饰符:来限制这个方法的访问权限.目前我们不讲 只写死public static
返回值类型:
就是当你的方法执行完毕之后,需要返回给调用者的一个结果,这个结果需要一个明确的数据类型(其实就是这个方法返回的数据类型)
注:return 可以同来直接结束方法
方法结果由return带回,而且结果的数据类型必须和返 回值类型匹配
参数:
实际参数:就是进行参与运算的参数(调用时传递的参数)
形式参数:一般定义在方法上面,只用于接收实际参数的值
注:形参与实参尽量写一样的,这样子,在eclipse中,会自动显示形参,就可以直接用了(实参与形参一样也不影响)
方法体:就是这个方法里面需要执行的代码,可以放任意代码(除了类和方法)
注:方法里不能包含方法(方法和方法是平级关系,不能存 在嵌套),方法的调用只适用于同一个类 中,类要包含 别的类才行
补充:
在调用方法的地方,由方法名带回返回值,这时候就 会 开一个临时变量转载返回值。在子方法中,此时定义的变 量都失效,只有方法名具有效用
方法的执行特点:
不调用,不执行。
如何调用?
a.单独调用,一般来说 没有什么具体意义 因为返回值你没 有办法获取到
b.赋值调用,推荐使用 因为获取到的这个返回值 你可以无 限使用(涉及到前端,后台,数据的分工)。每个岗位之间 通过返回的代码进行沟通(后台尽量不要在子方法内写输出 语句,只需返回一个代码即可)
c.输出调用
如果没有明确返回值怎么办?
java提供了一个关键字:void
当你的方法没有返回值的时候,写上void即可,那么也不再 需要写return带回返回值(当然可以写return来结束方法)。
当你返回值为void的时候,只能使用单独调用来执行方法, 输出、赋值调用均不可用。
方法重载:
方法重载:
在同一个类当中,方法名相同,参数列表不同,与返回 值类型无关
参数列表不同:(long int 也属于不同类型)
参数个数不同 参数类型不同 参数顺序不同(可以 设一个闲置参数,以示区分,但是这个参数可以不用)
举例:
a(int i,int b) a(int i)
a(int i,char b,int c) a(int i,int b,int c)
a(int i,char b,int c) a(int i,int c,char b)
注:
在C++中,叫函数重载,但是实质一样
数组:
数组:一个能够存储N个同类型数据的容器,这种容器被 称之为数组。
格式:
a.数据类型[] 数组名; (java通常用这个,因为主方 法中,main(String[] args) 官方的做法是把[]放前 面)
b.数据类型 数组名[];
初始化:
a.动态初始化:只给数组指定长度,有系统给予默认值 (数字数组默认为0,其他默认为null)
b.静态初始化:只给出初始化值,由系统来决定长度
举例:
int [] arr = new int[20]; (动态初始化)
int [] arr = new int[] {15,35,36,37}; (静态初 始化)
注:
在java中,数组习惯从堆中new出来,具体什么时候回 收要等jvm的垃圾处理器了
int [] arr = new int[20]; (动态初始化)
arr装的是该数组在堆中的内存地址,arr在栈中没有地 址
数组的下标,也叫索引:格式:数组名[索引],java也 是用下标运算符访问数组的元素
在主方法与子方法的调用中,实参传arr(数组地 址),形参列表写 int [] arr(空数组,装载地 址)。
因此,java中子方法的传递时传址方式,会直接改变主 方法中的数组的值。
arr.length 可以获取数组的长度
string a;
a.length()可以获取字符串的长度(java的字符串没 有结束符)
拓展:
在java中,字符串比较应该用.equal("字符串")方 法,如果两个字符串相同,返回true,否则返回false
整个包里,只能有一个主方法,(方法与方法是平行 的,不能嵌套)
在java中,子方法通常写在主方法后,但是主方法调用 时不用提前声明子方法(嘻嘻,这个我喜欢!!明天再 来整理个超强的eclipse操作宝典,很好用)
注:在C++中,如果子函数写在主函数后,主函数必须 有子函数的声明才能调用
在堆中new出来的东西都会有初始值,C++,java都一样