学习日记Day13.1 计算机常用数据类型、进制和类型转换
数据类型
强类型语言 例如:java
需求变量的使用需要严格符合规定,所有变量都必须先定义后才能使用
好处:安全性高(因为严谨)
坏处:速度慢
弱类型语言
好坏处与上面相反
java的数据类型分为两大类
基本类型(primitive type)
引用类型(reference type)
**基本数据类型**——数值类型:整数类型:1.byte占用1个字节范围:-128 —— 127
2.short占两个字节:-32768 —— 32767
3.int占4个字节:--2147483648 —— 2147483647
4.long占8个字节
浮点类型:1.float占4个字节
2.double占8个字节
字符类型:char占两个字节
——布尔类型:boolean类型:占1位,其值只有true和false两种
**基本数据类型**——数值类型:类
接口
数组
//八大基本数据类型
//整数
int num1 = 10;//最常用
byte num2 = 2;
short num3 = 3;
long num4 = 100L;//long类型要在数字后面加个L区分
//小数:浮点数
float num5 =50.1F;//小数默认是double类型,所以数字后加F
double num6 =3.1
//字符
char name = '周';/*注意,字符就是单个字,写成多个就会报错
字符串,String不是关键字,是一个类*/
String name1 ="中国";
//布尔值:是非
boolean flag = ture;//boolean flag = false;
计算机进制
计算机常用进制:二进制、八进制、十进制、十六进制
二进制:用0、1表示;
八进制:用0、1、2、3、4、5、6、7表示;
十进制:0-9;
十六进制:逢16进1,用0-9表示零到九,用A、B、C、D、E、F分别表示10-15,字母不区分大小写
最好完全避免使用浮点数进行比较
转换
强制转换:(类型)变量名 高 → 低 (高类型向低类型转换时,很可能会内存溢出或者是精度丢失)
自动转换: 低 → 高
例:int i=128;
byte b=i; //← 报错
↓↓
使用了强制转换
int i=128;
byte b=(byte)i; //←(内存溢出) 丢失精度,这里byte表示127 ~ —128区间
类型转换
低 → → → ————————— → → → 高
byte、short、char、int、long、float、double
运算中,不同类型的数据先转化成为同一类型,然后运算
注意点:
1.不能对布尔值(boolean)进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量的类型转换到低类型时,强制转换
4.转换时可能存在内存溢出,或者丢失精度问题!(只存在于高转低)
//操作较大数的时候注意溢出问题
//JDK7新特性,数字间可以用下划线分割
int money = 10_0000_0000;//这里下划线不影响数字,可以看得更直观
int years = 20;
int toy = money*years;//这里计算的数溢出了,要注意
long toy2 = money*years;/*我们试试long,但是结果依然溢出了,
默认是int,转换前就已经出现问题了*/
long toy3 = money*(long)years;
System out printin(toy3);//这里计算就没问题了

浙公网安备 33010602011771号