day 02

02.01 常量的概述和使用


    A:什么是常量
        * 在程序执行过程中其值不能发生改变
    B:Java中常量的分类
        * 字面值常量
        * 自定义常量
    C:字面值常量的分类
        * 字符串常量    用双引号括起来的内容
        * 整数常量        所有整数
        * 小数常量        所有小数
        * 字符常量        用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
        System.out.println('');//''中什么也不放,也是不可以的,因为代表不了任何字符
        * 布尔常量        较为特殊 true or false
        * 空常量        null


02.02 进制概述和二,八,十六进制图解


    A:什么是进制
        * 进制就是进位制,是人们规定的一种进制方法。对于任何一种进制--x进制,就表示某一位置上的
        数位运算时是逢x进一位。二进制逢二进一,八进制就是逢八进一,十六进制就是逢十六进一。
        例如:一周有七天,七进制,
    B:不同进制表现同一个数据的形式特点
        * 进制越大,表现形式越短


02.03 不同进制数据的表现形式


    A:二进制的数据表现形式
        * 由0,1组成,以0b(b可以大写也可以小写)开头
    B:八进制的数据表现形式
        * 由0~7组成,以0开头
    C:十进制的数据表现形式
        * 由0~9组成,整数默认是十进制的
    D:十六进制的数据表现形式
        * 由0~9,a~x(大小写均可)表示,以0x开头


02.04 任意进制到十进制的转换


    A:任意进制转换到十进制的转换原理
        * 系数:每一位上的数据
        * 基数:x进制,基数就是x
        * 权:在右边,从0开始编号,对座位上的编号即为该位的权
        * 结果:把系数*基数的权次幂相加即可


02.05 十进制转换到任意进制


    A:十进制转换到任意进制的转换原理
        * 除积倒取余


02.06 快速的进制转换法


    A:8421码及特点
        * 8421码是大陆的叫法,8421码是BCD代码中最常用的一种,在这种编码方式中每一位二进制代码
        的1都代表一个固定数值,把每一位1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
    B:通过8421码的方式进行二进制和十进制的相互转换
    C:二进制到八进制的简易方式(三位数)
    D:二进制到十六进制的简易方式(四位数)


02.07 原码反码补码


    A:为什么要学习原码反码补码?
        * 后面要学习强制类型转换,如果不知道原反补会看不懂结果
02.08 变量的概述及格式
    A:什么是变量
        * 再程序执行过程中,在某个范围内其值可以发生变量的量
    B:变量的定义格式
        * 数据类型 变量名 = 变量值;
    C:为什么要定义变量
        * 用来不断的存放同一类型的常量,并可以重复使用


02.09 数据类型的概述和分类


    A:为什么有数据类型
        * Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内
        存空间
    B:Java中数据类型的分类
        * 基本数据类型
        * 引用数据类型
    C:基本数据类型分类
        * 整数型
            * byte    占一个字节   -128~127
            * short    占两个字节   -2^15~2^15-1
            * int    占四个字节   -2^31~2^31-1
            * long    占八个字节   -2^63~2^63-1
        * 浮点型
            * float    占四个字节   
            * double占八个字节
        * 字符型
            * char    占两个字节   0~65535
        * 布尔型
            * boolean
                * boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是
                java中boolean类型没有明确指定它的大小


02.10 定义不同数据类型的变量    //DateType数据类型


    A:定义不同基本数据类型的变量,并输出
    B:赋值时注意float类型,long    
        * long x=88888888888L;
        * System.out.println(12345+5432l);//结果17777 5432l最后一位是l不是1
    C:浮点类型
        * float f = 12.3f;
        * double d= 33.4;    //小数默认的数据类型是double
    D:字符类型
        * char c = 'a';
        * System.out.println(c);
    E:布尔类型
        * boolean b1 = true;
        * boolean b2 = false;
        * System.out.println(b1);
        * System.out.println(b2);


02.11 使用变量的注意事项


    A:作用域问题
        * 同一个区域不能使用相同的变量名
    B:初始化问题
        * 局部变量在使用之前必须赋值
    C:一条语句可以定义几个变量
        * int a,b,c,...;


02.12 数据类型转换之隐式转换    //Conversion转换


    class DatetypeConversion{
        public static void main(String[] args){
            //数据类型转换之隐式转换
            /*    int x = 3;
                byte b = 4;
                x = x + b;
                System.out.println(x);*/
            //数据类型转换之强制转换
            /*    int x=3;
                byte b=4;
                b=(byte)(x+b);
                System.out.println(b);*/
            //数据类型转换之强制转换超出范围
            //00000000 00000000 00000000 10000010    130的二进制
            //10000010                                -126的补码
            //00000001                                -1求反码
            //10000001                                -126的反码
            //11111110                                -126的原码
            byte b=(byte)(126+4);
            System.out.println(b);
            //00000000 00000000 00000001 00101100    300的二进制
            //00101100    32+8+4=44
            byte b2=(byte)300;
            System.out.println(b2);
        }
    }


02.13 变量相加和常量相加的区别


    class DatetypeConversion{
        public static void main(String[] args){
            //面试题:看下面的程序是否有问题,如果有问题,请指出并说明问题。
            byte b1=3;
            byte b2=4;
            byte b3=b1+b2;
            /*
             * 从两个方面:
             * 1,byte与byte(或short,char)进行运算的时候会提升为int,两个int类型相加的结果也是int型
             * 2,b1和b2是两个变量,变量存储的值是变化,在编译的时候无法判断里面具体的值,相加有可能会超出
             * byte的取值范围
             */
            System.out.println(b3);
            //java编译器有常量优化机制
        }
    }


02.14 long与float取值范围谁大谁小


*进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数
据类型提升为大的
    *byte,short,char --int--long--float--double


02.15 字符与字符串的运算


    * System.out.println('a'+1);            //因为有ASCII码表,a字符对应的是int类型的7
    * System.out.println((char)('a'+1));    
    * System.out.println("hello"+'a'+1);    //任何数据类型用+与字符串相连接都会产生新的字符串
    * System.out.println('a'+1+"hello");    


02.16 char数据类型


    * char 0~65535
    * char类型是存储中文,每个字符占两个字节,中文也是占两个字符


02.17 算数运算符的基本用法        //operator 运算符


    A:运算符就是对常量和变量进行操作的符号
    B:运算符的分类
        * 算数运算符,赋值运算符,比较(关系或条件)运算符,条件运算符,位运算符,三目(元)运算符
    C:算数运算符的符号
        * +-*/% ++ --
        * 当++在变量后面的时候,会先将变量中的值取出做赋值操作,然后再做赋值操作+1
        * 当++在变量前面的时候,会先自身+1,再将结果赋值
        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值