java中java环境变量配置保存 类型 的数据 指什么 举个例子 谢谢

Java 变量之变量数据类型
Java数据类型图:
1.基本数据类型
  基本数据类型,也称内置类型,是可以在栈直接分配内存的,Java保留基本数据类型最大的原因也在此:性能。关于这一点可以参考:。
  另外,要注意,Java是基于JVM的,所以,其所占字节固定,与机器平台无关,所有地方统一占用内存大小(除了boolean,以及byte/short/boolean数组的时候每个单元所占的内存是由各个JVM自己实现的)。
  总共有四类八种基本数据类型(注1):
1).整型:全部是有符号类型。
1.byte:1字节(8bit),高位为符号位,其余7位为数据位,范围:-2的7次方~2的7次方-1(11,1111),即-128~127(下面的计算方式相同);
注意:byte类型虽然在语义(逻辑)上是占用1字节,但实际上,JVM中是将其当做int看
的,也就是事实上是占用了32位,4字节的,所以其运算效率和int没区别,short也一样。
之所以要有byte/short类型,一是因为某些地方要明确使用这些范围类型,二是,
在byte[]数组中,JVM存储的则是真的1字节,short[]2字节。(但也有的JVM其byte[]
数组也是4字节1位)
2.short:2字节(16bit),高位为符号位,其余15位为数据位,范围:-2的15次方~2的15次方-1,即-;
3.int:4字节(32bit),范围-2的31次方~2的31次方-1;Java默认的整型类型,即:
long l = 0xfffffffffff;
同样的还有:
short s = 123;
s = s + 123;
s = (short)(s + 123)
类型转化详见:。
4.long:8字节(64bit),范围:-2的63次方~2的63次方-1;声明大的long方法:
long l = 0xfffffffffffL;
5.float:4字节(32bit),单精度,数据范围:(-2^128)~(-2^(-23-126))-(0)-(2^-149)~2^128。浮点数,通俗来说就是小数,但是,这是有精度要求的,即在这区间float可不是能表达任意小数的,而是在一定精度下,比如float有效位7~8位(包括整数位和小数位,有效小数位是6~7位,这里为什么是7~8(6~7),参考:),即0.后面的9JVM是不认识的(8能认识,整数位为0则不算是有效位,例如12.1234567后面的7也不认识,只有6位有效小数位(注意,看的是有效位,不是有效小数位,float有7~8位有效位)),即:
if(0.f == 0.f){
System.out.println("true");
System.out.println("false");
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
6.double:8字节(64bit),双精度,范围:-2^1024~(-2^(-1022-52))-0-(2^-4,Java默认的浮点类型,即若后面不加f/F,默认是double类型,即:
float f = 1.23;
float f = 1.23f;
7.char:2字节(16bit),表示一个字符(可以是汉字),字符编码采用Unicode(说的更准确点,字符集(charset)采用UCS-2,编码(encoding)采用UTF-16),实际上就是一个16位的无符号整型,但是,要注意的是,因为随着发展,char所能代表的字符个数(UCS-2字符集)被限定死了,所以并不推荐使用。(更多内容,以及关于Unicode、UTF8/16参考:Unicode、UTF8以及Java char。)
char c = 3+5;
int a1 = 3;int a2 = 5;char c0 = a1+a2;
char c1 = -3;
char c2 = (char)-3;
char c3 = '3';
char c4 = "3";
char c5 = '65';
8.boolean:逻辑上:1bit,但是实际上,boolean并没有具体规定,完全是看各个JVM实现,不过《Java虚拟机规范》给出了4个字节(同byte解释)和boolean数组一个字节的定义。
(1).这种分法是一种比较流行的分法,事实上应该为两种:数值类型与布尔型。数值类型分为整型和浮点型。整型包括:byte、short、int、long、char;浮点型:float、double;布尔型boolean。之所以将char认为是整型是因为char在JVM就是以无符号整型存在的。
(2).事实上Java中除去这8种以及对象类型,还有一种比较特殊的类型存在,那就是Void。java.lang.Void,是一个占位符类,不可实例化,保存着Java关键字void的Class对象。为什么说它特殊呢?明明是一个类,难道不是对象类型?那是因为void.class.isPrimitive()(这个方法是用来判断一个Class对象是否是基本类型的)返回的是true,所以Void也算是基本类型的一个了(错了),只不过它比较特殊,不能算是一种数据,只是一种象征。
改:上面弄错了,把Void和void两个混为一体了,事实上,可以简单的把这两者的关系看成类似包装类和基本类型的关系,像Integer和int的关系,java.lang.Void是一个不可实例化的占位符类来保存一个引用代表了Java关键字void的Class对象:
public static final Class&Void& TYPE = Class.getPrimitiveClass("void");
而Integer也有类似的语句:
public static final Class&Integer&
TYPE = (Class&Integer&) Class.getPrimitiveClass("int");
区别只是,Void仅仅是为void服务,即所谓的占位符类,不做他用。所以Void类只是一个普通类,而void则可以认作为如同int一样的基本类型。
2.引用数据类型
  也称对象变量类型,复合数据类型,包含类、接口、数组(除了基本类型外,就是引用类型)。引用类型与基本类型最大的区别在于:
int a = 5;
Integer a = 5;
Object o = new Object();
  这里的引用有点像C/C ++中的指针,但是同指针不同的是,你不能通过改变它的值从而去改变它所指向的值。即
ClassA p = new ClassA();
p = p + 1;
  其实质就是,Java的引用不支持对内存直接操作,而指针则可以,所以,Java用起来更安全,但不够灵活,而指针,自由度大,但同时,要更加小心因为指针操作不当而引起的各种内存问题。在Java中,任何对象都需要通过引用才能访问到,没有引用指向的对象被视为垃圾对象,将会被回收。
  引用,其实质同指针一样(可以理解为受限制的指针),存放的是一个地址,至于是实例对象的地址,还是一个指向句柄池的地址(这里可以参考:),完全是看各个JVM的实现了。
  Java中的枚举类型,都是Enum类的子类,算是类中的一种,也是引用类型。
  引用类型又称为对象变量类型,是相对于基本数据类型来说的(基本数据类型不是对象),而又被称为复合数据类型,可以这样理解,引用类型的数据最终都是由基本数据类型构成的。而像接口,接口是不能实例化的,最终的实现还是由类实现的;数组在JVM中的实现也是通过类实现的,每个类型的一维数组,二维数组……都是一个类,只是这是一个特殊的类,它的对象头有别于一般对象的对象头(最主要的就是,数组对象头有对象长度)。
  另外,关于Java引用可以参考:。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:25463次
排名:千里之外
原创:40篇
文章:10篇
阅读:3857
(2)(1)(8)(11)(15)(2)(1)(1)(1)Java类类型变量_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Java类类型变量
来源:Linux社区&
作者:zuohao1990
在java中有一种被称为类类型的变量,它不同于基本类型变量存储值的方式。不管是基本变量还是类类型变量,都实现为一个内存位置。但是,由于基本变量所需的内存数量是相同的,所以系统可以给它设置一个固定的空间保持命名对象的变量。类类型变量则不同,由于它的长度不确定,从而使得系统难以给其分配一个固定的空间来保存命名对象的变量。因此,对于类类型变量,它存储的是对象的内存地址,而不是对象本身。下面举个例子加以证明:
&/** &* Comments:类类型之间赋值的特点实例 &* @author 塞上名猪 &* Create Time: &* &*/public class StringTest { & & private S & & public String getStr() { & & & & & & } & & public void setStr(String str) { & & & & this.str = & & } & & public static void main(String[] args) { & & & & StringTest str1=new StringTest(); & & & & StringTest str2=new StringTest(); & & & & str1.setStr("111111"); & & & & str2.setStr("222222"); & & & & //类类型之间的赋值,是将str1的内存地址赋值给了str2,赋值后它俩指向了同一内存地址 & & & & str2=str1; & & & & str2.setStr("333333"); & & & & System.out.println(str1.getStr());& & & //输出结果为333333 & & & & System.out.println(str2.getStr());& & & //输出结果为333333 & & } }
从输出的结果可以看出,类类型变量并不是简单的将赋的值存储于命名对象中,而是将地址存放于类类型变量中。所以类类型变量之间的赋值语句赋值的是内存地址,赋值后两个变量指向同一地址。
相关阅读:
Java类类型的存储特点
Java中两种单例模式小结
单例模式(Singleton Pattern)
Java单例模式实例---读取配置文件
Java单例模式(Singleton)
Java模式之单例模式
Java基础之单例模式
Java 中多线程下的单例模式
Java单例模式的几种写法
相关资讯 & & &
& (05/27/:55)
& (10/06/:57)
& (03/29/:53)
& (10/06/:17)
& (11/21/:43)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
sql变量赋值实例学习java变量的赋值与传递
下载积分:700
内容提示:sql变量赋值实例学习java变量的赋值与传递
文档格式:PDF|
浏览次数:22|
上传日期: 04:08:31|
文档星级:
该用户还上传了这些文档
sql变量赋值实例学习java变量的赋值与传递
官方公共微信java基本语法复习知识点大全
java基本语法复习知识点大全
编辑:少芬&
  java开发除了环境的搭建之外,我们要学习的还有各种java基本语法,所以yjbys小编为大家汇总了java基本语法复习知识点,希望同学们好好学习!
  一:java中的语句规则:
  java每行代码以;结尾。
  Java中的注释有:
  (1)// 注释一行
  以&//&开始,终止于行尾,一般作单行注释,可放在语句的后面
  (2)/*&&*/ 一行或多行注释
  以&/*&开始,最后以&*/&结束,中间可写多行。
  (3)/**&&*/
  以&/**&开始,最后以&*/&结束,中间可写多行。这种注释主要是为支持JDK 工具javadoc而采用的。
  Java中的合法标示符要符合一下规则:
  1)要以大小写字母或者美元符号或者下划线开头,不能以数字开头
  2)标示符命名不能用关键字,关键字是java内部所用到的标示符,为了避免混淆,所以不能用。
  3)类,变量,方法名命名尽量有一定规则,不要随便命名,虽然系统不会报错,但是为了项目开发后期的维护,所以尽量起比较有意义的名字,并且命名要符合一定的规则,如驼峰规则。
  二:java基本数据类型
  Java数据类型被分为:基本数据类型和引用数据类型。
  Java中有8中基本数据类型:
  类型 位长/b 默认值 取值范围
  布尔型 (boolean) 1 false true false
  字节型(byte ) 8 0 -128~127
  字符型 (char) 16 &\u0000& &\u0000&~&\uffff&即0~65535
  短整型(short) 16 0 -
  整型(int) 32 0 -231~231-1
  长整型(long) 64 0 -263~263-1
  单精度(float) 32 0.0 +-1.4E-45 或+-3.
  双精度(double) 64 0.0 +-4.9E-324 或+-1.315E+308
  注:String类型不是基本数据类型,它被定义为类,属于引用数据类型。,由于字符串是常用的数据类型。Java提供了对String类型特殊操作,直接引用,例如:String s=&hello world&;
  三:引用类型
  引用类型是一个对象类型的,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。
  接下来看看基本类型和引用类型变量的不同处理吧。基本类型自然是简单,声明是自然系统就给它空间了。例如,
  baijq=250; //声明变量baijq的同时,系统给baijq分配了空间。
  引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么啊,整数,字符?我们看一个错误的例子:
  today.day = 4; //发生错误,因为today对象的数据空间未分配。
  那我们怎么给它赋值啊?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子:
  MyD //将变量分配一个保存引用的空间
  today = new MyDate(); //这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作。
  四:定义变/常量和变量的初始化
  Java定义变量结构:类型 变量名,这里的变量名要符合标示符规则
  1.变量的声明
  格式:类型 变量名[,变量名]=初值,& ;
  赋值:[类型] 变量名=值
  如:int a=5 , b=6 , c ,
  说明:
  (1)变量名必须在作用域中是唯一的,不同作用域中才允许相同名字的变量出现;
  (2)只要在同一代码块没有同名的变量名,可以在程序中任何地方定义变量,一个代码块就是两个相对的&{ }&之间部分。
  2.变量的使用范围
  每个变量的使用范围只在定义它的代码块中,包括这个代码块中包含的代码块。
  在类开始处声明的变量是成员变量,作用范围在整个类;
  在方法和块中声明的变量是局部变量,作用范围到它的&}&;
  3.变量类型的转换
  Java 可以将低精度的数字赋值给高精度的数字型变量,反之则需要强制类型转换。
  强制转换格式:(数据类型)数据表达式
  字节型 短整型 字符型 整型 长整型 单精度实型 双精度实型
  转化规律:由低到高
  变量与存储器有着直接关系,定义一个变量就是要编译器分配所需要的内存空间,分配多少空间,这就是根据我们所定义的变量类型所决定的。变量名实际上是代表所分配空间的内存首地址
  4. 常量
  Java中的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常1.23,
  字符常量&a&,布尔常量true、false以及字符串常量&This is a constant string&。
  Java 的常量用final 说明,约定常量名一般全部使用大写字母,如果是多个单词组合在一起的,单词之间用下划线连接,常量在程序执行时不可更改。
  如:final int i=1;
  i=i+1; //错,i 是final(常量),不可更改值
  例如:final double IP = 3.14159 D
  说明:默认类型为64 位double 双精度类型(D 或d),数字后面加F 或f 则是32 位float 单
  精度(实数)类型
  五:运算符
  1、赋值运算符
  赋值运算符用于把一个数赋予一个变量。赋值运算符两边的类型不一致时,那么如果左侧的数据类型的级别高,则右边的数据将转换成左边的数据类型在赋予左边的变量,否则需要强制类型转换。
下页更精彩:1
本文已影响人
java基本语法复习知识点大全相关推荐

我要回帖

更多关于 java环境变量配置 的文章

 

随机推荐