文章目录
- 一:JAVA基础03 数据类型
- 1:Java的数据类型
- 什么是字节:
- 二:JAVA基础 04 数据类型扩展及面试讲解
- 1:进制
- 2:浮点数
- 如果不想浮点数有误差 用BigDecimal 类
- 3:字符
- 4:转义字符
- 5:对象 从内存分析(以后补充)
- 6:布尔值扩展
一:JAVA基础03 数据类型
语言的基础都差不太多,数据类型、变量定义、数组、字符串、可能不同的就是输入输出符号、运算符等。
1:Java的数据类型
java是一种强类型语言,先定义才能使用。
分为两类,基本数据类型和引用数据类型。
记住常用的数据类型即可,不用过多纠结。
整形、浮点型、字符类型还有布尔类型。
什么是字节:
位(bit) 是计算机内部数据存储的最小单位,比如说100110001是一个八位二进制数。
字节(byte)是计算机中数据处理的基本单位,用B表示
1B(byte,字节)=8bit(位)
字符 指计算机中使用的字母、数字、字、和符号。
电脑的32 位 64位指的是寻址能力。32位只能装32位操作系统 64位可以装32位或者64位操作系统。64位可以扩容,理论上无限大。32位最多加到4gb。
二:JAVA基础 04 数据类型扩展及面试讲解
1:进制
二进制0b
八进制0
十六进制0x
满X进1(x就是二、八、十六等) 和日常生活中常用的十进制的概念是一样的。
八进制的10 就相当于 8 因为八进制 满8进1 和十进制中满10 进1一样
十六进制的10 就相当于16 原理同上。
有问题就写代码试试,通过代码可以看出来,是十六进制就是从16开始进位的
可以看出来啊,十六进制5还是5。 这种了解即可。以后写题,写工程的时候不会再查。关键是学java的思想,面向对象,类,封装继承多态等特殊属性。其他通用的知识,和其他语言大差不差。
2:浮点数
最好完全避免使用浮点数进行比较。
因为有舍入误差,会四舍五入。 浮点数的结果就是一个约数,接近但是不等于。
很神奇,人类看着相同的两个数,计算机却不同,爆出一个false 说明二者不相等。
因为有舍入误差,会四舍五入。 浮点数的结果就是一个约数,接近但是不等于。
如果不想浮点数有误差 用BigDecimal 类
3:字符
所有的而字符本质还是数字,因为计算机里面所有数据都是以数字存储的。
之所以是字符表示,是因为用了char这个关键字,将数字以字符形式展示出来了。
强制类型转换:把定义过的数据的类型转换一下 前面加个括号,括号里面写数据类型。
最好的验证方式是代码,代码可以看出来,a的整数类型是97 这其实就是ASCII 阿斯克码表里面的数值,每个数字都对应了相应的大小写字母和特殊符号等。计算机就是这样利用数字存储的。
这其实和编码有关 Unicode编码可以处理任何语言的 文字,占两个字节,就是16位
2的16次方,最多可以表示65536个字符。0~65536。 本身都是数字,用char把它变成了中文而已。因为Unicode 里面有一张表格 每一个数字都等于一个字符 比如 97 = a
65 = A 65就代表大写的A 。 编辑的时候会查这个表,本质还是数字。
范围U0000 ~ UFFFF 四个四位就是16位 0~65535.
但是java优化之后 只用打
再输出出来就行了。
4:转义字符
加入了一个 \t 可以发现输出结果中间多了一点空间 但是不是空格 \t代表的是制表,也就是一个table键 \t制表符 \n 换行。
5:对象 从内存分析(以后补充)
很神奇的发现,new出来的一个对象输出的字符串和正常数据类型定义的居然结果不一样。这学了面向对象之后就知道了。 从内存级别分析。
6:布尔值扩展
这两个 括号里面的句子是等价的。熟练之后直接写第一个就行了。默认就是等于true了。
这样做的好处是,代码精简易读。