JAVA基础深度复习(2)———变量、基本数据类型、修饰符、运算符

目录

话不多说,直接上车~

变量

代码1:

问题1:

知识点1:

基本数据类型

代码2:

问题2:

知识点2:

修饰符

代码3:

问题:

知识点3


变量

代码1:

public class Test02 {

    //常量,常量一般大写
    public static final int A = 10;
    //静态变量,被static修饰
    public static short B = 10;
    public static short E ;
    //成员变量
    public long C = 10;
    public long F;
    public static void main(String[] args) {

        //局部变量
        int D = 0;
        int G = 0;
        Test02 test02 = new Test02();
       
        System.out.println("常量A="+A);
        System.out.println("静态变量B="+B);
        System.out.println("实例变量C="+test02.C);
        System.out.println("局部变量="+D);
        System.out.println("静态变量默认值E="+E);
        System.out.println("实例变量F="+test02.F);
    }
}

问题1:

  1. 变量有几种?相互之间有什么区别?

知识点1:

变量:变量是可变的量。使用变量是为了在虚拟机内存中开辟出一块空间用于存储数据的。

JAVA中的变量共有三种类型。

  1. 静态变量:类之内,在方法体之外,被static 关键字修饰的成员变量就是静态变量。存在堆中(不同的JDK存放的位置不同,要看你的JDK是什么版本)。
  2. 成员/实例变量:类之内,方法体之外的变量。存在堆中。
  3. 局部变量:存在于方法体的变量,存在栈中。

面试题:三种变量 有什么区别?

1.调用方式不同:静态变量可以使用类名调用,也可以适用对象名调用。

                            实例变量只能通过对象名调用。

2.存在位置不同:静态变量存在方法区中。(和JDK版本有关)

                            实例变量存在堆内存中。

                            局部变量存在栈内存中。

3.生命周期不同:静态变量伴随类始终,从类的加载到类的卸载。

                            实例变量伴随对象始终。

                            局部变量是从声明位置开始到”}”为止

4.使用方式不同:静态变量和实例变量使用前可以不用初始化,会赋默认值。

                            局部变量必须初始化。

常量:数值不变的量。被 static final 修饰,存在方法区中。

基本数据类型

代码2:

public class Test03 {

    //byte
    public byte aByte;
    public static byte aByte01;

    //short
    public short aShort;

    //int
    public int anInt;

    //long
    public long aLong;

    //float
    public float aFloat;

    //double
    public double aDouble;

    //char
    public char aChar;

    //boolean
    public boolean aBoolean;



    public static void main(String[] args) {

        double l = 90.00;
        double l1 = 90.00d;
        float f =  90.0f;
        long l0 = 10L;
        char c = 'C';

        Test03 test03= new Test03();

        System.out.println("byte默认值"+test03.aByte+"大小"+" "+  Byte.SIZE+" "+"范围"+Byte.MIN_VALUE+"---"+Byte.MAX_VALUE);

        System.out.println("short默认值"+test03.aShort+"大小"+" "+  Short.SIZE+" "+"范围"+Short.MIN_VALUE+"---"+Short.MAX_VALUE);

        System.out.println("int默认值"+test03.anInt+"大小"+" "+  Integer.SIZE+" "+"范围"+Integer.MIN_VALUE+"---"+Integer.MAX_VALUE);

        System.out.println("long默认值"+test03.aLong+"大小"+" "+  Long.SIZE+" "+"范围"+Long.MIN_VALUE+"---"+Long.MAX_VALUE);

        System.out.println("float默认值"+test03.aFloat+"大小"+" "+  Float.SIZE+" "+"范围"+Float.MIN_VALUE+"---"+Float.MAX_VALUE);

        System.out.println("double默认值"+test03.aDouble+"大小"+" "+  Double.SIZE+" "+"范围"+Double.MIN_VALUE+"---"+Double.MAX_VALUE);

        System.out.println("char默认值"+test03.aChar+"大小"+" "+  Character.SIZE+" "+"范围"+Character.MIN_VALUE+"---"+Character.MAX_VALUE);

        System.out.println("boolean默认值"+test03.aBoolean);

    }

}

问题2:

  1. 基本数据类型中哪种数据类型默认值会有问题?
  2. 基本数据类型中的占几个字节?最大最小值是多少?

知识点2:

整数:

注意事项:   long后边需要加上L或l

                     float后边必须加f

                     double后边可以加D或不加

浮点数:

注意事项:   float后边必须加f

                     double后边可以加D或不加

字符型:

注意事项:   字符型的默认值是不定的。

                     声明时使用英文单引号,只能有一个字符。

布尔型:

修饰符

代码3:

public class Test04 {

    public int A = 0;

    protected int B = 1;

    int C = 2;

    private int D =3;

    public int add(int a,int b){
        return a+b;
    }



    protected int add01(int a,int b){

        return a+b;

    }



    int add03(int a,int b){

        return a+b;

    }





    private int add04(int a,int b){

        return a+b;

    }



    public static void main(String[] args) {

        Test04 test04 = new Test04();

        System.out.println(test04.add(3,5));

        System.out.println(test04.add01(3,5));

        System.out.println(test04.add03(3,5));

        System.out.println(test04.add04(3,5));

    }

}
 

 

问题:

  1. 四种修饰符能够用在哪里?
  2. 修饰符的作用是什么?

知识点3

java语言提供了很多修饰符,主要分为以下两类:

  • 访问修饰符
  • 非访问修饰符

访问控制修饰符 :

  • public : 对所有类可见。使用对象:类、接口、变量、方法。

主类必须要有public 否则解释器不能够运行。

  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;

子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。

  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。

非访问控制修饰符 :

为了实现一些其他的功能,Java 也提供了许多非访问修饰符。例如:

1.atic 修饰符,用来修饰类方法和类变量。

2.final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

3.abstract 修饰符,用来创建抽象类和抽象方法。

4.nchronized 和 volatile 修饰符,主要用于线程的编程。

总结:     Java中的变量主要是为了存储数据的,在内存的不同位置。

                数据的类型又分为基本数据类型和引用数据类型。

                修饰符用来定义类、方法或者变量,通常放在语句的最前端。

最后:祝大家都是能够做一个孤勇者~~~

https://music.163.com/#/song?id=1901371647&market=baiduqkicon-default.png?t=M85Bhttps://music.163.com/#/song?id=1901371647&market=baiduqk

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Abednego_子瑜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值