第二节 Java中的变量

第二节 Java中的变量,第1张

第二节 Java中的变量 一、变量的定义

计算机用来存储变量可变数据的内存空间。

 
  eg:   int b1 = 88;
        System.out.println("b1");//输出字符串:b1
        System.out.println(b1);//输出:88

①变量命名规则

        以字母、下划线、$开始,可以包含数字,但不能含有特殊符号,也不能使用 Java 关键字

②变量命名规范

        驼峰命名法:首字母小写,如果有多个单词组成,从第二个单词开始首字母大写。           如:startGame

使用变量应注意:

        ①赋值时不能超过数据类型所能表示的范围;

        ②如果定义long类型的数据,需要在后面加L或l,float类型加F或f。

二、变量的数据类型

(1)基本数据类型(8种)

① 整型(4种) 整型占用空间取值范围byte8位(1个字节)-2^7 ~ 2^7-1short16位(1个字节)2^15 ~ 2^15-1int(默认)32位(1个字节)2^31 ~ 2^31-1long64位(1个字节)2^63 ~ 2^63-1

②浮点型(2种) 浮点型占用空间说明float32位(1个字节)单精度小数(不常用)double(默认)64位(1个字节)双精度小数(常用)

③字符型:char        16位(2字节)        0-65535

        用单引号包含的可打印的单个字符:'A' , 'B' , '我' 等

④布尔类型:boolean       只有两个值  true和false

        用单引号包含的可打印的单个字符:'A' , 'B' , '我' 等

注:基本数据类型的最值和位数都是用引用数据类型计算的。


(2)引用数据类型(2种)

Java 中 jdk 封装的类,以及自定义的 java 类,都属于引用数据类型。

每一种基本数据类型都对应有引用数据类型(称为基本数据类型的包装类)。

基本数据类型引用数据类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean

        注:这些引用数据类型封装了对基本数据类型进行 *** 作的方法和数据。比如:求基本数据类型的最大值、最小值以及位数都可以使用对应的引用·数据类型来进行获取。

public class Demo02 {
    public static void main(String[] args) {
        //求基本数据类型byte、short、int、long、char的最值以及位数
        System.out.println("byte的最大值:"+Byte.MAX_VALUE);
        System.out.println("byte的最小值:"+Byte.MIN_VALUE);
        System.out.println("byte的位数:"+Byte.SIZE);
        //short、int、long与byte的求法类似

        System.out.println("char的最大值:"+(int)Character.MAX_VALUE);
        System.out.println("char的最小值:"+(int)Character.MIN_VALUE);
        System.out.println("char的位数:"+Character.SIZE);
    }
}

运行结果:

 

三、变量的类型转换

(1)自动类型转换(隐式类型转换)        小——>大

                byte  b = 125 ;

                int   i = b ; // byte类型的b会自动转化为int类型

(2)强制类型转换(显式类型转换)         大——>小        慎用

                int  i = 125 ;

                byte   b = (byte) i ; // int类型的 i 会强制转化为byte类型

  经典面试题:

 

public class Demo01 {
    public static void main(String[] args) {
        // 强制类型转换
        int i1 = 130;
        byte b1 =(byte) i1;
        System.out.println(b1);

        int i2 = -130;
        byte b2 =(byte) i2;
        System.out.println(b2);

        short s = 1;
        //对于byte、short、char类型而言,当发生运算时,运算结果会被隐式转换成int类型
//        short s1 = s + s;//报错
        //可改为
//        short s1 = (short) (s+s);
        //或改为
        int s1 = s +s;

        //s += 1 <==> 等价于s = (s的类型)(s+1);
        s += 1;//等价于s = (short)(s+s);
        System.out.println(s);
    }
}

运行结果:

 又如:

        int a = 500;
        byte b = (byte) a;
        System.out.println(b);

答案为:-12

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5611995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存