Java笔记(1):进制表示、Equals、For each循环、方法基础
进制表示
二进制0b 十进制 八进制0 十六进制0x
例:
1 | int i = 10; |
out:
1 | 10 3 16 |
Equals
.equals
方法可以用来判断字符串是否相等。
例:
1 | String str = "Hello"; |
For each循环
for each element in a:循环A中的每一个元素。
主要用于数组或集合的增强型for循环。
例:
1 | int[] nums = {10, 20, 30}; |
方法基础
基本定义
Java的方法跟其他语言的函数类似。
方法的结构:
1 | 修饰符 返回值类型 方法名(参数类型 参数名){ |
修饰符
访问控制修饰符
default (即默认,什么也不写):在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private:在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public:对所有类可见。使用对象:类、接口、变量、方法
protected:对同一包内的类和其所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。实际上protected
的成员,有两种可见:
- 父类的
protected
成员是包内可见的,并且对子类可见; - 若子类与父类不在同一包中,那么在子类中,子类实例可以访问其从父类继承而来的
protected
方法,而不能访问父类实例的protected
方法。
Father:
1 | package cn.icewindy.base; |
Son:
1 | package cn.icewindy.test; |
非访问修饰符
static:用来修饰类方法和类变量。详细请看笔记(三)
final:用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract:用来创建抽象类和抽象方法。
synchronized、volatile :主要用于线程的编程。
方法的重载
在同一个类中,有相同的函数名字,但形参不同的函数。
例:构建一个比较大小的方法max
1 | public static void main(String[] args) { |
方法重载的规则:
- 方法名称必须相同。
- 参数列表必须不同。
- 返回值类型可以相同,也可以不同。
- 仅仅返回值不同不构成方法的重载。
可变参数
Java支持传递同类型的可变参数给一个方法。
使用方法:
在方法声明中,在指定参数类型后加一个省略号(…) 。
1 | 参数类型... 参数名 |
注意:一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
例:
1 | public class DemoVarargs { |