JAVA学习——java数据类型

数据类型

在这里插入图片描述
所有数据类型的默认值必须结合类来观察,主方法中不存在默认值,必须赋值后使用
例如

public class Test{
   public static void main(String[] args) {
        int a;//a未赋值
        System.out.println(a);
   }
}

编译时会报错:可能尚未初始化变量a
如果我们这样写

public class Test{
   public static void main(String[] args) {
        System.out.println(new T().a);
   }
}
class T{
    int a;
}

则输出0

数据类型的使用
1.描述整数就用int,描述小数就用double
2.long一般用于描述日期、时间、内存或者文件大小
3.编码转换或者二进制流的操作使用byte
4.char一般用于描述中文(基本忽略–java中多用String类)

1.整型
–在java程序中任何一个整型常量都是int类型
–在java中声明一个long类型的常量,可以在数字后加上l或者L(推荐);
–大数据类型与小数据类型做数值运算时,小的数据类型会自动转为大数据类型,无须强转
–大的数据类型转小的数据类型必须强转,可能会丢失内容,比如

long num = 2147483648L; 
int result = (int) num;

但是在进行整型数据操作的过程之中也会存在数据溢出问题,指的是当已经达到了整型的最大最小值继续进行数学而可能产生的错误数据问题
可以看一下下面的代码

int maxValue = Integer.MAX_VALUE; // Integer.MAX_VALUE描述java中整型常量的最大值
int minValue = Integer.MIN_VALUE; 
System.out.println(maxValue); 
System.out.println(minValue);

输出
2147483647
-2147483648
如果我们把整型最大值加1 最小值减1会发生什么情况

int maxValue = Integer.MAX_VALUE;
int minValue = Integer.MIN_VALUE; 
System.out.println(maxValue+1); 
System.out.println(minValue-1);

输出的是
-2147483648
2147483647
整型最大值加1变最小值;最小值减1变最大值
解决方法就是更换类型
使用long来解决数据溢出问题
注意不能这样写

int maxValue = Integer.MAX_VALUE; 
long num = maxValue+1;

原因在于程序从右向左执行,maxValue和1都是int类型,相加后已经就超出范围
可以这样写

int maxValue = Integer.MAX_VALUE; 
long num = maxValue+1L;

或者

int maxValue = Integer.MAX_VALUE; 
long num = (long)maxValue+1;

2.浮点型
小数默认都是double类型,需要注意的是,double可以保存的数字是最大的。
float保存范围小于double,如果要使用float,必须强制类型转换,在小数后加"F"或者"f"。

float f1 = 1.1F ; 
float f2 = (float)1.1;

3.字符型
字符型使用char来表示,并且使用’ '来表示字符变量内容,并且可以与int相互转换

char c = 'A' ;
 int num = c ; //无需强转
 System.out.println(num) ;

实现大写字母变小写字母(差32个长度)

char c = 'A' ;
int num = c + 32 ; // char+int=int ; 
char x = (char) num ; // int转char需要强转 
System.out.println(x) ;

注意:字符型数字(‘0’ ~ ‘9’)与int数字(0~9)不同 if(‘0’== 0)一定是false
4.布尔型
boolean(true、false) 默认值为false

猜你喜欢

转载自blog.csdn.net/eve8888888/article/details/83110905
今日推荐