day10
1.成员变量与局部变量的区别:
---声明位置不同
成员变量:在类中声明;
局部变量:在方法中声明,其中形参也属于局部变量
---初始值不同
成员变量:在没有赋值时,是默认值得,数据类型不同
则默认值不同
局部变量:没有默认值,也就是说必须先声明,然后在赋值
最后才可以使用
---在同一个类中,成员变量的名字可以与局部变量的名字同名,
但是局部变量的名字优先调用,也就是就近优先,如果
非要访问成员变量,则必须添加this
this代表当前这个对象,也就是说当前谁调用这个方法
则这个对象就是谁
2.给对象中的属性赋值方法
---//第一种方法:完成对对象中的属性赋值,使用引用名称.属性名称=值;
---第二种方法:使用构造方法;
/* 编写狗类,属性:品种,颜色,名字,年龄,性别,方法:输出狗的信息 编写狗的测试类,实例化狗,调用狗的方法输出信息 */ class Dog{ //无参构造方法 public Dog{ //完成对属性的赋值 strain="土狗"; color="黑色"; } //属性也叫做成员变量 Sring strain; String color; String name; int age; char sex; //方法:输出狗的信息 public void print(){ System.out.println("品种:"+strain+" 颜色"+color+" 名字"+name+"年龄:"+age+"性别:"+sex); } } //编写狗的测试类 class DogText{ public static void main(String[] args){ //实例化狗 Dog d=new Dog(); //第一种方法:完成对对象中的属性赋值,使用引用名称.属性名称=值; d.strain="拉布拉多犬"; d.color="黄色"; d.name="小黄"; d.age=3; d.sex='公'; d.print(); } }
3.构造方法以及重载
--作用:完成对对象中的属性赋值
--构造方法:是一个特殊的方法,构造方法名字与类名一致
构造方法必须没有返回类型,也就是不编写返回类型
--语法格式:
public 方法名称([参数列表]){
}
--构造方法执行:当创建对象时自动执行相匹配的构造方法
Dog d2=new Dog();
d2.print();
4.带参构造方法
//编写带参构造方法,完成对属性品种,颜色,名字 public Dog(String strain,String color,String name){ //完成局部变量的值,赋给成员变量 this.strain=strain; this.color=color; this.name=name; } Dog d4=new Dog("泰迪","棕色","小弟"); d4.print();
5.构造方法重载
---构造方法的分类:
隐式构造方法:当在一个类中,没有手动编写构造方法,则系统会提供
一个默认的无参的构造方法
显示构造方法:当在一个类中,手动编写构造方法则系统不会提供默认的无参构造方法
建议:当手动编写构造方法时,先编写无参构造方法
然后在编写需要的构造方法
---构造方法重载
不能出现同类型同数量参数构造方法
在同一个类中,构造方法的名字必须相同,参数列表不同(类型不同,顺序不同)
6.变量按数据类型分为
---基本数据类型:在内存中存放的是真正的值
4大类:共计8种
---引用数据类型:在内存中存放的是地址(引用)
String
用户自定义类型
---对引用数据类型赋值的方式:
第一种:将对象赋给引用名称
如:s=new Student();
第二种:将null值赋给引用名称
如:s=null;
1)四种整数类型(byte、short、int、long):byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 32767 int:32 位、最常用,- 2^31-1~2^31 (21 亿) long:64 位、次常用 注意事项: int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。 整数字面量默认都为 int 类型,所以在定义的 long 型 数据后面加 L或 l。 小于 32 位数的变量,都按 int 结果计算。 强转符比数学运算符优先级高。见常量与变量中的例子。
2)两种浮点数类型(float、double)float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。 double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有 效尾 注意事项: 二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方) 尾 数: . 1010100010 指数:1010 基数:2 浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一 定要写 D 或 X.X float 的精度没有 long 高,有效位数(尾数)短。 float 的范围大于 long 指数可以很大。 浮点数是不精确的,不能对浮点数进行精确比较。
3)一种字符类型(char):char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。 注意事项: 不 能为 0个字符。 转义字符:
换行
回车 Tab 字符 " 双引号 \ 表示一个 两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质 就是 个数!二进制的,显示的时候,经过“处理”显示为字符。
4)一种布尔类型(boolean):true 真 和 false 假。