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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liuguodong 中级黑马   /  2015-8-22 23:13  /  246 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

###02.01_Java语言基础(常量的概述和使用)(掌握)
* A:什么是常量
        * 在程序执行的过程中其值不可以发生改变
* B:Java中常量的分类
        * 字面值常量
        * 自定义常量(面向对象部分讲)
* C:字面值常量的分类
        * 字符串常量        用双引号括起来的内容
        * 整数常量                所有整数
        * 小数常量                所有小数
        * 字符常量                用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
        * 布尔常量                较为特殊,只有true和false
        * 空常量                    null(数组部分讲解)

* D:案例演示
        * 用输出语句输出各种常量。null不演示
                       
###02.02_Java语言基础(进制概述和二,八,十六进制图解)(了解)
* A:什么是进制
        * 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
        * 例如一周有七天,七进制,一年有十二个月,十二进制
* B:十进制的由来
        * 十进制的由来是因为人类有十个手指
* C:二进制的由来
        * 其实二进制来源与中国,请看史料记载
        * 18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
* D:八进制的由来
        * 任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
        * 所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。
* E:十六进制的由来
        * 但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
* F:不同进制表现同一个数据的形式特点
        * 进制越大,表现形式越短

###02.03_Java语言基础(不同进制数据的表现形式)(掌握)
* A:二进制的数据表现形式
        * 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
* B:八进制的数据表现形式
        * 由0,1,…7组成。以0开头
* C:十进制的数据表现形式
        * 由0,1,…9组成。整数默认是十进制的
* D:十六进制的数据表现形式
        * 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
* E:案例演示
        * 输出不同进制表现100的数据。
        * 0b100
        * 0100
        * 100
        * 0x100
               
###02.04_Java语言基础(任意进制到十进制的转换图解)(了解)
* A:任意进制到十进制的转换原理
        * 系数:就是每一位上的数据。
        * 基数:X进制,基数就是X。
        * 权:在右边,从0开始编号,对应位上的编号即为该位的权。
        * 结果:把系数*基数的权次幂相加即可。
* B:画图练习
        * 二进制--十进制
        * 八进制--十进制
        * 十六进制--十进制

###02.05_Java语言基础(十进制到任意进制的转换图解)(了解)
* A:十进制到任意进制的转换原理
        * 除积倒取余
* B:画图练习
        * 十进制--二进制
        * 十进制--八进制
        * 十进制--十六进制
       
###02.06_Java语言基础(快速的进制转换法)(了解)
* A:8421码及特点
        * 8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
* B:通过8421码的方式进行二进制和十进制的相互转换
* C:二进制到八进制的简易方式
* D:二进制到十六进制的简易方式

###02.07_Java语言基础(原码反码补码)(了解)
* A:为什么要学习原码反码补码?
        * 后面要学习强制类型转换,如果不知道有原反补会看不懂结果
* B:有符号数据表示法的几种方式
        * 原码
                * 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
                * 通过一个字节,也就是8个二进制位表示+7和-7
                * 0(符号位)        0000111
                * 1(符号位)        0000111
        * 反码
                * 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
        * 补码
                * 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

###02.08_Java语言基础(原码反码补码的练习)(了解)
* A:已知原码求补码
        * 0b10110100
* B:已知补码求原码
        * 0b11101110
       
###02.09_Java语言基础(变量的概述及格式)(掌握)
* A:什么是变量
        * 在程序执行的过程中,在某个范围内其值可以发生改变的量
* B:变量的定义格式
        * 数据类型 变量名 = 变量值;
* C:为什么要定义变量
        * 用来不断的存放同一类型的常量,并可以重复使用

###02.10_Java语言基础(数据类型的概述和分类)(掌握)
* 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类型没有明确指定他的大小      

###02.11_Java语言基础(定义不同数据类型的变量)(掌握)
* A:案例演示
        * 定义不同基本数据类型的变量,并输出
        * 赋值时候注意float类型,long类型

###02.12_Java语言基础(使用变量的注意事项)(掌握)
* A:案例演示
        * a:作用域问题
                * 同一个区域不能使用相同的变量名
        * b:初始化值问题
                * 局部变量在使用之前必须赋值
        * c:一条语句可以定义几个变量
                * int a,b,c...;

###02.13_Java语言基础(数据类型转换之隐式转换)(掌握)
* A:案例演示
        * a:int + int
        * b:byte + int
* B:Java中的默认转换规则
        * 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
* C:画图解释byte+int类型的问题

###02.14_Java语言基础(数据类型转换之强制转换)(掌握)
* A:强制转换问题
        * int a = 10;
        * byte b = 20;
        * b = a + b;
* B:强制转换的格式
        * b = (byte)(a + b);
* C:强制转换的注意事项
        * 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

###02.15_Java语言基础(面试题之变量相加和常量相加的区别)(掌握)
* A:案例演示
        * 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
        * byte b1 = 3;
        * byte b2 = 4;
        * byte b3 = b1 + b2;
                * 从两方面去回答这个题
                * b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
                * byte类型的变量在进行运算的时候,会自动类型提升为int类型
        * byte b4 = 3 + 4;
                * 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
               
###02.16_Java语言基础(long与float的取值范围谁大谁小)(了解)
* 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
        * byte,short,char -- int -- long -- float -- double
       
        * long: 8个字节
        * float:4个字节
        * IEEE754
        * 4个字节是32个二进制位
        * 1位是符号位
        * 8位是指数位
        * 00000000   11111111
        * 0到255
        * 1到254
        * -126到127
        * 23位是尾数位
        * 每个指数位减去127
       
        * A:它们底层的存储结构不同。
        * B:float表示的数据范围比long的范围要大
                * long:2^63-1
                * float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

###02.17_Java语言基础(字符和字符串参与运算)(掌握)
* A:案例演示
        * System.out.println('a');
        * System.out.println('a'+1);
       
        * 通过看结果知道'a'的值是多少,由此引出ASCII码表
* B:ASCII码表的概述
        * 记住三个值:
                * '0'  48
                * 'A'  65
                * 'a'  97
* C:案例演示
        * System.out.println("hello"+'a'+1);
        * System.out.println('a'+1+"hello");
* D:+在有字符串参与中被称为字符串连接符
        * System.out.println("5+5="+5+5);
        * System.out.println(5+5+"=5+5");
       
###02.18_Java语言基础(char数据类型)(掌握)
* A:char c = 97;        0到65535
* B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
        * 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
        * 所以,Java中的字符可以存储一个中文汉字


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马