System.currentTimeMillis();会返回一个long类型的数据。此数据为从1970年1月1日0时0分0秒到系统当前时间之间的所有毫秒数。
浮点数类型:2种--小数类型
float:
在内存中占4字节大小,32位二进制。范围:-3.403E38~3.403E38
double:
在内存中占8字节大小,64位二进制。范围:-1.79E308~1.79E308
浮点类型字面量:默认类型为double,即64位的浮点数类型,如果想直接写32位的浮点数,需要在数值后添加f/F。
比如:double num = 3.14;
float num1 = 3.14f;
范围从大到小排序:
double>float>long>int>short>byte
精度从大到小排序:(int,long,float,double)
long>int>double>float
发现:浮点数类型在存储数据时,会有舍入误差,即不够精确。但是,double要比float更精确一些(相比float,要精度多一倍)
double:双精度浮点数类型
float:单精度浮点数类型
char:字符类型:在内存中占2字节大小,16位二进制。
赋值特点:
(1)值中,有且只有一个字符。
(2)字符必须用单引号引起来。
另外特点:底层二进制是无符号的整数类型,即0~2^16-1----->0~65535。所以赋值时,也可以赋值整数。但是存入空间后,其实是其整数对应的字符。
java语言默认使用的字符集为unicode。
unicode字符集;
无论字母,还是汉字,都占两个字节大小。
字符集:即二进制与字符的一一对应关系的表。
编码:将字符---->二进制(写)
解码:将二进制---->字符(读)
java语言常用字符:
'A'~'Z'-->65~90
'a'~'z'-->97~122
'0'~'9'-->48~57
java语言中的转义字符:
'\':将特殊字符变成相应意义的字符。
java语言中的特殊字符:
单引号,双引号,制表符,换行符,回车符号
'\'' 单引号
'\"' 双引号
'\\' 反斜线
'\t' 制表符
'\r' 换行符 (有翻页效果,看不到上一页的数据)
'\n' 回车符
需求:查看字符集中,某一字符对应的整数,将字符赋值给int类型的变量即可。
int num = '钟';
int num1 = '慧';
char c1 = 65;
布尔类型:用来判断条件是否成立的。
在内存中占1字节大小。只有两个值true/false,true表示条件成立,false表示条件不成立。
类型转换:
1、自动转换(隐式转换)
占内存小的类型变量赋值给占内存大的类型变量,会发生自动转换。
eg: byte b = 5; short b1 = b;//8位的b赋值给了16位的b1,在前面自动添8个0。
int c1 = -1; long c2 = c1;//32位的-1赋值给了64位的c2,自动填了32个1。
long c3 = -1;//也为隐式转换
自动转换依次排序:short 与char一定是强制转换
byte-->short-->int-->long-->float-->double
char
2、强制转换(显示转换)
占内存大的类型变量赋值给占内存小的类型变量,需要强制转换。语法如下:(占内存小的变量类型名)变量;
注意:可能出现精度损失。
eg: int a = 1;byte a1 = (byte)a;
long b = -10;int b1 = (int)b;
强制转换依次排序:char与short一定是强制转换
double-->float-->long-->int-->short-->byte
char
引用类型之一:String:字符串类型
赋值特点:
1、必须使用双引号。
2、引号内有0或0个以上的字符都可以。
3、字符串可以做拼接操作,拼接后的数据仍是字符串类型。
在做运算时,+前后只要有一个是字符串类型就会做拼接操作。结果是字符串类型。
eg: String m = "中国"; String m1 = "666"; String m2 = m+m1;//进行拼接,打印结果为:中国666
eg:String n1 = "";//可以为空字符。 String n2 = " ";//空格字符串也可以,可以为多个空格。
运算符:两原一封:
两个原则:
1、不同类型的数据做运算时,一定会先转换成较大范围类型后再运算。
2、byte,short,char这些类型运算时,一定会先转成int类型在运算,结果为int类型。
封:一定要注意封闭式运算。
算数运算符:+ - * / % ++ --
/:
情况1:参与的类型都是整型时,做取整运算,即商n余m,结果为n。
情况2:只要有一个浮点数参与,就会做类似精确运算。
%:取余运算符号,也叫取模运算符号,做除法运算时,商n余m,结果为m。
情况1:参与运算都是整数时,余数是精确值。
情况2:有浮点数参与时,余数不一定是精确值。
注意:取余运算一般被用来判断某一个数能否被另外一个数整除。
++/--:都是自增自减运算符
符号与变量一起使用。表示变量自动+1,或自动-1。如:++a/a++/--a/a--。++a/a++:是a=a+1的简写。--a/a--:是a=a-1的简写。
情况1:即与变量在一起,不与其他任何符号连用时(单独使用)eg:++a a--
情况2:自增/自减运算与其他符号连用时需要考虑表达式的值。++a/a++/--a/a--整体看成表达式。
口诀:符号在前,先运算再赋值;符号在后,先赋值再运算。
解析:符号在前时,变量先自增/自减,新值赋值给表达式;
符号在后时,先把变量的值赋值给表达式,然后变量再自增/自减。
如:int w = 10; int p = 5;
表达式值: 10 12 5 3 12
变量值: 10 12 4 3
w = w++ + ++w + p-- + --p - w;