1、变量
1.1局部变量
位置:定义在方法里/局部代码块中(for循环);
注意:必须定义值;
1.2成员变量
位置:定义在类里方法外;
注意:不用赋值,有默认值;
1.3各种类型变量的默认值
.
1.4 练习:局部变量与成员变量测试
package cn.tedu.basic;
/**本类用于测试成员变量和局部变量*/
public class TestVariable2 {
static int count;
/**成员变量:
1、定义在类里方法外,
2、不用初始化;
3、在整个类里都生效
用static修饰count,main方法里才能使用*/
static int sum=90;
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=100;//局部变量,定义在方法里,要初始化,只能在方法里使用
System.out.println(sum);//打印的值遵循就近原则
System.out.println(count);
for(int i=1;i<=10;i++) { //方法块,i只能在for循环中使用
System.out.println(i);
}
}
}
3、方法
3.1方法的定义格式
.
3.2、练习:测试方法的调用顺序/参数/返回值
package cn.tedu.method;
/**本类用于测试方法的入门案例*/
public class TestMethod {
public static void main(String[] args) {
/**我们使用方法名+参数列表的方式来使用方法的功能*/
System.out.println(999);
f1();
System.out.println(111);
f2(21);
}
/**修饰符 返回值类型 方法名 (参数) {方法体} */
//private表示f1方法只能在本类中使用
private static void f1() {
System.out.println(2);
System.out.println(3);
System.out.println(4);
}
private static void f2(int age) {
System.out.println("我今年"+age+"岁了");
}
}
3.3、方法的重载
package cn.tedu.method;
/**本类用于测试方法的重载*/
public class TestMethodOverload {
public static void main(String[] args) {
/**方法定义的格式:修饰符 返回值类型 方法名(参数列表) {方法体}*/
/**我们根据 方法名+参数列表 来确定调用哪个方法*/
method();
method(3);
method("刘杰",21);
method(21,"刘杰");//参数个数相同,对应位置参数类型不同
/**当参数个数不同时一定构成重载,当参数个数相同时可能构成重载,具体看对应位置的参数类型*/
}
private static void method(int age, String name) {
System.out.println(name+"今年"+age+"岁了~");
}
private static void method(String name, int age) {
System.out.println(name+"今年"+age+"岁了~");
}
private static void method(int i) {
System.out.println("我终于有参数了"+i);
}
private static void method() {
System.out.println("哈哈哈我没有参数~");
}
}