0基础学Java,老薛带你学Java变量和数据类型以及赋值方式

2019-03-26  本文已影响0人  坑王老薛

一:变量

1.1 what?

问题:我们在实际开发过程中不可避免的要遇到一些比如数值计算的问题。而对于有些数值,可能在整个程序的执行过程中被反复使用,或者对该数值进行四则运算;而此时,如果没有一个行之有效的东西帮助我们去记录这些反复使用的值,很可能后导致后期对于值的不确定性增加(记混了,记错了),导致整个程序崩溃。

定义:变量就是在程序运行期间,其值可以发生改变。我们用变量来记录和标识程序中的某个用户输入等记录。

1.2 Why?

为了能够更好的方便开发,所以我们通过变量对于某些数据起一个简单的名字,方便程序调用以及执行。这就是为什么需要变量的原因。

1.3 Where?

变量被应用在程序的开发的各个地方,基本不存在没有变量的程序或者代码段。

1.4 How

1.4.1 变量的声明

PS:为了能够更好的说明问题,我们下面的例子中都是通过int这种数据类型类完成下面的测试用例的。

public class VariableStatement {    
      public static void main(String[] args) {  
            int num;//①   
     }
}

变量的声明需要指定数据类型和变量名称;int就是一种数据类型,num就是当前变量的名字;

变量声明

①:Java是一门强类型语言,所有的变量都是具备具体类型的,目前我们先通过int代替,后面细说每种数据类型

②:变量名称就是给某个数据起的一个名称,必须要严格遵守标识符的命名规则(3必2标1注意)

1.4.2 变量的赋值

1.4.3 变量的口诀

变量变量,它随你变;要想使用,记着赋值。

二: 数据类型

2.1 前言

Java是一门强类型的语言,所有的数据都具备具体的类型。思考问题,弱类型语言和强类型语言的优缺点分析。

2.2 数据类型分类

数据类型分类

注意,Java是一门强类型语言,分为基本数据类型(3类8种)和引用类型。引用类型暂且背下来,我们后期讲解。接下来我们主攻的方向是基本数据类型,基本数据类型的我们通过了解每种类型的范围内存大小,声明方式,注意事项系统学习;

2.2.1 字节型

表示方式 所占空间 表示范围
字节型(byte) 1个字节 -128 - 127
public class DataTypeTest01{
    public static void main(String[] args){
        //1:声明一个byte类型的数据 赋值10
        byte num1 = 10;
        System.out.println("num1 的值是:"+num1);
        
        //2:给num1重新赋值128查看结果
        num1 = 128;//这行代码报错,type mismatch
        System.out.println("num1 的值更改之后是:"+num1);
    }
}

字节型是数据类型通过byte指定,占内存1个字节,能够代表的数的范围是-128到127之间;如果赋值超过这个区间,编译时会报错Type mismatch: cannot convert from int to byte。不能将超过byte范围的数据直接赋值给byte类型的变量。

2.2.2 短整形

表示方式 所占空间 表示范围
短整型(short) 2个字节 -32768-32767 -2^15 - 2^15-1
public class DataTypeTest02{
    public static void main(String[] args){
        //1:声明一个short类型的数据 赋值1000
        short num1 = 1000;
        System.out.println("num1 的值是:"+num1);
        
        //2:给num1重新赋值32768查看结果
        num1 = 32768;//这行代码报错,type mismatch
        System.out.println("num1 的值更改之后是:"+num1);
    }
}

短整形型是数据类型通过short指定,占内存2个字节,能够代表的数的范围是-32768到32767之间;如果赋值超过这个区间,编译时会报错Type mismatch: cannot convert from int to byte。不能将超过short范围的数据直接赋值给short类型的变量。

2.2.3 整形

表示方式 所占空间 表示范围
整型(int) 4个字节 -2147483648-2127283647 -2^31 - 2^31-1
public class DataTypeTest03{
    public static void main(String[] args){
        //1:声明一个int类型的数据 赋值40000
        int num1 = 1000;
        System.out.println("num1 的值是:"+num1);
        
        //2:给num1重新赋值2147483648查看结果
        num1 = 2147483648;//这行代码报错,type mismatch
        System.out.println("num1 的值更改之后是:"+num1);
    }
}

整形型是数据类型通过int指定,占内存4个字节,能够代表的数的范围是-231到231-1之间;如果赋值超过这个区间,编译时会报错Type mismatch: cannot convert from int to byte。不能将超过short范围的数据直接赋值给int类型的变量。

2.2.4 长整形

表示方式 所占空间 表示范围
长整型(long) 8个字节 -2^63 - 2^63-1
public class DataTypeTest04{
    public static void main(String[] args){
        //1:声明一个int类型的数据 赋值40000
        long num1 = 1000;
        System.out.println("num1 的值是:"+num1);
        
        //2:给num1重新赋值2147483648查看结果
        num1 = 2147483648;//这行代码报错,type int is out of range

        System.out.println("num1 的值更改之后是:"+num1);
    }
}

长整形型是数据类型通过long指定,占内存8个字节,能够代表的数的范围是-263到263-1之间;

这里要千万注意,默认情况下在Java中所有的整数的默认类型是int类型,所以当给long类型变量赋值时,本身赋值的数超过了int的范围;大于2147483647或者小于-2147483658时,编译器觉得赋值的右边还是int类型而不是long类型,所以报错The literal 2147483648 of type int is out of range。

解决办法: 在超过int值的后面加"L"(推荐)或者是"l"

上一篇 下一篇

猜你喜欢

热点阅读