Java基础:基本数据类型

By AverageJoeWang
 标签:

数据类型分为2大类,分别为

  • 基本数据类型
  • 引用数据类型:数组,类,接口(三种引用类型的默认值为null)

本篇笔记主要记录基本数据类型

基本数据类型

基本数据类型一共有八种

基本数据类型分类

数值型:表示整数或小数

  • 整形(默认值为0): byte(-128~127), short, int, long

  • 浮点型(默认值为0.0): float, double

字符型(默认值为’/u000’):

  • char

布尔型(默认值为false):

  • boolean

数据溢出

数据在溢出的时候,比如int类型在最大值+1的时候会变成int类型的最小值

import java.lang.*;
 //  整数值如果超出了自己所可以表示范围的最大值,会出现溢出 
 public class Test
 { 
  public static void main(String args[]) 
  { 
    int x = Integer.MAX_VALUE ;  //  得到整型的最大值 

    System.out.println("x = "+x);
    System.out.println("x+1 = "+(x+1)); 
    System.out.println("x+2 = "+(x+2)); 
} 
}

结果:

x = 2147483647 
x+1 = -2147483648 
x+2 = -2147483647

当最大值加上1时,结果反而变成表示范围中最小的值;当最大值加上2时,结果变成表示范围中次小的值,这就是数据类型的溢出。读者可以发现,这个情形会出现一个循环,若是想避免这种情况的发生,在程序中就必须加上数值范围的检查功能,或者使用较大的表示范围的数据类型,如长整型。就像计数器的内容到最大值时会自动归零一样。而在整数中最小值为-2147483648,所以当整数 x 的值最大时,加上1就会变成最小值-2147483648,也就是产生了溢出。

为了避免 int 类型的溢出,可以在该表达式中的任一常量后加上大写的“L”,或是在变量前面加上long,作为强制类型的转换。

import java.lang.*;

public class Test1
 { 
  public static void main(String args[]) 
  { 
   int x = Integer.MAX_VALUE ;
   System.out.println("x = "+x); 
   System.out.println("x + 1 = "+(x+1)); 
   System.out.println("x + 2 = "+(x+2L)); 
   System.out.println("x + 3 = "+((long)x+3)); 
  } 
 }

结果

x = 2147483647 
x + 1 = -2147483648 
x + 2 = 2147483649 
x + 3 = 2147483650

类型转换

一个类型转别的类型的时候,会涉及类型转换。数据范围大的数据类型需要通过强制转换转换成数据范围小的数据类型;数据范围小的数据类型需要通过默认转换转换成数据范围大的数据类型。

long a = 2147483648L;
int a = (int)a; 
int b = 10;
long c = b;

float f1 = 1.1f;
float f2 = 1.1F;
double d = 1.1;

字符型char与ASCII

大写字母:(A-Z):65(A)~90(Z)

小写字母:(a-z):97(a)~122(z)

  • 大写字母与小写字母之间转换
char a = 'A';//A
char b = a + 32;//a