数据类型的转换
自动类型转换
自动类型转换指的是,数据可以从小的类型转换成大的类型。
byte→short→int→long
但是因为int存储数据占用31bit,float存储数据占用23bit,因此由int转换成float的过程中,当转换的数据过大时,会存在精度丢失。
而int转换为double的时候不会出现精度丢失的问题,但是long转换为double的时候会出现精度丢失的问题。
强制类型转换
强制类型转换指的是无视数据存储空间的大小,强制将一种数据类型转换为另一种数据类型,这样的方式容易造成精度丢失。
数据的自增(++)和自减(--)
m++ → m=m+1 ;m-- → m=m-1
自增和自减符号放在变量前面和后面的运算是不同的:
m++是将m先放在其他地方运算后,m再自增;
++m是先将m进行自增后,再进行别的运算。
import java.util.Arrays;
public class Test{
public static void main(String[]args){
int arr[]=new int[5];
for(int i=0;i<arr.length;i++){
arr[i]=++i;
}
System.out.println(Arrays.toString(arr));
}
}//运行结果为[1,0,3,0,5]
import java.util.Arrays;
public class Test{
public static void main(String[]args){
int arr[]=new int[5];
for(int i=0;i<arr.length;i++){
arr[i]=i++;
}
System.out.println(Arrays.toString(arr));
}
}//运行结果为[0,0,2,0,4]
自增自减的失效
如果上图中的x=x++换成x=++x,则会正常生效
三目运算符
格式:condition?expression1:expression2
以一个例子进行说明:System.out.println(10?1:2)
该式表示含义:判断10是否小于9,如果小于,则输出1,如果不小于则输出2。