8大基本数据类型

基本数据类型

数据类型

大小

范围

默认值

字节型:byte

8位

-27 ~ 27-1

0

字符型:char

16

‘ \u0000~u\ffff ’

‘\u0000 ’

 

 

 

短整型: short

16

-215 ~ 215-1

0

整型:int

32

-231 ~ 231-1

0

 

长整型: long

64

-263 ~ 263-1

0

 

单精度浮点型: float

32

-3.40292347E+38~3.40292347E+38

 

0.0f

 

双精度浮点型:

double

64

-1.79769313486231570E+308~1.79769313486231570E+308


0.0d

 

布尔型

boolean

1

true/false

false

 

引用类型的默认值是null

引用数据类型

(引用类型的默认值为null.)

1.类       2.接口        3.数组   4.String (特殊的引用类型)

变量:

变量可以分为局部变量和全局变量.

什么叫变量:  值随时发生变化的量.

变量类型 变量名=初始化的值(定义变量的三要素)

int age=15;

全局变量属于类,而不属于某个代码块

由关键字static修饰的变量叫做静态变量

由static修饰的属性,方法或者代码块,在类编译的时候,从始至终值编译一次,一般用于加载重量级内容.

标识符的命名规则:

字母.数字,下划线以及美元符号$组成的变量名开头不能用数字,符号不建议使用避免发生混淆或有其他用途.

转换类型:

   自动类型转换(隐式的)

   强制类型转换(显示的)

 

 

基本数据类型

常量:

   值是固定不会变得量

eg:PI基本数据类型的最大值和最小值

eg:public final static int PA=|0|;

常量的名称字母全部大写

常量的值由两种赋值方式:

• 在定义的时候就把值赋好

• 在构造中赋值                                                 

常量的固定不发生变化,即是不可能够改变常量的值.

Java 基本数据类型

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。

Java的两大数据类型:

•   内置数据类型

•   引用数据类型

 

内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte:

•   byte数据类型是8位、有符号的,以二进制补码表示的整数;

•   最小值是-128(-2^7);

•   最大值是127(2^7-1);

•   默认值是0;

•   byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;

•   例子:byte a = 100,byte b = -50。

short:

•   short数据类型是16位、有符号的以二进制补码表示的整数

•   最小值是-32768(-2^15);

•   最大值是32767(2^15 - 1);

•   Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;

•   默认值是0;

•   例子:short s =1000,short r = -20000。

int:

•   int数据类型是32位、有符号的以二进制补码表示的整数;

•   最小值是-2,147,483,648(-2^31);

•   最大值是2,147,485,647(2^31 - 1);

•   一般地整型变量默认为int类型;

•   默认值是0;

•   例子:int a =100000, int b = -200000。

long:

•   long数据类型是64位、有符号的以二进制补码表示的整数;

•   最小值是-9,223,372,036,854,775,808(-2^63);

•   最大值是9,223,372,036,854,775,807(2^63 -1);

•   这种类型主要使用在需要比较大整数的系统上;

•   默认值是0L;

•   例子: long a =100000L,int b = -200000L。

float:

•   float数据类型是单精度、32位、符合IEEE 754标准的浮点数;

•   float在储存大型浮点数组的时候可节省内存空间;

•   默认值是0.0f;

•   浮点数不能用来表示精确的值,如货币;

•   例子:float f1 =234.5f。

double:

•   double数据类型是双精度、64位、符合IEEE 754标准的浮点数;

•   浮点数的默认类型为double类型;

•   double类型同样不能表示精确的值,如货币;

•   默认值是0.0f;

•   例子:double d1 =123.4。

boolean:

•   boolean数据类型表示一位的信息;

•   只有两个取值:true和false;

•   这种类型只作为一种标志来记录true/false情况;

•   默认值是false;

•   例子:boolean one= true。

char:

•   char类型是一个单一的16位Unicode字符;

•   最小值是’\u0000’(即为0);

•   最大值是’\uffff’(即为65,535);

•   char数据类型可以储存任何字符;

•   例子:char letter= ‘A’。

实例

对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:

public class PrimitiveTypeTest { 

    publicstatic void main(String[] args) { 

        //byte 

       System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); 

       System.out.println("包装类:java.lang.Byte"); 

       System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); 

       System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); 

       System.out.println();

 

       

 

        //short 

       System.out.println("基本类型:short 二进制位数:" + Short.SIZE); 

       System.out.println("包装类:java.lang.Short"); 

       System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); 

       System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); 

       System.out.println(); 

 

        //int 

       System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); 

       System.out.println("包装类:java.lang.Integer"); 

       System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); 

        System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); 

       System.out.println(); 

 

        //long 

       System.out.println("基本类型:long 二进制位数:" + Long.SIZE); 

       System.out.println("包装类:java.lang.Long"); 

       System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); 

       System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); 

       System.out.println(); 

 

        //float 

       System.out.println("基本类型:float 二进制位数:" + Float.SIZE); 

       System.out.println("包装类:java.lang.Float"); 

       System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); 

       System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); 

       System.out.println(); 

 

        //double 

       System.out.println("基本类型:double 二进制位数:" + Double.SIZE); 

       System.out.println("包装类:java.lang.Double"); 

       System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); 

       System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); 

       System.out.println(); 

 

        //char 

       System.out.println("基本类型:char 二进制位数:" + Character.SIZE); 

       System.out.println("包装类:java.lang.Character"); 

        // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台 

        System.out.println("最小值:Character.MIN_VALUE=" 

               + (int) Character.MIN_VALUE); 

        // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台 

       System.out.println("最大值:Character.MAX_VALUE=" 

               + (int) Character.MAX_VALUE); 

    } 

编译以上代码输出结果如下所示:

基本类型:byte 二进制位数:8

包装类:java.lang.Byte

最小值:Byte.MIN_VALUE=-128

最大值:Byte.MAX_VALUE=127

 

基本类型:short 二进制位数:16

包装类:java.lang.Short

最小值:Short.MIN_VALUE=-32768

最大值:Short.MAX_VALUE=32767

 

基本类型:int 二进制位数:32

包装类:java.lang.Integer

最小值:Integer.MIN_VALUE=-2147483648

最大值:Integer.MAX_VALUE=2147483647

 

基本类型:long 二进制位数:64

包装类:java.lang.Long

最小值:Long.MIN_VALUE=-9223372036854775808

最大值:Long.MAX_VALUE=9223372036854775807

 

基本类型:float 二进制位数:32

包装类:java.lang.Float

最小值:Float.MIN_VALUE=1.4E-45

最大值:Float.MAX_VALUE=3.4028235E38

 

基本类型:double 二进制位数:64

包装类:java.lang.Double

最小值:Double.MIN_VALUE=4.9E-324

最大值:Double.MAX_VALUE=1.7976931348623157E308

 

基本类型:char 二进制位数:16

包装类:java.lang.Character

最小值:Character.MIN_VALUE=0

最大值:Character.MAX_VALUE=65535

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少倍。比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。

public class Practice

{

        publicstatic void main(String[] args)

        {

               System.out.println(Byte.SIZE);

               System.out.println(Byte.MAX_VALUE);

               bytemax_value=Byte.MAX_VALUE;

               //转换为byte最大值的二进制

               System.out.println(Integer.toBinaryString(max_value));

        }

}

 

 

实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

 

引用类型

•   引用类型变量由类的构造函数创建,可以使用它们访问所引用的对象。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。

•   对象、数组都是引用数据类型。

•   所有引用类型的默认值都是null。

•   一个引用变量可以用来引用与任何与之兼容的类型。

•   例子:Animalanimal = new Animal(“giraffe”)。

 

Java常量

常量就是一个固定值。它们不需要计算,直接代表相应的值。

常量指不能改变的量。在Java中用final标志,声明方式和变量类似:

final double PI = 3.1415927;

虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

字面量可以赋给任何内置类型的变量。例如:

byte a = 68;

char a = 'A'

byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。

当使用常量的时候,前缀0表示8进制,而前缀0x代表16进制。例如:

int decimal = 100;

int octal = 0144;

int hexa = 0x64;

和其他语言一样,Java的字符串常量也是包含在两个引号之间的字符序列。下面是字符串型字面量的例子:

"Hello World"

"two\nlines"

"\"This is in quotes\""

字符串常量和字符常量都可以包含任何Unicode字符。例如:

char a = '\u0001';

String a = "\u0001";

Java语言支持一些特殊的转义字符序列。

符号

字符含义

\n

换行 (0x0a)

\r

回车 (0x0d)

\f

换页符(0x0c)

\b

退格 (0x08)

\s

空格 (0x20)

\t

制表符

\"

双引号

\'

单引号

\\

反斜杠

\ddd

八进制字符 (ddd)

\uxxxx

16进制Unicode字符 (xxxx)

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值