A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐朋威0716 中级黑马   /  2015-7-29 21:19  /  190 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:常量(理解)
        (1)在程序的运行过程中,其值是不可以发生改变的量。
        (2)常量的分类:
                1:字面值常量
                        1:整数常量
                                12,-23
                        2:实数常量
                                12.5,-65.43
                        3:字符常量
                                'a','A','0'
                        4:字符串常量
                                "hello"
                        5:布尔常量
                                true,false
                        6:空常量(后面讲)
                                null,是一个引用型常量
                2:自定义常量(后面讲)
        (3)常量可以直接被输出。

2:进制(理解)
        (1)是一种进位的方式。X进制,表示逢x进1。
        (2)Java中整数常量的表示
                1:二进制 由0,1组成。以0b开头。JDK7以后的新特性。
                2:八进制 由0-7组成。以0开头。
                3:十进制 由0-9组成。默认就是十进制。
                4:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。
        (3)进制转换:
                1:其他进制到十进制
                        系数:数值上每一位上的数字。
                        基数:X进制,基数就是X。
                        权:在右边,从0开始编号,对应位上的编号即为该位的权。
                        结果:把系数*基数的权次幂相加即可。
                       
                        二进制:1011
                                十进制:
                        八进制:74
                                十进制:
                        十六进制:a3
                                十进制:

                2:十进制到其他进制
                        除基取余,直到商为0,余数反转。(基:就是要转的进制是几就是几)

                        十进制:60
                        结果:
                                二进制
                                八进制
                                十六进制

                3:快速转换
                        1:8421码。
                        2:二进制 - - 八进制(3位组合)
                        3:二进制 - - 十六进制(4位组合)
        (4)有符号数的表现形式
                计算机中的数据都是以二进制的补码形式存在的
               
                原码:就是数据转化为二进制时最基础的表现
                反码:符号位不变,其他数值位取反(仅针对于负数)
                补码:反码 + 1 (也是仅针对于负数)
        注意:正数的原码、反码、补码都相同
       
        在java中其实是没有减法的,1-1实际上就是1+(-1),也就是说其实内部其实是把1的补码和-1的补码进行了相加运算。
        注意:相加时数据的符号位也参与运算,运算结果如果超出数据表示长度,如:长度超出8bit,则舍去左边超出的。也就是说舍去此时的最高位

3:变量(掌握)
        (1)程序的运行过程中,在指定范围内发生改变的量。或者说在程序运行过程中值有可能会发生改变的量
        (2)格式:
                数据类型 变量名 = 初始化值;

                变形格式:
                        数据类型 变量名;
                        变量名 = 初始化值;

                举例:
                        方式1:        byte b = 10;

                        方式2:        byte b;
                                b = 10;

4:数据类型(掌握)
        (1)分类
                基本类型:4类8种。(都是小写,如:Long不是基本数据类型)
                引用类型:类,接口,数组。(了解)
        (2)基本类型      类型   占用字节数
                整型:
                         byte     1
                         short          2
                         int          4
                         long          8
                浮点型:
                         float          4
                         double          8
                字符型:
                         char          2
                布尔型:               
                        boolean 不明确。可以认为是1个字节。
               
                注意:
                        整数默认是int类型。long类型需要加L或者l后缀。
                        浮点数默认是double类型。float类型需要加F或者f后缀。
        (3)类型转换
                1:boolean类型不参与转换。
                2:隐式转换(从小到大)
                        byte,short,char -- int -- long -- float -- double
                3:强制转换(从大到小)
                        格式:
                                (数据类型)数据;
                                以下的也是属于强制类型转换:
                                        定义一个方法,返回值为int类型,注意看方法体中的return语句后面其实也是强制类型转换。此时的强制类型转换是从小到大
                                        int x( )
                                        {
                                                char ch='a';
                                                return (int)ch;
                                        }
        (4)面试题
                byte b1 = 3;
                byte b2 = 4;
                byte b3 = b1 + b2;//报错 原因是:b1  和 b2 在执行相加操作时,会自动提升为int类型,所以最后结果就是int类型,报错:可能损失精度,把int类型的赋值给
short类型
                byte b4 = 3 + 4; //不会报错,但是要保证数值在byte类型可以表示的范围之内,相当于b4 = 7;

5:运算符(掌握)
        (1)就是把常量和变量连接的符号,一般参与运算使用。
        (2)分类:
                算术运算符
                赋值运算符
                关系运算符
                逻辑运算符
                位运算符
                三元运算符
        (3)算术运算符
                +,-,*,/,%,++,--

                +:正号,加法,字符串连接符。
                        System.out.println("5+5="+5+5);//5+5=55
                        System.out.println(5+5+"=5+5");//10=5+5

                %:取得余数
                        左边如果大于右边,结果是余数。
                        左边如果小于右边,结果是左边。
                        左边如果等于右边,结果是0。

                        正负号跟左边一致。

                ++/--:
                        ++ 其实相当于把数据+1

                        单独使用:
                                在数据的前后,结果一致。
               
                        参与操作使用:
                                如果在数据的后边,数据先操作,在++/--
                                如果在数据的前边,数据先++/--,在操作。
        (4)赋值运算符
                =,+=,-=,*=,/=,%=

                int a = 10;
                        把10赋值给int类型的变量a。

                a += 20;
                        把左边和右边的和赋值给左边。

                注意事项:
                        a = a + 20;
                        a += 20;
                        结果是等价的,理解不是等价的。

                        因为+=这种运算符,内含了强制类型转换功能。
                        比如:
                                short s = 2;

                                s+=3;
                                等价于
                                s = (short)(s + 3);
        (5)关系运算符
                ==,!=,>,>=,<,<=

                特点:关系运算符的结果都是boolean类型。
                      请千万注意:== 不要写成 =
        (6)逻辑运算符
                &,|,!,^,&&,||
               
                &:有false则false
                |:有true则true
                !:true变false,false变true
                ^:相同false,不同true

                &&:有false则false
                ||:有true则true

                &&和&的区别是:如果左边有false了,右边将不再执行。
                ||和|的区别是:如果左边有true了,右边将不再执行。

                开发中常用:
                        &&,||,!(s+3);
表达式:
        表达式由一个或多个操作数 通过 操作符 组合而成, 最简单的表达式仅包含一个字面值常量或变量

1 个回复

正序浏览
总结的很详细,值得学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马