美文网首页
Day02_进制_存储单元_变量_标识符_数据类型转换_运算符

Day02_进制_存储单元_变量_标识符_数据类型转换_运算符

作者: 蹦蹦跶跶的起床啊 | 来源:发表于2020-02-11 19:33 被阅读0次

    进制

    进制的转换

    1. 十进制:
    1234 = 1*10^3+2*10^2+3*10^1+4*10^0
    
    1. 二进制转到十进制:
    1111=1*2^0+1*2^1+1*2^2+1*2^3
    
    进制.png

    存储单元

    1. 位(bit): 存储一个0或者1所占用的空间

    2. 字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以 查看文件的字节大小。

      8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。(二进制中,8位数字0或1表示1个字节,最大表示十进制255)

      8 bit = 1 B

      1024 B =1 KB

      1024 KB =1 MB

      1024 MB =1 GB

      1024 GB = 1 TB


    变量

    分类

    基本数据类型

    四类八种
    1. 概念: 程序运行中可以在一定范围内发生改变的量.
    2. 分类:
      1. 整数:
      2. 小数:
      3. 字符:
      4. 布尔:
    四类八种.png 四类八种具体.png

    虽然float类型取值范围更大,但是还是4个字节,所以double无法自动转换到float

    布尔类型数据,选择上只占一个字节,但是通过javac编译后,为了能够统一使用,如果boolean b =true这样单独使用,那么编译后boolean会用int来表示,此时占四个字节,如果使用boolean【】 bs数组的话那么编译后,每个boolean只占一个字节.

    一般意义上说booolean占一个字节,是从数据表示及内存占用的角度来说,也没有什么问题,但是真正javac编译后由jvm执行.

    变量的理解

    1. 变量的本质: 是一块儿内存空间,而该内存空间的大小由数据类型决定.
    2. 要想找到变量对应的内存空间, 必须给该内存空间起个名字,叫做变量名称.后期若是想使用该变量对用的内存空间的内容的话,通过变量名就行.
    3. 变量对应的内存空间中, 必须有数据才能使用,否则不能使用, 这种向变量内存空间中存储数据的过程,叫做初始化/赋值.

    变量的定义格式:

    1. 先挖坑,再种萝卜

      数据类型 变量名称;(先挖坑)

      变量名称 = 数据值;(再种萝卜)

    2. 挖坑的同时种萝卜

      数据类型 变量名称 = 数据值;

    • 四种格式:
      1. int a = 10;
      2. int b; b = 20;
      3. int c = 30, d = 40;
      4. int e,f; e = 50; f= 60;

    变量注意事项

    1. 定义一个变量名称时 , 在同一个大括号范围内, 变量名字不可以相同.
    2. 变量赋值:定义的变量,不赋值不能使用, 不使用的时候也是可以定义的.
    3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超 出int范围。
    4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。

    标识符

    • 就是自己起的名字.如:类名,变量名,方法名....
    • 规则(必须遵守)
    1. 可以含有 英文字母26个(区分大小写),0-9,$(美元符号)和_(下划线)
    2. 不能以数字开头.
    3. 不能是关键字
    • 规范(最好遵守)驼峰规则
    1. 类名: 首字母大写
    2. 方法名: 首字母小写
    3. 变量名: 首字母小写

    数据类型转换

    java中的运算,数据类型必须保持一直.

    自动类型转换

    • 特点:
    1. 是自动完成的
    2. byte/short/char类型, 只要参加运算, 会自动转换为int
    3. 转换规则
    byte, short, char->int->long->float->double
    

    注意:
    会自动补齐数据前边的若干0

    强制类型转换

    • 格式:

      转后类型 变量名称 = (转后类型)转前的数据或者变量;

    注意:
    强制类型转换,根据要求砍掉数据前边的若干字节,如果被砍掉的字节都是0, 对数据不影响,只要包含的数据中含有1,就有影响

    ASCLL编码表

    相当于电脑的字典, 比如在存储字母a时, 电脑会自己去找到编码表里a所对应的编码97.

    存储的就是字符和数字对应的关系

    在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。

    • 编码表:就是将人类的文字和一个十进制数进行对应起来组成一张表格。
    • 存储字符时:需要查找ASC码表,找到字符对应的数字,将数字转换为二进制数存放到计算机中
    • 使用字符时:将对应的二进制数转换为十进制 找到ASC表中对应的字符 显示出来

    例子:

    存:'a'--> 97 --> 二进制进行存储

    取:去除二进制转换成十进制 --> 97 --> "a"

    注意:
    byte/short/char 类型,只要参加运算,就会自动转换为int类型

    a-->97

    A-->65

    相差32

    运算符

    运算符和表达式

    算数运算符

    运算符.png

    取模运算符%

        取模运算(取余数),两个数字相除取余数
        数学中:
                被除数/除数 = 商(/: 求的就是商) ..... 余数(%: 求的就是余数)
                
    %的作用:
        1.判断数字的奇偶性:
            偶数: 数字%2 结果  0
            奇数: 数字%2 结果  1
            
        2.判断一个数字能否被另外一个数字整除
        
        3.使用/和% 可以 求出某个数字的每一位上的数字
        
            比如:
                1234
                个位: 4
                十位: 3
                百位: 2
                千位: 1
    

    赋值运算符

    赋值运算符1.png

    对于扩展赋值运算符来说,具有强制类型转换

    自增自减运算符

    自增自减.png


    如 i++ , i-- , --i , ++i

    i++是 先在整体的运算式子中使用i的值, 再进行运算

    ++i 是 先对i进行+1, 再进行其他运算

    最常用的是 i++,i--

    相关文章

      网友评论

          本文标题:Day02_进制_存储单元_变量_标识符_数据类型转换_运算符

          本文链接:https://www.haomeiwen.com/subject/iefffhtx.html