您的位置:首页 > 编程语言 > Java开发

java基础之环境变量及数据类型

2012-02-29 12:52 363 查看
jdk安装路径C:\Program Files\Java\jdk1.6.0_21
java_homeC:\Program Files\Java\jdk1.6.0_21

classpath.;%J***A_HOME%lib;%J***A_HOME%lib\tools.jarPath%J***A_HOME%\bin;%J***A_HOME%\jre\bin检查是否安装成功java -version

path环境变量。作用是指定命令搜索路径,在dos命令行下面执行命令如javac编译程序时,它会到path变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的path变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好path变量后,就可以在任何目录下执行javac/java等工具了

classpath环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过classpath来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到classpath中,当然,当前目录“.”也必须加入到该变量中。

数据类型:

1) 原始数据类型,简单类型,基本类型都是一个含义;

2)复合类型,扩展类型,复杂类型、引用类型都是一个含义;

3)浮点类型,实数、实型都是一个含义;

4)逻辑型、布尔型都是一个含义;

5)类型分类:



定点:定点的意思是把小数点定在末尾,小数点后没有数字的数据,Java中通常把它们称为整数;

常量:就是直接的值;

变量:放置常量的容器,除了放置常量之外,也可以给变量一个运算式,变量中的值是可变的;

  数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

  基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

  引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。



在Java中,每个存放数据的变量都是有类型的,如:

char ch; float x; int a,b,c;

ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也是不同的。

所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。

Java数据类型在内存中的存储:

1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;

2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;

区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念),

基本类型和引用类型的内存模型本质上是不一样的。



复习到这里的时候突然想起一个问题, 就是java中的 bjava中的 boolean 在内存中占多少字节,为此到sun的官方网站查了一下,找到如下解释:

sun's Data Types introduction:

byte: The byte data type is an 8-bit signed two's complement integer

short: The short data type is a 16-bit signed two's complement integer

int: The int data type is a 32-bit signed two's complement integer

long: The long data type is a 64-bit signed two's complement integer

float: The float data type is a single-precision 32-bit IEEE 754 floating point

double: The double data type is a double-precision 64-bit IEEE 754 floating point.

char: The char data type is a single 16-bit Unicode character

boolean: The boolean data type has only two possible values: true and false.

Use this data type for simple flags that track true/false conditions. This data type represents one bit of information,

but its "size" isn't something that's precisely defined.

大概意思为boolean就2个字面值true/false ,这个数据类型表现为1bit的信息,但是他的大小不是明确指定的.

我认为也可以理解为1bit 就可以表示,不过最小的内存寻址单元式 byte,所以占用一个byte

同时呢,编译器对boolean变量进行了优化,在一个boolean变量情况下,编译器会给此变量安排一个字节的

内存,但在多个boolean的情况下时,编译器会将多个变量安排在一个字节里.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐