数据类型
分为3类
数据类型
- byte占一个字节范围:-128-127
- short占两个字节范围:-32768-32767
- int占四个字节范围:-2147483648-214783647
- long占八个字节范围:mad不打了
浮点类型
- float占四个字节
- double占八个字节
字符类型
- 占两个字节
boolean类型:占一位只有true和false
public class Demo03 {
public static void main(String[] args) {
//整数
int num1=10;
byte num2 = 20;
short num3 = 30;
long num4 = 40l;
//小数
float num5 = 50.1F;
double num6 = 3.14159265358792131231423;
//字符
char name = '草';
//字符串,String不是关键字,是类
String namea = "莫世卿";
//布尔值
boolean flag = true;
//boolean flag = false;
}
}
拓展
整数类型
- 进制
- 二进制0b
- 十进制
- 八进制0
- 十六进制0x
int i =10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("===================");
/*
10
8
16
===================
*/
浮点数类型
浮点数有些问题,它的表现是有限的,是离散的(
就是0,1,0,1。
你想一下连续是什么,连续的对应就是离散。
例如:在生活中我们听到的声音是连续的,如人的说话声,鸟叫声等;而计算机里储存声音的是离散的二进制比特流,是经过抽样,然后量化得到的离散数据。给你再举一个例子,我们在生活中,人眼见到的图像(非计算机里的)是连续的,经过数码相机的拍照(抽样和量化的过程)变成计算机里的照片,即成为数字照片。计算机里的照片就是离散的二进制比特流,图像(灰度图像)像素的灰度值在计算机里是从0到255(实际上是用二进制表示的),即0,1,2,3,…,255,0代表黑色,255代表白色,只有0到255的整数,没有其他整数,而且没有两个整数之间的小数,即不连续的,这就叫离散。。
)
,是舍入误差的(就是接近但不等于)但有的东西是无限的
最好避免使用浮点数进行比较
最好避免使用浮点数进行比较
最好避免使用浮点数进行比较
如果真要比较,比如银行业务怎么表示呢?可以用BigDecimal数学工具类来表示。
float f=0.1f;
double d=1.0/10;
System.out.println(f==d); //false
float d1=21321321312312312f;
float d2=d1+1;
System.out.println(d1==d2);//true
字符类型
所有的字符本质还是数字。
所有的字符都以一定的规律(ASCLL、utf-8)转换成数字储存的,用时由电脑转换而来。
用编码 Unicode转换,编码 Unicode用U0000 -UFFFF表示。(ASCLL表:例如:a=97 用0-65536表示各个字符,占2字节。Excel表格最初也是2的十六次方 =65536格)。
char c1='A';
char c2='中';
System.out.println(c1);
System.out.println((int) c1);
System.out.println(c2);
System.out.println((int) c2);
/*
65
中
20013
a
*/
转义字符
/t 水平制表符(C语言的\t(水平制表)的意思:跟\n意思一样,只不过不是移到下一行,而是移到下一个TAB的位置(差不多是4个空格的距离))
/n 转行符(相当与Enter)
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
/*
Hello World
Hello
World
*/
布尔值
boolean flag =true;if (flag =true) { } //新手
if (flag) { } //老手
//Less is More! 代码要精简易读!