第二节 Java中的变量

一、变量的定义

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

/**
 * 声明变量的语法:
 *      变量数据类型  变量名1 [=变量值1[,变量名2[=变量值2]...]]
 */
  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-1
short16位(1个字节)2^15 ~ 2^15-1
int(默认)32位(1个字节)2^31 ~ 2^31-1
long64位(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 类,都属于引用数据类型。

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

基本数据类型引用数据类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

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

/**
 * 求基本数据类型的最值及位数
 */
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我爱南乔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值