常量

1 篇文章 0 订阅
1 篇文章 0 订阅

常量分类

  • 字符串常量 用双引号括起来的内容 “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 = ‘中 ‘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值