java:数据类型

来源:互联网 发布:逗孩子 知乎 编辑:程序博客网 时间:2024/05/18 02:49

Java是一门强类型语言。也就是说,所有的变量都必须显式声明类型。

1 int a;2 boolean b;3 char c = 'A';

Java的数据类型分为两大类:原始类型(primitivetype,也称为简单类型)和引用类型(reference type)

原始类型指的是一个数、一个字符或者一个true/false值。它不提供任何与它们所持有的数据类型相关的行为。

Java有8种简单类型。

数据类型

有效范围(bits)

数据类型

有效范围(bits)

boolean

8

char

16

byte

8

short

16

int

32

long

64

float

32

double

64

成员变量对应的自动初始化值:

类型变量初始值字节型 byte0整型 int0单精度型 fload0.0f字符型 char'\u0000'字符串型 Stringnull短整型 short0长整型 long0L双精度型 double0.0d布尔型 booleanfalse

boolean类型适于逻辑运算,一般用于程序流程控制

boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。默认值为false


char型数据用来表示通常意义上“字符”

字符常量是用单引号括起来的单个字符

char c = 'A';

Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(前缀为u表示Unicode)

char c1 = '\u0061';

Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义

char c2 = '\n';           //代表换行符


Java语言整型常量的三种表示形式:

十进制整数,如12, -314, 0。

八进制整数,要求以0开头,如012

十六进制数,要求0x或0X开头,如0x12

Java语言的整型常量默认为int型,如:

int i =3;

声明long型常量可以后加‘ l ’或‘ L ’,如:

long l = 3L;

Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性。


Java浮点类型常量有两种表示形式

十进制数形式,必须含有小数点,例如:

       3.14       314.0      .314

科学记数法形式,如

       3.14e2      3.14E2      314E2

Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:

             double  d = 3.14;

              float  f = 3.14f;

Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在java中,符点类型的范围与机器无关。

类    型

占用存储空间

表数范围

float

4字节 

-3.403E38~3.403E38 

double

8字节 

-1.798E308~1.798E308 

通常,我们需要在不同的数据类型之间进行转换。

简单类型除了boolean类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:


String不是基本数据类型。String类所定义的变量是一个对象,而不是简单类型。与简单类型不同,类的对象含有自己的方法,是复杂类型。

Java语言提供了两种变量:成员变量局部变量

  • 成员变量:是在方法体外的类中声明和定义的,可以被自动初始化
  • 局部变量:是在方法中声明和定义的,不能自动初始化,方法执行完,局部变量也就不存在了

局部变量在使用之前,必须先初始化

全局变量如果没有初始化就拿来使用,系统将会自动给它一个默认的初值。

Java在参数传递时,只使用值传递

当对象实例作为参数传递给方法时,这个参数的值是对象的引用,而不是对象本身



代码示例:

public class GlobalVar

{  private int x; // 成员变量   堆区

       staticint j;   //静态全局变量 方法区

       publicvoid a()   //方法 

       {  //GlobalVar t1 = new GlobalVar();

              inta=5,b=10;   //局部变量

            //int k = 100;

            int k ;    //局部变量,要赋初值,不然编译能过,执行报错。

                 {int t;t=a;a=b;b=t;}  // 语句块,里面新开辟的随着语句块消失而消亡t是局部

          // 如果从外部调用来的,是不会消亡。

            System.out.println(k+1);

       }

       publicvoid b()  //方法

       {

              System.out.println(j+10);

       } 



原创粉丝点击