变量与常量、数据类型、进制转换

数据在内存中的存储方式【了解】

存储数据的单位

在计算机中,最小的操作单位是 字节 byte
1byte = 8bit 一个字节对应8个二进制位
1024byte = 1kb
1024kb = 1mb
1024mb = 1gb
1024gb = 1tb
1024tb = 1pb
2014年  淘宝这十年 50PB

数据如何保存

常见进制
进制 基数范围 规则
十进制 0 ~ 9 逢10进1
二进制 0 ~ 1 逢2进1
八进制 0 ~ 7 逢8进1
十六进制 0 ~ 9 A ~ F 逢G进1

计算机支持的最大进制是36进制
26个英文字母 + 10个数字 = 36进制
进制之间的转换 【了解】
十进制 转为 二进制
125(10) = 111 1101(2)
125 1
62 0
31 1
15 1
7 1
3 1
1 1
0
二级制 转为 十进制
111 1101(2) = 2^0 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6
= 1 + 4 + 8 + 16 + 32 + 64
= 125(10)
我的开发人生突出一个字 “懒” 要学会用工具

    如何展示一个八进制数
    如果你还有点良心的话就用0开头表示0进制数
        0123 0777 0456 0899×
    八进制 和 二进制关系
    八进制的1位 对应 二进制的3位
    111 = 7 000 = 0

    任何展示一个十六进制数
    要求用0x或者用0X开头
    0xabcd 0XABCD 0xAB123
    十六进制的1位  对应  二进制4位
    1111 = 15  0000 = 0

原码 反码 补码 【掌握】

在计算机中,保存数据都是使用补码方式,这里演示我们使用整数来展示
正整数和负整数

正整数:
    三码合一 原码 反码 和 补码 是一样的
    就是该正整数的二进制表示方式 
    例如:
    118(10) = 0111 0110(2)
负整数:
    -118 
    原码: 该负数对应正整数的原码 最高位表示符号位 1表示负数,0表示正数
        -118(10) => 0111 0110(2) => 1111 0110(2)
    反码: 原码除【符号位】之外,其他位按位取反
        1111 0110(2) = 1000 1001(2)
    补码: 反码 + 1
        1000 1001(2) + 1 = 1000 1010(2)

    0111 0110(2)  118
+   1000 1010(2) -118
---------------------------
    0000 0000   0

负数在计算机中保存的形式是用补码形式
这样操作是为了简化计算机的运算逻辑复杂度,提供计算机的运行效率

常量【重点】

π 3.1415926 祖冲之
G 重力加速剂 9.8
C 光速 一秒绕地球7.5圈 真空
黄金比例 0.618
文字 英文字 A B C D

常量不单单是常见的数字,字母,文字,当然也包含语句也是常量

开发中的常量:
    在程序运行的过程中,不会发生改变的量,就是常量
    整数: 10 20 30 100 -500
    小数: 3.1415926 0.618 9.8
    真假关系: T F true false 布尔类型 boolean 舶来品

    字符:
        'a' 'A' '1' '我' '$'
        [特征]
            【英文单引号】包含的【单个元素】,这个称之为【字符常量】
    字符串:
        "This is String"
        [特征]
            【英文双引号】包含的所有内容都是字符串常量
编码集问题:
    GB2312 中国简体文字和一部分少数名族的文字 我 1111 1001
    BIG5 中文繁体字的编码 我 1001 1111
    GBK Windows操作系统,默认的中文模式的编码集 新国标 包含所有的简体文字和少数民族文字
    UTF-8 万国码 开发中统一使用的编码集
        Java HTML MySQL Oracle
    ASCII 最简单的编码集
        128个
        0 ~ 31  不可见字符
        【要求】在使用ASCII码时,直接使用字符本身,不要使用对应的编码
        'A' 对应的ASCII 65
转义字符:
    \" \' 
    \n 回车 enter
    \t tab键,制表符
    \\ 展示一个反斜杠
    \\\\ 展示两个反斜杠
    '\n'  √   字符常量
    转义字符的注意事项:
        1. 转义字符有且只能转义\之后的第一个字符
        2. 转义字符是一个整体,可以看做是一个字符常量

【面试题】
    请问 '\40'  表示什么?
    在转义字符中出现数字,都是对应ASCII码表的八进制表示 \40 == 32(10) sp
    空格。这里面试如果遇到 \040 \40 是一样的

八进制ASCII码表

十进制ASCII表

命名规范 标识符 【原则问题 规范】

以下内容参考 AJCG (阿里巴巴技术团队规范)
邮箱注册:
    126邮箱 注册邮箱名:
        6~18个字符,可使用字母、数字、下划线,需以字母开头

标识符的命名规范
    1.标识符只能使用数字 0 ~ 9 字母 A ~ Z a ~ z 以及唯一能够使用的标点符号
    下划线 _
    2. 要求标识符必须用字母开头
    3. 在标识符中,严格区分大小写!!! A a是两个完全不同的含义
    4. 标识符没有严格的长度限制,但是会根据业务的需求来确定使用的长度
    5. 标识符必须要做到 见名知意 动宾结构 【重点】
        img1 img2 img3 img4 img5 img6 
        imgTitle imgLogo imgBanner 增加辨识度
        a b c d e
        int a,b,c,d;
        ageOfStudent scoreOfStudent studentID
        tsgly 图书管理员 200RMB

        payTime
        payBeiZhu
        lp Wife
        fq Father
        mq Mather
        lg Husband
        yy
        yy1
    6. 要求使用驼峰命名法
        a) 小驼峰
            首字母小写,其他每一个单词的首字母大写
            ageOfStudent iPhone iMac iTouch iPod iPad
        b) 大驼峰
            所有单词的首字母都要大写
            要求class之后的名字要符合大驼峰命名法
            FirstJava Demo1
    7. 在Java语言中,已经被占用的关键字和保留关键字不能作为标识符
        在代码中变色的单词,不能用来当做标识符

变量 【重点】

天气 
16 ~ 31 
11 ~ 22 年龄 体重 时间 身高

方程 未知数
x + y = 15;
2x + y = 10;
x = -5 
y = 20
变量

在代码中的变量定义:
    在程序的运行过程中,可以发生改变的量,就是一个变量
    例如: 在二元一次方程中,x 和 y 都是未知数(变量)的名字,需要一个变量名,来保存或者说使用数据

考虑数据类型:
    参考常量的数据类型, 整数,小数,真假关系,字符
    整型 浮点类型 布尔类型 字符型

八大基本数据类型

整型 占用内存空间大小 数据范围
byte 1字节(8bit) 0 ~255
short 2字节(16bit) 0 ~ 65535
int 4字节(32bit) 0 ~ 2^32 - 1
long 8字节(64bit) 0 ~ 2^64 - 1
浮点型 占用内存空间大小 数据范围
float(单精度浮点型) 4字节(32bit) -3.4 * 10^38 ~ 3.4 * 10^38
double(双精度浮点类型) 8字节(64bit) 10^308
布尔类型 占用空间大小 数据范围
boolean 视情况而定(不考虑) true false
字符类型 占用空间大小 数据范围
char 2字节(16bit) 在GBK编码下可以保存中文

如何定义一个变量

数据类型 变量名 = 初始化的数据;

变量定义的注意事项:
    1) 在Java中,一个变量没有被赋值的情况下,不能使用!!!
    2) 计算机原则是保证数据的完整性,不考虑占用的数据空间是否浪费,在开发中常量小
    数会被认为是一个double类型数据。这里是用double类型的数据赋值给float类型,
    在Java中是不被允许的(数据类型一致化问题)。为了给float类型的变量赋值。要求
    格式如下:
        float floatNumber = 3.14F;
        F表示该小数是一个float类型的数据
    3) 如果给long类型变量赋值,为了保证数据类型一致化,通常会在数据之后加上大写L
    4) 在给字符变量赋值的时候,请使用字符本身,不要考虑ASCII的问题。这里可以使用
    字母,数字,标点符号,转义字符,汉字
    额外关注: '\0' ASCII 第一个字符 通常用来初始化字符类型变量
    5) = 赋值 赋值 赋值 赋值

猜你喜欢

转载自blog.csdn.net/forever428/article/details/82722298