java基础的第二轮快速学习!day10

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+"\n颜色"+color+"\n名字"+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个字符。    转义字符:\n  换行  \r  回车  \t Tab 字符  \" 双引号  \\ 表示一个\    两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质    就是  个数!二进制的,显示的时候,经过“处理”显示为字符。
4)一种布尔类型(boolean):true 真  和 false 假。

猜你喜欢

转载自www.cnblogs.com/fdxjava/p/10638634.html