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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jarc 高级黑马   /  2016-10-10 21:53  /  805 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



1.数据类型;
     整数默认类型为:int,只要写出整数,默认都是int,只是定义数据类型时将其存放在不同大小的“容器 ”中,但在定义long型时,需要在数字末尾加“L”来存储。
     浮点型默认类型是double,因此在存储数据时,若想存储为float,则必须在数据末尾处加“F”。
     
     在运算时。默认数据类型是int,因此在运算时,切记不能超过默认数据类型的取值范围,否则编译失败。

注意:计算机存储设备的最小信息单元是“位bit”,计算机最小存储单元是“字节byte”。1B = 8b;
     byte:一个字节,-128—127
     short:两个字节
     char:两个字节,因为在java中 采用Unicode编码,中文 存储单位是两个字节,因此,中文可以用char类型存储。char 类型数据中不包括负数。
     int:四个字节
     long:八个字节
     float:四个字节
     double:八个字节
     boolean:一个字节(理论的上是占八分之一个字节,因为一个开关即可以决定是true和false,但在Java中没有明确的给定具体的大小 ),两个值:true、false


2.数据类型转换:
     自动类型转换:取值范围小的自动转成取值范围大的。
     强制类型转换:与自动类型转换相反。  利用二进制的字节长度,将超出的位数去掉,剩下的就是强制转换后得到的数值。注意运算是以补码的形式计算,所以需要转换
                              类型1  变量1 =  (类型1)变量2  ==>变量1,2不是一个数据类型

* 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    * byte b1 = 3;
    * byte b2 = 4;
    * byte b3 = b1 + b2;
        * 从两方面去回答这个题
        * b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
        * byte类型的变量在进行运算的时候,会自动类型提升为int类型
计算时类型提升:
     byte与byte(或short、char)进行运算时会提升为int型。
    * byte b4 = 3 + 4;
        * 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了


3.运算符:
     +:加号在遇到字符串时,就会变成“连接符”,
     /:相同类型的两个数相除,得到的结果与这两个数据类型相同。

      %运算符
        * 当左边的绝对值小于右边绝对值时,结果是左边
        * 当左边的绝对值等于右边或是右边的倍数时,结果是0
        * 当左边的绝对值大于右边绝对值时,结果是余数
        * %运算符结果的符号只和左边有关系,与右边无关
        * 任何一个正整数%2结果不是0就是1可以用来当作切换条件

4.二进制运算:
     计算机存储均是以二进制进行存储及计算,且计算时是以补码的方式进行计算。

     原码:
               二进制
     反码:
               正数:即原码
               负数:对原码除符号位以外逐位 取反
     补码:
               正数:与原码相同
               负数:反码+1


4 个回复

倒序浏览
才开始啊,加油
回复 使用道具 举报
二进制了解就行,目前
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
6666666666666666
回复 使用道具 举报
笔记做不错。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马