目 录
(一)变量
(一)概念
可以改变的数称为变量。所有的变量在使用前必须声明后再使用。
声明格式:变量类型 变量名=变量值
使用规则:就近原则,尽量控制变量的使用范围到最小。
(二)变量默认值测试
package cn.tedu.exercise;
public class Inner {
static byte a;
static short b;
static int c;
static long d;
static float e;
static double f;
static char g;
static boolean h;
static String i;
public static void main(String[] args) {
System.out.println(a);//整型,默认是0
System.out.println(b);//整型,默认是0
System.out.println(c);//整型,默认是0
System.out.println(d);//整型,默认是0
System.out.println(e);//浮点型,默认是0.0
System.out.println(f);//浮点型,默认是0.0
System.out.println(g);//字符型,默认为空
System.out.println(h);//布尔类型,默认是false
System.out.println(i);//字符串类型,默认是null
}
}
(三)变量分类
(一)局部变量
位置:定义在方法里或者局部代码块,且必须手动初始化来分配内存。
作用域:方法里、局部代码块,运行完毕就释放内存。
(二)成员变量
位置:定义在类里方法外,不用初始化,它会自动被初始化成默认值。
作用域:整个类中,类消失了变量才会释放。
(三)局部变量与成员变量代码测试
package cn.tedu.basic;
/*
* 本类测试成员变量与局部变量
*/
public class TestVariable1 {
//创建成员变量
/*
* 成员变量
* 1)位置:类里方法外
* 2)注意:不需要手动初始化,会自动赋予对应类型的值
* 3)作用域:在整个类里都生效,类消失,变量才会消失
*/
static int count;
public static void main(String[] args) {
//创建局部变量
/*
*局部变量
*1)位置:方法里/局部代码块里
*2)注意:使用时必须手动初始化
*3)作用域:当方法里/局部代码块执行完毕,变量就释放
*/
int sum=100;
/*
* 变量的就近原则:当成员变量与局部变量同名时,打印近的局部变量
*/
System.out.println(sum);
System.out.println(count);
}
}
(二)方法
(一)概念
被命名的代码块,可含参也可以不含参,可提高代码的复用性。
(二)方法的格式
(三)方法调用
顺序执行代码,从main主函数入口,依次执行到main函数结束。
(四)方法代码测试
package cn.tedu.basic2;
public class TestMethod {
public static void main(String[] args) {
System.out.println(999);
f1();//The method f1() is undefined for the type TestMethod
System.out.println(111);
f2(3);
}
private static void f2(int age) {
System.out.println("羡羡今年"+age+"岁啦");
}
//**修饰符 返回值类型 方法名(参数名)参数列表{方法体}*//*
private static void f1() {
// TODO Auto-generated method stub
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
}
(五)方法的重载
在一个类中定义多个同名的方法,但是每个方法的参数列表不同,即指参数个数和类型不同,在调用它们时可以通过传递给它们不同的个数和参数来决定具体调用哪个方法。
(六)方法的重载代码测试
package cn.tedu.basic;
public class TestDemo {
public static void main(String[] args) {
/*方法定义的格式:修饰符 返回值类型 方法名(参数系列){方法体}
* 我们根据 方法名+参数列表 来确定调用哪个方法*/
/*方法的重载:
* 在同一个类中,存在方法名相同,但是参数列表不同的方法
* (int a,string b)与(int b,string a)--不构成重载
* (int a,string b)与(string b,int a)--构成重载
* 如果在同类中,方法的参数个数相同
* 注意查看的是对应位置上参数的类型,与参数名无关
* 当参数个数不同时,一定构成重载
* 当参数个数相同时,可能构成重载,具体要求看参数的类型*/
method();//创建无参的方法
method(3);//调用含参数的方法
method("小猴子",21);
}
private static void method(String s, int i) {
// TODO Auto-generated method stub
System.out.println(s+"今年"+i+"岁了");
}
//创建一个含有int类型参数的method()
private static void method(int i) {
// TODO Auto-generated method stub
System.out.println("哈哈哈哈哈!");
}
//1、创建一个无参的方法
private static void method() {
// TODO Auto-generated method stub
System.out.println("啊哈哈哈哈哈嗝~");
}
}