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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许鑫 中级黑马   /  2015-5-22 22:46  /  1292 人查看  /  30 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

常量:
        概述:在程序的运行过程中,其值是不会发生改变的量。
        分类:
                字面值常量;
                        整数常量: 10,20,
                        实数常量: 12.3   21.1
                        字符常量: 用''括起来的一个字符
                                                '1', '2'
                        字符串常量: 用""括起来的内容
                                "123"   "abc"
                        布尔常量:true,false
                        空常量:null(面向对象的时候再讲)

                自定义常量;后边讲。 final
        注意:常量可以直接输出。

进制:
        概述:就是一种进位制,逢几进一,就是几进制。
        对于整数,咱们Java支持一下几种进制形式:
                八进制: 二进制数据,从右往左,每三位一组合,然后计算出组合后的十进制值,然后把十进制的值进行拼接,就是八进制。
                十进制
                十六进制:二进制数据,从右往左,每四位一组合,然后计算出组合后的十进制值,然后把十进制的值进行拼接,就是十六进制。
                注意:从右往左组合的时候,不够用0补齐。
                JDK7以后,咱们Java支持了:二进制
                计算机最基本的存储单位是:字节(byte)。
                一个二进制数据是一个:位(bit)。

                1byte = 8bit;
                1kb = 1024byte;
                1mb = 1024kb
                1gb = 1024mb
                1tb = 1024gb

                进制的表示形式和组成:
                        二进制:数字0,1组成。JDK7.0以后,以0b开头。
                        八进制:数字0-7组成。0开头。
                        十进制:数字0-9组成,开头没有任何表示形式。
                        十六进制:数字0-9,字母a-f组成,以0x开头。

进制之间的一个转换:
        其他进制转成十进制:(12345)
                结果:
                        把 系数*基数^权次幂 相加即可。
                        系数:就是每一位上的数据。
                        基数:几进制,基数就是几。
                        权:把数据从右往左开始编号,并且从0开始,编号就是对应位置数据的权。
                练习题:
                        0b100101 = 1*2^5 + 0 + 0 + 1*2^2 + 1*2^0  = 32 + 4 + 1=37
                        074  = 7*8^1 + 4*8^0 = 60
                        0xf4 = 15*16^1 + 4*16^0 = 240 + 4  = 244

        十进制转成其他进制:
                除基取余,直到商为0,余数反转。
                60  转八
                244 转十六
        进制之间的一个快速转换(掌握):
        8421码:
                1        1        1        1        1        1        1        1
                128 64  32  16  8   4        2        1
        二进制到八进制,十六进制的转换:
                基本做法:
                        先把二进制转成十进制,然后再转成对应的进制。
                简单做法:
                        求八进制:把二进制数据,从右往左,三位一组合求十进制,然后拼接。
                        求十六进制;把二进制数据,从右往左,四位一组合求十进制,然后拼接。
有符号数据的表示形式:
        我们知道,数据是有正负之分的。
        原码:有符号数据的最基本表示形式。最高位是符号位,其他位是数值位。  0表示正数,1表示负数。
        反码:
                正数的反码和原码相同。
                负数的反码和原码不同:
                        规则是:符号位不变,数值位取反,0变1,1变0.
        补码:
                正数的补码和原码相同。
                负数的补码和原码不同:
                        规则是:反码+1
        总结:
                正数的原码,反码,补码都一样。
                负数的不一样。
        注意:
                Java中只有加法,减去一个数字,等于加上这个数字的负数形式。
                记忆:计算中存数的数据都是以补码形式存的。

        1、已知原码(10110100),求反码,补码。
        2、已知补码(11101110),求原码。

       
变量:
        概述:
                1、它就是内存中一小块区域。
                2、该区域要有自己的名称(变量名)和类型(数据类型)
                3、其值是可以在指定区域内不断发生变化的。
        作用:
                某个值可以重复使用。
        格式:
                数据类型 变量名 = 初始化值;
Java里边的数据类型;
        基本数据类型:
                数值类:
                        整数类型:
                                byte 1个字节  -128-127
                                short        2字节
                                int                4字节
                                long        8字节
                        浮点类型:
                                float        4字节
                                double        8字节
                字符类型:
                                char        2字节
                布尔类型
                                boolean        1个字节 这个类比较特殊,他的值只有true和false
        引用数据类型;
                类:class
                接口:interface
                数组:[]
                字符串:String

定义变量并使用:
        数据类型 变量名 = 初始化值;
        定义变量的时候的注意事项;
                1、同一对{}内,不能重复定义同一变量。
                2、定义长整形的时候,数值后边必须加上l或者L。
                3、定义单精度类型的时候,数值后边必须加F或者f。
                4、Java语言采用的Unicode编码,一个字符占2字节。
        记忆:
                默认的整数类型是int,默认的小数类型是double。

java中的类型转换:
        java中可以从任意的基本类型转型到其他的基本类型(boolean除外)。
        自动类型转换:隐式转换
                从小到大。
                byte,short,char --> int --> long --> float --> double
                long是8个字节,float是4个字节,为什么long的范围比float小呢?
                long是整型,float是浮点型,他们再内存中的存储规则不一样,所以long的范围比float小。
                格式:
                        跟定义变量一样。
                        数据类型 变量名 = 初始化值;
        强制类型转换:显示转换
                从大到小。
                只有当我们明确可以转换的时候,才可以使用。
                一般不使用。
                格式:
                        (转换后的数据类型)变量名或者值;

类型转换的两个练习题:
        byte b = (byte)130;
        1、求130的原码。
                00000000 00000000 00000000 10000010
        2、求130的反码。
                00000000 00000000 00000000 10000010
        3、求130的补码,然后在补码上做截取。
                00000000 00000000 00000000 10000010
        4、截取后的新的补码为:10000010
        5、根据第4步的补码求出它的反码。
                10000001
        6、求第5步的反码的原码。
                11111110  ,算出的结果为:-126

面试题:
        byte b1 = 3;
        byte b2 = 4;
        byte b3 = b1 + b2;
        byte b4 = 3 + 4;
        //byte,short,char --> int --> long --> float --> double
        'a'
        总结:
                如果是变量相加,会先提升数据类型,然后在运算。
                如果是常量相加,会直接计算,然后看计算后的结果是否在其所能描述的范围内,如果在,就不报错,不过不在,就报错。

编码表:
        就是字符及其对应的数值组成的一张表。
        ASCII码表:
                是用来描述char类型和int类型的关系的。
                'a':97
                'A':65
                '0':48

运算符:
        概述:用于连接变量或者常量的符号。一般是用来参与运算的。
        算术运算符:
                +,-,*,/ ,%,++,--
                1、整数相除,结果是整数。  10/3*1.0
                        如果想要小数类型的值,参与运算的变量至少有一个是浮点类型。
                2、++或者--
                        单独使用: ++或者--在前,或者在后,效果一致。
                        参与运算:效果不一致,此处以++举例(--效果类似,用法一样)
                                ++在前: 先++,然后在运算(操作)
                                ++在后: 先运算(操作),然后在++
                                作业: int i = 10;
                                           i = i++ + ++i - i-- - --i;

                                           int a = 10;
                                           int b =20;
                                           a++ +b;
          3、+的用法:
                A:如果连接的是两个基本类型(boolean除外),表示 相加。
                B:如果连接两个变量(常量),其中一个是字符串就表示 连接的作用。
                                5+5+"Hello"   -->  10"hello"
                                8+5+"hello"+5   -->  13"hello"5
        赋值运算符:
                =,+=,-=,*=,/=,%=
                此处以+=举例:
                        +=:就是把等号的左边和右边相加,然后吧结果赋值给左边。
                注意:+=,-=,*=,/=,%=这些形式下,等号的左边必须是一个变量。
                short s = 5;
                s = s + 2;  //报错。 会做自动提升数据类型。提升到int
                s += 2;    //不会报错。   s+=2 其实隐含了强制类型转换,它相当于:  s = (short)(s+2);
                发这些   应该没人打我吧
        比较运算符:
                ==, !=, > ,< ,>=,<=
                比较运算符的结果都是boolean类型,要么true,要么false。
                分隔符:
                        分号:表示语句的结束。一行可以写多条语句,但是建议一行只写一条语句。
                        空格:
                                关键字的两端都必须加空格。
                                运算符:可加可不加,建议加上。
                注意:
                        不要把用==的地方,写成了=,否则结果可能不是我们想要的。
               
        逻辑运算符:
        位运算符:
        条件运算符:三元运算符,三元表达式


点评

Very Good!  发表于 2015-5-25 11:35
认真学习继续下去  发表于 2015-5-22 23:04

评分

参与人数 1黑马币 +5 收起 理由
13699266500 + 5 很给力!

查看全部评分

30 个回复

倒序浏览
支持!!总结的很到位!!!
回复 使用道具 举报
跟着又复习一次 谢谢分享
回复 使用道具 举报
赞一个!!!
回复 使用道具 举报
赞一个!!!
回复 使用道具 举报
不错哟!
回复 使用道具 举报
可以帮助复习了
回复 使用道具 举报
复习了一遍,总结不错
回复 使用道具 举报
彭越 中级黑马 2015-5-24 10:07:13
9#
piaoguoaaaa
回复 使用道具 举报
总结才能把知识学全,加油!!
回复 使用道具 举报
很全面。。。。。。。。。
回复 使用道具 举报
写的好全面
回复 使用道具 举报
总结的非常好
回复 使用道具 举报
不错哦。。。
回复 使用道具 举报
Melo 中级黑马 2015-5-24 20:27:41
15#
基础一定要打好
回复 使用道具 举报
MTT 来自手机 中级黑马 2015-5-24 21:09:46
16#
不错。加油。 来自: iPhone客户端
回复 使用道具 举报
加油吧!!!!!
回复 使用道具 举报
总结的不错,收藏了
回复 使用道具 举报
很详细呀!加油哦
回复 使用道具 举报
复习了,不错!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马