package com.test;
public class Demo2 {
/*
* 数据类型:决定了变量所占内存的大小,并给变量确定了类型
*
* 数据类型分类: 分两大类:有符号型和无符号型 有符号型:可以存储正数负数0
*
* 注意:我们研究的是有符号型 分成两大类: 1.简单数据类型 >数值型 byte 1个字节 范围 [-2^7,2^7-1] short 2 int
* 4 long 8 >浮点型 float:单精度型 4个字节 double:双精度型 8个字节 >布尔型 boolean 1个字节
* ture/false 注意:在java中,只能使用ture/false判断, 不能像c中用0代表false
*
* >字符型 char 1个字节 所对应的字符集是ASCII 常用的字符集: GBK/GB2312 中国的 ISO8859-1 欧洲的 utf-8
* 通用的 unicode 计算机内部的编码 // 对于中文来说: 一个汉字2个字节 不支持中文,一个汉字1个字节 支持中文,一个汉字3个字节
* 一个汉字2个字节
*/
public static void main(String[] args) {
// 数据类型的使用
byte a = 4;
System.out.println(a);
/*
* 注意:我们说给变量赋值的时候有两种描述 1.初始化:就是在定义变量的时候完成赋值 2.赋值:单独的给变量赋值
*
*/
float f = 3.4f;
double d = 4.5;
System.out.println("float型的最大值:" + Float.MAX_VALUE);
System.out.println("double型的最大值:" + Double.MAX_VALUE);
// 布尔型
char c = 'a';// 注意:单引号中只能放一个字符
System.out.println((int) c);// 将char型强制转换成int型
// 常用的字符集: GBK/GB2312 中国的 ISO8859-1 欧洲的 utf-8 通用的 unicode 计算机内部的编码
// 对于中文来说: 一个汉字2个字节 不支持中文,一个汉字1个字节 支持中文,一个汉字3个字节 一个汉字2个字节
//
// 编码:我们将字符(字符串)通过字符集转换成二进制形式的过程
// 解码:反之解码
// 乱码:就是在编码与解码的过程中使用了不同的字符集,造成输出了错误的字符.
// 1.数据类型的转换
/*
* 数据类型的优先级:从低到高(标准是按照数的大小范围): byte,char-short-int-long-float-double
* 从高到低叫强制类型转换:有可能造成数据的丢失 从低到高叫自动类型转换:不会造成数据的丢失
*/
// 强制类型的转化实例
int num = 128;
byte num1 = (byte) num;
System.out.println(num1);
// 实例二:整数默认是int类型
byte num2 = 30;
num = (byte) (num2 + 2);
// 实例三
char c1 = 'c';
int c2 = c1;
System.out.println((int) (c1));
System.out.println((char) (c1 + 1));
// 比较long型和float类型的大小
long maxlong = Long.MAX_VALUE;
float maxfloat = Float.MAX_VALUE;
System.out.println(maxlong > maxfloat);// 结果:false;说明long型的最大值小于float型的最大值
}
}