java基础02:数据类型
-
-
Java数据类型分为两大类
-
基本类型
-
引用类型
![]()
-
-
八大基本数据类型
-
整数
int num1 = 10;//不超过21亿
byte num2 = 120;//不能超过127
short num3 = 111111;//不能超过5位数
long num4 = 40L;(long类型要在数字后面加L)-
小数:浮点数
float :单精度浮点数在机内占 4 个字节,用 32 位二进制描述。
double :双精度浮点数在机内占 8 个字节,用 64 位二进制描述。精度高
float num5 = 50.1F;(float类型要在数字后面加F)
double num6 = 3.1415926535897932384625; -
字符
char name = '贾';//一个字母或一个汉字String nam = “贾鑫鑫”;//字符串String不是关键字,是类
-
布尔值: 是非
boolean flag = true;
boolean fla = false;
-
二、科普: 字节

三、拓展
-
整数拓展: 进制:二进制0b,八进制0,十进制,十六进制0x
int a = 10; //十进制
int b = 010; //八进制,0开头
int c = 0x10; //十六进制,0x开头。
-
浮点数:有限,离散,舍入误差,大约,接近但不等于。
最好完全避免使用浮点数进行比较
-
所有字符的本质还是数字
-
转义字符
-
\t 制表符
-
\n 换行
-
![]()
-
-
布尔值扩展
boolean flag = true;
if(flag ==true){} //新手
if(flag ){} //老手
代码要精简易读
四、类型转换
-
Java是强类型转换,所以要进行有些运算的时候,需要用到类型转换。
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
低------------------------------------------------------->高
byte,short,char—>int—>long—>float—>doule
-
强制转换(高到低)
格式:(类型)变量名。
例子:int
-
内存溢出问题
代码:
public class day1 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
}
}
结果:128
-128
-
自动转换(低到高)
-
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能出现内存溢出,或者精度问题!
-
-
例:
public class day1 {
public static void main(String[] args) {
//操作比较大的数时,注意溢出问题
//数字之间可以用下划线分割
int money=10_0000_0000;
byte year = 20;
int sun1 =money*year;//计算的时候溢出了
long sun2 =money*year;//两个数默认时int,转换之前已经存在问题
long sun3 =money*((long)year);//先把一个数转为long
System.out.println(sun1);
System.out.println(sun2);
System.out.println(sun3);
}
}
结果:-1474836480
-1474836480
本文来自博客园,作者:Joan鑫,转载请注明原文链接:https://www.cnblogs.com/jiaxinxin/p/15354842.html



浙公网安备 33010602011771号