java基础知识总结(一)--数据类型
java一共有八种基本数据类型:
1.整型:
类型 |
长度 |
byte |
1个字节 |
short |
2 |
int |
4 |
long |
8 |
java中整型的范围与运行java的机器无关,这也解决了平台的移植性问题;Java没有任何无符号类型;
2.浮点类型
类型 |
长度 |
float |
4 |
double |
8 |
三种异常的浮点数:
1.正无穷大(1/0) Double.POSITIVE_INFINITY
2.负无穷大 (-1/0) Double.NEGATIVE_INFINITY
3.不是数字0/0 负数开根号等:Double.NaN
判断是不是一个合法数 Double.isNaN(v),而不能用==
如果不允许有误差,则不能用浮点类型,因为计算机中用二进制来存储,无法准确表示十进制的数,例如1/10。
double x=2.0;
double y=1.1;
System.out.println(x-y);
---》0.8999999999999999
3.char类型
表示单个字符,通常用来表示字符常量;
java中的 char 数据类型使用 Unicode 编码,占用两个字节内存。
package test;
public class Char {
public static void main(String[] args) {
char ch1 = 97;
char ch2 = 'a';
System.out.println("ch1=" + ch1);
System.out.println("ch2=" + ch2);
}
}
输出结果??
-》a
-》a
代码点是指与代码表中一个字符对应的代码值;
代码单元是指表示一个字符的连续空间;
java对字符unicode的实现是UTF-16+增补字符的形式实现的;基础类型用一个代码单元表示;特殊字符,用两个连续的代码单元表示;
4.boolean类型
只有true跟false,不能跟int相互转换;
String类型
java中的string为不可变字符串;
例如string x="hello";
如何改变最后两位为p!;
X=X.substring(0,3)+"p!";
java中只能通过修改变量指向,来改变变量的值;这样修改跟直接修改所指的值效率哪个更高呢?修改会降低一部分效率,但是做到了字符串变量共享。共享所带来的高效率远高于拼接的消耗;
字符串常用方法
charat
数组类型:
初始化时,必须指定长度;数字类型数字初始化时,默认为0;布尔类型默认为false;
数组一旦创建就不能再改变其大小;
数组操作:
Arrays.Copyof
Arrays.Sort
Arrays.binarySearch(arr, 1)二分法查找
Arrays.fill(arr, 1)
大数值:
如果实际场景时比较大的数值,那么int long double等不能满足条件,只能使用java.math类中的大数值
bigInteger bigDecimal
通过valueof可用将普通基础类型转换为大数值类型:
bigInteger bInt=BigInteger.valueof(100);
注意大数值类型不支持+-等运算符,只能使用math类提供的方法;