Java 的小白学习笔记三(数据类型和变量类型)

Java两大数据类型

一、内置数据类型

Java 的小白学习笔记三(数据类型和变量类型)_第1张图片

二、引用类型

引用类型指向一个对象,指向对象的变量是引用变量。引用变量声明是被指定为一个特定的类型,一旦声明后,类型就不能改变了。

对象、数组都是引用数据类型。

引用数据类型默认值为null。

Java常量

常量在程序运行时不能被修改。通常用大写字母来表示常量,用 final 关键字来修饰。

数据类型转换

整型、常量和字符型数据可以混合运算。不同类型数据转换为同一类型再运算,由低到高转换。

低------------------------------------------------------>高

byte,short,char -> int -> long -> float -> double

转换规则

1. Boolean不能转换

2. 对象类型不能转换为不相关类的对象

3. 容量大的类型转换为容量小的类型需使用强制类型换换

4. 转换可能导致溢出或损失精度

5. 浮点数到整数是舍弃小数得到的

自动数据类型转换

满足转换前数据类型位数要低于转换后数据类型位数

强制类型转换

转换的数据类型必须是兼容的

int a = 123;

byte b = (byte)a;//将a强制转换为byte类型

变量类型

在Java中,所有变量使用前必须声明。

前言:static、final、public、private概念解读

访问权限修饰符

public和private是访问权限修饰符,用于控制外界对类内部成员的访问

public:表明对象成员是完全公有的,外界可以随意访问

private:表明对象成员是完全私有的,不容许外界的任何访问。

类成员变化修饰符

static和final是控制类成员变化的修饰符

static:静态成员修饰符,其修饰的静态变量被所有的对象共享,在内存中只存在一份,一个对象对它进行修改后,其他对象访问也会被修改。static修饰的静态成员不存在多态性。

final:final用来修饰方法和属性表示特殊的意义。修饰方法时表示方法不能被重写;修饰属性时表示属性不能被改变,这里属性又分为对象和基本类型,修饰基本类型表示基本类型赋值以后不能再被赋值,修饰对象表示这个属性不能再指向其他对象(引用不变),但是他指向的这个对象本身还是可以被改变的。final不能用于修饰构造方法。

一、类变量

也称静态变量,独立于方法和语句块之外,用static修饰

无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。

静态变量存储在静态存储区,经常被生命为常量,很少单独使用static声明变量。常量是指声明为public/private,final和static类型的变量。

可通过ClassName.VariableName方式访问。

类变量被生命为public static final类型时,名称一般建议使用大写字母。

public class Dog{

    //静态私有变量

    private static double length;

    //常量

    public static final String TYPE = '哈士奇';

    public static void main(String[] args){

        length = 1.5;

        System.out.println(TYPE + '平均长度:'+length);

    }

}

//在类外可以通过Dog.length来访问

二、成员变量

也称实例变量,在类中声明,在方法、构造方法和语句块之外。

在对象被创建的时候创建,对象被销毁的时候销毁。

实例变量可以声明在使用前或使用后。

访问修饰符可以修饰实例变量。

实例变量对于类中的方法、构造方法和语句块可见。一般应把实例变量设置为私有。通过使用访问修饰符可以使实例变量对子类可见。

public class Employee{

    // 这个实例变量对子类可见

    public String name;

    // 私有变量,仅在该类可见

    private double salary;

    //在构造器中对name赋值

    public Employee (String empName){

        name = empName;

    }

    //设定salary的值

    public void setSalary(double empSal){

        salary = empSal;

    }

    // 打印信息

    public void printEmp(){

        System.out.println("名字 : " + name );

        System.out.println("薪水 : " + salary);

    }

    public static void main(String[] args){

        Employee empOne = new Employee("RUNOOB");

        empOne.setSalary(1000);

        empOne.printEmp();

    }

}

三、局部变量

声明在方法、构造方法或语句块中,当他们执行的时候创建,执行完成后变量被销毁。

访问修饰符不能修饰局部变量。

局部变量是在栈上分配的。

局部变量没有默认值,被声明后必须经过初始化才能使用。

Public class Dog{

    public void getAge(){

        //局部变量age,初始化后才能使用

         int age = 0;    age+=7;

          System.out.println('年龄'+age);

    }

}

上一篇:Java 的小白学习笔记二(类和对象)

下一篇:Java 的小白学习笔记四(修饰符)

你可能感兴趣的:(Java 的小白学习笔记三(数据类型和变量类型))