美文网首页
2.4 常量与变量

2.4 常量与变量

作者: 姗婷 | 来源:发表于2020-02-18 07:38 被阅读0次

    一、常量

    常量表示不能改变的数值

    1.1Java中常量的分类:

    • 整数常量。所有整数
    • 小数常量。所有小数
    • 布尔型常量。较为特有,只有两个数值。true false。
    • 字符常量。将一个数字字母或者符号用单引号( ' ' )标识。如: '4',"ab","",
    • 字符串常量。将一个或者多个字符用双引号标识。
    • null常量。只有一个数值就是:null.

    1.2对于整数:java有三种表现形式

    • 十进制:0-9 ,满10进1.
    • 八进制:0-7 ,满8进1. 用0开头表示。
    • 十六进制:0-9,A-F,满16进1. 用0x开头表
    十进制转2进制: 原理对10进制进行除2过程
    二进制转十进制: 原理对二进制乘以2的幂数过程
    进制的基本转换
    • 十进制八进制互转
    如90 ,先转成2进制001 011 010,再转成8进制132
    • 十进制十六进制互转
    如90 ,先转成2进制:0101 1010,再转成十六(4个二进制位就是十六进制位)进制0x5A
    • 负数的二进制表现形式
    • 对应的正数二进制取反加1
    如6,二进制 110. 推到-6
    6的表示形式:0000-0000 0000-0000 0000-0000 0000-0110
    6取反形式: 1111-1111 1111-1111 1111-1111 1111-1001
    加1的形式: 0000-0000 0000-0000 0000-0000 0000-0001
    -6表示形式: 1111-1111 1111-1111 1111-1111 1111-1010

    结论:负数的最高位为1,正好数的最高位为0
    一个字节是8个二进制位组成 一个整数由4个字节组成

    二、变量

    1.1变量的概念:

    • 内存中的一个存储区域
    • 该区域有自己的名称(变量名)和类型(数据类型)
    • 该区域的数据可以在同一类型范围内不断变化

    1.2为什么要定义变量:

    • 用来不断的存放同一类型的常量,并可以重复使用

    1.3使用变量注意

    • 变量的作用范围(一对{}之间有效)
    • 初始化值定义变量的格式:
    • 数据类型 变量名= 初始化值;
    • 注:格式是固定的,记住格式,以不变应万变。
    理解:变量就如同数学中的未知数。


    image.png

    byte :8个二进制组成 取值:-128~127(2的7次方-1)
    short:16个二进制组成 取值:-32768~32767(2的15次方-1)
    int:32个二进制组成 取值:(2的31次方-1)

    public class VarDemo
    {public static void main(String[] args)
      {
          //定义一个变量
          //数据类型 变量名 = 初始化值;
          //定义一个int 类型变量取值为4;
          int x = 4;
          System.out.println("x");        
          x=10;
          System.out.println("x");
          byte b = 3;
          short s =3000;
          long l = 6l;
          float f = 2.3f;
          double d = 2.32;
    
          char ch1 = '4';
          char ch2 = 'b';
          char ch2 = '+';
    }
    }
    

    注意:什么时候定义变量?当数据不确定的时候。需要对数据进行存储时,就定一个变量来完成存储

    int i = 1;
    i = i +1;
    

    三、类型转换

    3.1 自动类型提升(也叫显示转换)

    byte b = 3;
    /*byte类型的b先自动类型提升成int与1相加,加的结果就是int类型,
    结果b又要变成byte类型就会丢失精度,运算结果报错*/
    b = b + 1;
    

    3.2 强制类型转换(也叫显式类型转换)

    byte b = 3;
    b =byte( b + 1);
    

    表达式的数据类型自动提升
    • 所有的byte型、short型和char的值将被提升到int型。
    • 如果一个操作数是long型,计算结果就是long型;
    • 如果一个操作数是float型,计算结果就是float型;
    • 如果一个操作数是double型,计算结果就是double型。
    分析 System.out.println(‘a’)与System.out.println(’a’+1) 的区别。

    System.out.println(‘a’);//输出的是字符a
    
    System.out.println('a'+1);/*下列运行结果98;'a'是字符类型2个8位二进制;
    1是int类型4个8位二进制,相加得4个8位二进制*/
    
    System.out.println(char('a'+1));//先把('a'+1)计算是98,再转换成char类型b
    

    相关文章

      网友评论

          本文标题:2.4 常量与变量

          本文链接:https://www.haomeiwen.com/subject/cmjhfhtx.html