数据类型(其他参考'JAVA数据类型.xlsx') :
基本数据类型:整数(byte,short,int,long),浮点(float,double),字符(char),布尔(boolean)
整数(Byte,Short,Integer,Long),浮点(Float,Double),字符(Character),布尔(Boolean)
引用数据类型:数组,类,接口
byte 1 字节=8 bit -2^7 ----- 2^7-1 -128 ----127(兼容)
shout 2 字节=16 bit -2^15 ------ 2^15-1 -32768 ----- 32767(兼容)
int 4 字节=32 bit -2^31 ------2^31-1 正负21亿之间
long 8 字节=64 bit -2^63 ------ 2^63-1 特别大
float 精度:8个有效数字
double 精度:17个有效数字
char 2 字节=16 bit
boolean 1 字节=8 bit true 或者 false
int:
整数直接量:直接写出整数,默认是int类型
JAVA整数相除只取整数部分(省略小数部分)
给int变量赋值:
int a=30; //10进制给int变量赋值
int b=0xffff; //16进制以0x开头
int c=0565467; //8进制以0开头
int d = 0b11110000; //新版本支持0b开头的二进制赋值
溢出问题:正数溢出成负数,负数溢出成正数
long
long类型的直接量,需要加L/l(int直接量超过int范围要加L)
long进行较大整数运算:long M=2100000000*3L;
java提供了获取系统时间毫秒值的API:System.currentTimeMillis();
//是从1970年1月1日0点0分0秒(时间原点)到现在的时间毫秒值
//时间是没有原点(开头)的
//1970年前还有像明朝(1368年―1644年),而为什么设置1970年为原点
//是因为是科学家规定的(为什么规定1970年,有种说法是因为1970年是unix的起源)
//unix是第一台较完善的分时操作系统(之前都是批处理系统)
浮点型:
单精度腹点数float直接量需要加F后缀
double使用范围很广(大多数场合都用double表示浮点数)
小数默认直接量是double
小数赋值
double e=5;
e=0.5;
e=.5;
e=2E2; //科学计数法; //2*10^2
e=2e-2; //2*10^-2;
浮点数double和float不能表示精确地浮点直接量
e = 3.0-2.9; //BigDecimal代替浮点数使用
字符型:
Java中所有的字符对应到底层都是unicode编码(数字:16位的无符号的整数)注:Java采用unicode编码
char类型赋值(整数,Unicode,字符)
char c2=97;
int i2=97; //自动类型转化
c2=(char)i2;//强制类型转化
char c3='\u4e2d';//中
c3='中';
char c4=20013;
特殊字符需要转义才能使用(转义字符)
需要转义的字符 \n,\t,\',\",\\
范围小的可以直接转化为范围大的(自动转换)
范围大的不可直接转换为范围小的,如何需要转换就要强制转换,但是会损失精度
一般定义的变量不直接表明,整形变量类型默认就是int,浮点变量类型默认就是double
double和float都是不精确的直接量(BigDecimal是精确的浮点数)
运算符:
算数运算:+ - * / % ++ --
关系运算:> < >= <= !=
逻辑运算:& | ! && ||
三目运算:条件 ? 结果1:结果2;
赋值运算:= a-=1; a+=1;