常量

来源:互联网 发布:黑客帝国矩阵革命 bt 编辑:程序博客网 时间:2024/06/05 08:35

常量分类

  • 字符串常量 用双引号括起来的内容 “abc”
  • 整数常量 123
  • 小数常量 12.3
  • 字符常量 单引号括起来的内容,里面只能放单个数字,单个字母或单个符 空格也可以
  • 布尔常量 boolean类只有两个值,true和false

进制

  • 任何一个进制,X进制,就是逢X进1
  • 电脑上面的进制

    • 1byte = 8 bit
    • 1k = 1024 byte
    • …..
    • 厂商使用1000为进制。
      *例如一个500g的硬盘,实际容量为

      • 500 * 1000 * 1000 * 1000 / 1024 / 1024 / 1024 = 465g
        *各个进制的表现形式
    • 二进制 0b开头 0b100
    • 八进制 0开头 0100
    • 十进制 默认即为10进制
    • 十六进制 0x开头(x可以大写) 0x100
  • 代码所在行比前一行多缩进2个Tab即可

    class Demo1_Scale {    public static void main(String[] args) {        System.out.println(0b100);      //2进制结果4 整数常量,所以没有双引号        System.out.println(0100);       //8进制结果64        System.out.println(100);        //10进制  结果100        System.out.println(0x100);      //16进制  结果256    }}
  • 各个进制到10进制的转换方法

    • 把系数*基数的权次幂相加即可
  • 10进制到各个进制的转换方法
    • 除积倒取余

8421码(极其好用)02.07视频课件

正码、反码、补码

  • 正码即2进制定点表示法,最高位为符号位,“0”正,“1”负,其余7位镖师数值大小
  • 反码:正码反码与其原码相同,负数的反码是对其原码逐位取反,但符号位除外
  • 补码:正数补码与其原码相同,负数补码是在其反码末位加1

变量

  • 用来不断地存放同一类型的常量,并可以重复使用
    • 数据类型
    • 变量名(合法的标识符)
    • 变量值

数据类型的概述和分类

  • A:为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间(吃多大饭,给多大碗)
  • B:Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • **C:基本数据类型分类(4类8种)
    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -2^15~2^15-1
      • int 占四个字节 -2^31~2^31-1
      • long 占八个字节 -2^63~2^63-1
    • 浮点型(小数型)
      • float 占四个字节 -3.403E38~3.403E38 单精度
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535 (没有复数)
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小 **

数据类型的赋值与输出

    class Demo1_DateType{                           //数据类型DataType        public static void main(String[] args) {                    //整数类型            byte b = 10;        //占1个字节,-128 到 127            short s = 20;       //占2个字节            int i = 30;         //占4个字节,这是默认的数据类型            long x = 88888888880L;      //占8个字节  默认的整数是int类型,还没有赋值给long x 就报错了,所以先定义这个数是long类型,即在数字后面加L,(大小写都可以,如果对long类型后面用L进行标识,最好使用大写,因为小写l和1实在是太像了)            System.out.println(b);            System.out.println(s);            System.out.println(i);            System.out.println(x);            //System.out.println(12345 + 5432l);        //这个是5432L  小写L和1太像了,可能出面试题            //浮点类型            float f = 12.3F;        //占4个字节   如果不在后面注明F,可能损失精度            double d = 33.4 ;   //占8个字节     默认的小数类型就是double            System.out.println(f);            System.out.println(d);            //字符类型            char c = 'd';       //占两个字节            System.out.println(c);            //布尔类型            boolean b1 = true;            boolean a =false;            System.out.println(b1);            System.out.println(a);        }    }

使用变量注意事项

  • 作用域问题
    • 同一个区域不能使用相同的变量名
  • 初始化之问题
    • 局部变量在使用之前必须赋值
  • 一条语句可以定义几个变量

    • 可以定义非常多 int a,b,c,d,……

      int a,b,c,d;a = 1;b = 2;c = 3;d = 4;
  • 隐式转换

    int x = 3;byte b = 4;x = x + b;              //先把byte类型的提升为int类型,在进行计算,输出结果是int类型System.out.println(x);      
  • 强制转换

    int x = 3;byte b = 4;b = (byte)(x + b);          //只会将结果的最低位数一个字节赋值给b,其他三个字节丢失System.out.println(b);  
    • 强制转换例子

      byte a = (byte)(126 + 6);System.out.println(a);  /*输出结果为-124,原因是132二进制为00000000 00000000 00000000 10000100存入a的为一个负数 1 0000100  这是一个负数的补码它的反码为 1 0000011它的正码为 1 1111100 即-124*/
    • 强制转换的注意事项

      • java编译器有常量优化机制,在编译的时候,java可以直接算出常量大小,判断是否超出变量存储范围,而变量无法判断。

字符与字符串参与运算的情况

    class Demo4_DateTypeConversion {        public static void main(String[] args) {            System.out.println('a' + 1);        //输出结果  98  字符和整数相加,得出的结果是整数            System.out.println('a' + '1');      //输出结果  146  “a"对应的数字97加上“1”对应            System.out.println((char)('a' + 1));        //输出结果  b       "a"对应97 + 1 = 98 即为“b”对应的2进制数字            System.out.println('a' + 1 + "hello" + 'a' + 1);        //输出结果  98helloa1    带有字符串的,字符串之前的没有影响,字符串之后的全部变成字符串的形式            System.out.println("5 + 5 =" + 5 + 5);  //输出结果  5+5=55      字符串后面全部直接变成字符串            System.out.println("5 + 5 =" + (5 + 5));    //输出结果 5+5=10       使用括号提升了后面“5+5”的优先级        }    }
  • char数据类型
    • char数据范围 0-65535 占2个类型
    • char = 97 输出之后是a,根据ASCⅡ一一对应
    • char类型可以存储中文,例如; char = ‘中 ‘
原创粉丝点击