赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 手持终端

首页 > 专业技术 > 手持终端 > Java语言的数据类型与变量
Java语言的数据类型与变量

一、Java语言的数据类型:

Java语言支持多种数据类型,分为简单类型和引用类型两种:

1.简单类型:

Java有8种简单类型,4种整形,2种浮点型,1种字符型,1种布尔类型:


数据类型

数据类型名称

大小(bits)

默认值

boolean

布尔类型

1

false

char

字符型

16

0

byte

字节型

8

0

short

短整型

16

0

int

整型

32

0

long

长整型

64

0

float

单精度浮点型

32

0.0

double

双精度浮点型

64

0.0

1)布尔型:
使用关键字boolean来定义,数据只能取值true和false,常用于条件判断语句中,示例:
boolean sendMsg=true;
其中的true和false不能用双引号,否则就成了String类型。
2)字符类型:
字符类型char是用单引号括起来的单个字符。Java字符采用16位的Unicode编码格式,而Unicode被设计用来表示世界上所有书面语言的字符。Unicode通常用十六进制编码形式表示,范围是\u0000~\uffff,其中的前缀\u标志着这是一个Unicode编码字符,其中前256个(\u0000~\u00ff)字符与ASCII码中的字符完全重合。
示例:
char Msg1='M';
char Msg2='中';
char Msg3='5';
char Msg4='\u0001';
char数据类型只能记录单个的字符值,不能表述更多的文字信息。Java还提供了String类型,记录由多个字符组成的字符串,但不是基本数据类型,而属于引用类型。
Java语言中允许使用转义字符“\”,将其后的字符转变为其他的含义,比如换行“\n”。Java中使用绝对路径,也需要使用转义:
String path="c:\\learning\\java";
3)整数类型:
整数类型分为4类,byte、short、int、long,差别在于所占用的内存空间和表示的数值范围不同:


类型

占用存储空间

表示数值范围

byte

1字节

-128~127

short

2字节

java(-32768~32767)

int

4字节

java(-2147483648~2147483647)

long

8字节

java

int是Java中最常用的一种整型数据,是整型常量的默认类型;当需要表示很大的数字时,则需要用到long,在数据后面需要加上L或l来表示。
整型常量默认为int类型,但在不超过其表示数值范围情况下,可以将int类型的数据直接赋给char、byte、short类型的变量。示例:
byte b=12;
short s=12345;
int i=1000000;
long l=1000000000L;
Java中允许使用3种不同的进制形式表示整型变量,八进制、十进制、十六进制。八进制以0开头,如01234表示十进制83,-011表示十进制数-9;十六进制以0x或0X开头,如0x123表示十进制291,-0X12表示十进制数-18。
4)浮点类型:
Java的浮点类型有两种,float和double。浮点类型的字段长度和表示数值范围为:


类型

占用存储空间

表示数值范围

float

4字节

-3.403E38~3.403E38

double

8字节

-1.798E308~1.798E308

Java语言的浮点型常量默认为double型,要声明一个常量为float型,需要在数字后面加上F或f。浮点类型常量有两种表示形式,十进制小数形式和科学计数法形式。示例:314.0、0.314、3.14e2、314E2。

2.简单数据类型之间的转换:

1)自动转换:
将表示数值范围比较小的数据类型数据转换成表示数值范围大的数据类型,如byte转成short、short转成int、char转成int、int转成long、int转成double,可以顺利转换,程序会自动进行,称为Widening Conversion。
2)强制转换:
其他方式的转换,就常常会造成数据精度的损失,称为Narrowing Conversion,需要强制进行。示例:
double d=1.2345;
int i=(int)d;
这样可以将double类型的数据d转换成int类型的数据,但小数部分被丢弃了。

3)引用类型:

Java语言中,除了8种基本数据类型以外的数据类型都称为引用类型,或复合数据类型。引用类型都是以某个类的对象的形式存在的,在程序中声明的引用类型变量只是为该对象起的一个名字,或者说是对该对象的引用,变量的值是对象在内存空间中的存储地址而不是对象本身。
Java中的所有对象都要通过对象引用访问,引用类型数据以对象的形式存在,其构造和初始化及赋值的机制都与基本数据类型的变量有所不同。声明基本数据类型的变量时,系统同时为该变量分配存储器空间,此空间将直接保存基本数据类型的值;而声明引用类型时,系统只为该变量分配引用空间,并未创建一个具体的对象或者说并没有为对象分配存储器空间,将来在创建一个该引用类型对象后,再使变量和对象建立对应关系。
通常,字符串引用变量创建时就初始化:
String s="hello android";

引用类型示例:
构造有引用类型成员的类Email,定义了3个属性address、title、group,还有构造方法。
public class Email {
//定义属性
String address;
String title;
int group;
//定义一个构造方法
public Student(String Email_address, String Email_title, int Email_group) {
address=Email_address;
title=Email_title;
group=Email_group;
}
//定义属性address的设置方法
public void setAddress(String Email_address) {
address=Email_address;
}
//定义属性title的获取方法
public String getTitle() {
return title;
}
......
}
定义了这个类,也就定义了一个引用类型的数据类型Email。再定义一个TestEmail.java类,用于说明引用类型的用法。
public class TestEmail {
public static void main(String[] args) {
Email e1;
e1=new Email("Android@gmail.com", "capter 3", 2);
System.out.println("第一封邮件地址是:"+e1.getAddress());
Email e2;
e2=e1;
e1.setAddress("Java$gmail.com");
System.out.println("第二封邮件地址是:"+e2.getAddress());
}
}

二、变量:

Java中,所有的变量必须先声明再使用,基本的声明方法为:
<data_type> var_name [=var_value]
其中:
·<data_type> :变量类型,可以是基本类型,或类及接口类型的名字。
·var_name:变量名,必须是符合Java命名规范的标识符。
·var_value:变量的值,这个值的类型必须和变量的类型一致或兼容。
声明同一类型的多个变量时,使用逗号分隔:
int a=1,b,c=100;

1)局部变量:

Java允许变量在任何程序块内被声明,变量的作用域在指定的局部程序块,这种类型的变量被称为局部变量。变量在其作用域内被创建,离开其作用域时被撤销。

2)成员变量:

不在方法体也不在程序块中的变量,称为成员变量。成员变量定义在类中,是类成员的一部分,整个类都可以访问。只要类的对象被引用,成员变量就将存在。语法:
[<modidiers>] <data_type> <var_name_list>
其中:
·<modidiers>:修饰符,public、protected、private、final和static等,可使用默认访问修饰符,使用时变量可以被同一包package中的任何类访问。

3)变量初始化:

系统不会对局部变量进行默认初始化,因此在使用前必须显式初始化,有两种方法。一种是声明时赋值,也可以声明后在需要时再赋值。
成员变量可以默认初始化,可以不需要手动显式初始化。对引用变量,默认初始值是null,对int变量初始化为0,boolean变量初始化为false。成员变量还可在类的构造方法或其他方法中动态初始化。

4)值传递和引用传递:

在Java中,只有基本类型和按照下面这种定义方式的String是按值传递的,其他都是按引用传递:
String str="This is Java";

 

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659