java语言两大类型
(1)基本数据类型-原始数据类型
(2)引用数据类型

基本数据类型:8种
整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean
byte(不常用): 也叫字节类型,在内存中占8位二进制,1字节大小,是数据存储的最小单位。
范围:-128~127
幂表示:-2^7~2^7-1
short(不常用):也叫短整型。在内存中占16位二进制,2字节大小。
范围:-32768~32767
幂表示:-2^15~2^15-1
int(常用):也叫整型。在内存占32位的二进制,4字节大小。
范围:-2147483648~2147483647
幂表示:-2^31~2^31-1
long(常用):也叫长整型。在内存占64位二进制,8字节大小。
范围:正负922亿亿左右
幂表示:-2^63~2^63-1
float: 在内存中占4字节大小,32位二进制
范围: -3.403E38~3.403E38
#字面量:默认类型为double,即64位的浮点数类型
如果想直接写32位的浮点数,需要在数值后添加f/F
例:double num = 3.14;
float num1 = 3.14F;
double:在内存中占8字节大小,64位二进制
范围: -1.79E308~1.79E308
char:在内存中占2字节大小,16位二进制。
赋值特点:(1)值中,有且只有一个字符
(2)字符必须使用单引号引起来。
(3)底层二进制是无符号的整数类型 ,即 0~2^16-1—>0~65535
赋值时,也可以赋值整数。但是,存入变量空间后,其实是其整数对应的字符。
boolean:用来判断条件是否成立的。在内存中占1字节大小。
只有两个值 true/false true:表示条件成立 false:表示条件不成立

范围大小从大到小排序:
double>float>long>int>short>byte
精度大小从大到小排序:(int,long,float,double)
long>int>double>float

#java语言默认使用的字符集为unicode。
unicode字符集:无论字母,还是汉字,都占两个字节大小
字符集: 即二进制与字符的一一对应关系的表
GBK,GBK2312 ,UTF-8
写文件时:采用unicode输入’中’
00010110 01010101
打开文件时:采用GBK
00010110 01010101—-好
编码:将字符—>二进制

解码:将二进制—>字符

java语言常用的字符:
‘A’~’Z’ ->65~90
‘a’~’z’ ->97~122
‘0’~’9’ ->48~57
java语言中的转义字符:
‘\’:将特殊字符变成相应意义的字符。
java语言中的特殊字符:
‘\” 单引号
‘\”’ 双引号
‘\’ 反斜线
‘\t’ 制表符
‘\r’ 换行符,(有翻页效果,看不到上一页的数据)
‘\n’ 回车符,

需求:查看字符集中,某一字符对应的整数
将字符赋值给int类型的变量即可

System.currentTimeMillis();会返回一个long类型的数据。
此数据为 从1970年1月1日0时0分0秒到系统当前时间之间的所有毫秒数。

类型转换:
1.自动转换(隐式转换)
占内存小的类型变量赋值给占内存大的类型变量,会发生自动转换。
例:byte b = 5;
short b1 = b;//8位的5赋值给16位5,在前面自动添8个0

例:int c1 = -1;
long c2 = c1;//32位的-1赋值给了64位的c2里,自动填了32个11
long c3 = -1;

byte-->short-->int-->long-->float-->double
        char

2、强制转换:
占内存大的类型变量赋值给占内存小的类型变量,需要强制转换。
语法如下:(占内存小的变量类型名)变量;
注意:有可能出现精度损失。
例: int a = 1;
byte a1 = (byte)a;
  例:long b = -10;
int b1 = (int)b;

double->float-->long-->int-->short--byte
                          char