方法
方法就像C语言的函数,用来简化代码用的
定义格式
| 1 | 修饰符(如public static) 返回值类型 方法名(参数){ | 
返回值
- 如果类型为void可以不需要返回值
- 通过return可以有一个返回值,要与返回值类型相同
参数
- 基本数据类型只传值(不会破坏元数据)
- 引用数据类型是传引用(破坏原数据)
当我们需要的参数不确定,或则很多时,方法重载就不适用了,可变参数有两种形式
可变参数
| 1 | package com.manu.parameter; | 
数组参数
| 1 | package com.manu.parameter; | 
注意
- 可变参数的是个数可变
- 在调用方法时,如果可变参数方法和固定参数方法重复的话,优先固定参数
- 一个方法只能有一个可变参数,而且放在最后- (int a, String... s)
 
单元测试
Junit
在写大型程序时,肯定是写一些代码测试一些代码,不可能再把所有代码运行一遍
在eclipse里面添加Junit库后在方法前面添加注解@Test即可进行单元测试
添加方法:eclipse的Project Explorer右键–>Build Path–>Configure Path–>Java Build Path–>Libraries–>Moudlespath–>add Library–>classpath–>Junit
方法重载(reload)
也就是方法名可以一样,但参数不能一样
判断方法是否重复要看方法名+参数,两者一样才算重复
比如
| 1 | public static void Method(){ | 
程序健壮
不容易崩溃的程序才叫健壮
一般需要加上很多判断条件才能让程序不容易崩溃
枚举
功能:通常1,2,3,4标识代码里面的角色时,但就这样的话代码变得难读,而枚举就是为了增加代码可读性
示例
| 1 | package com.manu.student03; | 
类型
相当与上面的简化
| 1 | package com.manu.student03; | 
| 1 | package com.manu.student03; | 
遍历
| 1 | for(Season s : Season.values()) { | 
toString()
- 所有类都继承java.lang.Object
- 它有一个toString()方法可以显示内存地址
- 利用eclipse可以重写toString()方法(显示所有成员)
比较
- ==比较的是引用
- equals比较的是数据
- 有时候还是要重写equals进行对象之间的比较
jar库
- 就是一个压缩包,里面包含类
- 用户也可以生成jar包
Scanner
- hasNextxxx可以用来判断输入的是不是xxx类型的
StringBuff
- 相对与String字符占多少申请多少空间,String是直接申请很多空间
- String虽然也可以通过+将字符组拼,但那会重新申请内存,将字符“搬”到里面去,比较费时间
- StringBuff有一个默认的容量,他会根据你的字符进行扩容,扩容时改变指向,容量通常X2
StringBuilder
- 基本和StringBruff相同
不同
- StringBuilder线程不安全,性能略高
- StringBuff线程安全,性能相对低
字符串在JDK9之前使用char(2字节)存储,JDK9使用byte存储