进制
进制的转换
- 十进制:
1234 = 1*10^3+2*10^2+3*10^1+4*10^0
- 二进制转到十进制:
1111=1*2^0+1*2^1+1*2^2+1*2^3
存储单元
位(bit): 存储一个0或者1所占用的空间
字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以 查看文件的字节大小。
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
变量
分类
基本数据类型
四类八种
- 概念: 程序运行中可以在一定范围内发生改变的量.
- 分类:
- 整数:
- 小数:
- 字符:
- 布尔:
虽然float类型取值范围更大,但是还是4个字节,所以double无法自动转换到float
布尔类型数据,选择上只占一个字节,但是通过javac编译后,为了能够统一使用,如果boolean b =true这样单独使用,那么编译后boolean会用int来表示,此时占四个字节,如果使用boolean【】 bs数组的话那么编译后,每个boolean只占一个字节.
一般意义上说booolean占一个字节,是从数据表示及内存占用的角度来说,也没有什么问题,但是真正javac编译后由jvm执行.
变量的理解
- 变量的本质: 是一块儿内存空间,而该内存空间的大小由数据类型决定.
- 要想找到变量对应的内存空间, 必须给该内存空间起个名字,叫做变量名称.后期若是想使用该变量对用的内存空间的内容的话,通过变量名就行.
- 变量对应的内存空间中, 必须有数据才能使用,否则不能使用, 这种向变量内存空间中存储数据的过程,叫做初始化/赋值.
变量的定义格式:
先挖坑,再种萝卜
数据类型 变量名称;(先挖坑)
变量名称 = 数据值;(再种萝卜)挖坑的同时种萝卜
数据类型 变量名称 = 数据值;
- 四种格式:
- int a = 10;
- int b; b = 20;
- int c = 30, d = 40;
- int e,f; e = 50; f= 60;
变量注意事项
- 定义一个变量名称时 , 在同一个大括号范围内, 变量名字不可以相同.
- 变量赋值:定义的变量,不赋值不能使用, 不使用的时候也是可以定义的.
- 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超 出int范围。
- 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
标识符
- 就是自己起的名字.如:类名,变量名,方法名....
- 规则(必须遵守)
- 可以含有 英文字母26个(区分大小写),0-9,$(美元符号)和_(下划线)
- 不能以数字开头.
- 不能是关键字
- 规范(最好遵守)驼峰规则
- 类名: 首字母大写
- 方法名: 首字母小写
- 变量名: 首字母小写
数据类型转换
java中的运算,数据类型必须保持一直.
自动类型转换
- 特点:
- 是自动完成的
- byte/short/char类型, 只要参加运算, 会自动转换为int
- 转换规则
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
运算符
运算符和表达式
算数运算符
取模运算符%
取模运算(取余数),两个数字相除取余数
数学中:
被除数/除数 = 商(/: 求的就是商) ..... 余数(%: 求的就是余数)
%的作用:
1.判断数字的奇偶性:
偶数: 数字%2 结果 0
奇数: 数字%2 结果 1
2.判断一个数字能否被另外一个数字整除
3.使用/和% 可以 求出某个数字的每一位上的数字
比如:
1234
个位: 4
十位: 3
百位: 2
千位: 1
赋值运算符
对于扩展赋值运算符来说,具有强制类型转换
自增自减运算符
如 i++ , i-- , --i , ++i
i++是 先在整体的运算式子中使用i的值, 再进行运算
++i 是 先对i进行+1, 再进行其他运算
最常用的是 i++,i--