做宾馆网站好,免费1级做爰片免费网站,新闻发布会邀请哪些媒体,创建站点的步骤一、基本数据类型#xff1a;byte#xff1a;Java中最小的数据类型#xff0c;在内存中占8位(bit)#xff0c;即1个字节#xff0c;取值范围-128~127#xff0c;默认值0short#xff1a;短整型#xff0c;在内存中占16位#xff0c;即2个字节#xff0c;取值范围-327…一、基本数据类型byteJava中最小的数据类型在内存中占8位(bit)即1个字节取值范围-128~127默认值0short短整型在内存中占16位即2个字节取值范围-32768~32717默认值0int整型用于存储整数在内在中占32位即4个字节取值范围-2147483648~2147483647默认值0long长整型在内存中占64位即8个字节-2^63~2^63-1默认值0Lfloat浮点型在内存中占32位即4个字节用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位)默认值0double双精度浮点型用于存储带有小数点的数字在内存中占64位即8个字节默认值0char字符型用于存储单个字符占16位即2个字节取值范围0~65535默认值为空boolean布尔类型占1个字节用于判断真或假(仅有两个值即true、false)默认值false二、Java数据类型基本概念数据类型在计算机语言里面是对内存位置的一个抽象表达方式可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候都会存在数据类型的认识有复杂的、简单的各种数据类型都需要在学习初期去了解Java是强类型语言所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念可以说是语言中最基本的单元定义在Java里面本质上讲将数据类型分为两种基本类型和引用数据类型。基本类型简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义它表示了真实的数字、字符和整数。引用数据类型Java语言本身不支持C中的结构(struct)或联合(union)数据类型它的复合数据类型一般都是通过类或接口进行构造类提供了捆绑数据和方法的方式同时可以针对程序外部进行信息隐藏。三、Java中的数据类型与内存的关系在Java中每个存放数据的变量都是有类型的如char ch float x int a,b,cch是字符型的就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同同时存储方式也是不同的。所以给变量赋值前需要先确定变量的类型确定了变量的类型即确定了数据需分配内存空间的大小数据在内存的存储方式。四、Java数据类型在内存中的存储1)基本数据类型的存储原理所有的简单数据类型不存在“引用”的概念基本数据类型都是直接存储在内存中的内存栈上的数据本身的值就是存储在栈空间里面而Java语言里面八种数据类型是这种存储模型2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的使用Java内存堆和内存栈来进行这种类型的数据存储简单地讲“引用”是存储在有序的内存栈上的而对象本身的值存储在内存堆上的区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的而引用类型是分配在堆上的(需要java中的栈、堆概念)基本类型和引用类型的内存模型本质上是不一样的。例1我们分析一下”“和equals()的区别。首先我定以两个String对象Stringaabc;Stringbabc;然后if(ab){System.out.println(ab);}else{System.out.println(a!b);}程序输出a!b原因:a和b的地址是不相同的ab比较的是两个变量的地址例2定义两个基本类型inta4;intb4;if(ab){System.out.println(ab);}else{System.out.println(a!b);}输出ab原因比较的是两个变量的内容猜想不论是基本数据类型还是引用类型他们都会先在栈中分配一块内存对于基本类型来说这块区域包含的是基本类型的内容而对于对象类型来说这块区域包含的是指向真正内容的指针真正的内容被手动的分配在堆上。五、Java基本类型取值范围计算从计算机组成原理的角度可以解释byte在计算机中是占8个字节的而且byte是有符号整形用二进制表示时候最高位为符号位0代表正数1代表负数。最大值127即2的7次方减去1最小值即2的7次前面加个负符号-128。(包含开始不包含结尾)正数在计算机中是以原码形式存在的负数在计算机中是以其补码形式存在的就是负数的绝对值的原码转为二进制再按位取反后加1。下边这个10和-10为例来介绍的10原码00001010它在计算机中的存储就是0000 1010-10按照前面说的算除其绝对值为10转为二进制00001010按位取反1111 0101再加1后1111 0110此为-10补码好的计算机中的1111 0110就是代表-10了。我们来看-128绝对值128的二进制表示1000 0000按位取反0111 1111加1后1000 0000也就是说-128在计算机中的表示就是1000 0000了再来看一下-129在计算机中的表示绝对值129的范围已经超出了了byte的位数。所以要注意这类问题六、java类型介绍1、概述Java中的数据类型分为引用数据类型和基本数据类型。引用数据类型分3种类接口数组基本数据类型又分布尔类型和数值类型布尔类型boolean(逻辑型) trure or false默认是false数值类型分定点类型和浮点类型定点类型分整数类型和字符型2、JAVA变量的默认初始化类型默认初始化值booleanfalseint0short0float0.0double0.0char\long0byte0objectnull3、类型详细讲解:1)整数类型byte、short、int、long都是表示整数的只不过他们的取值范围不一样。byte(字节类型) 一个byte 8位取值范围为-128~127占用1个字节(-2的7次方到2的7次方-1)默认是0short(短整型) 一个short 16位取值范围为-32768~32767占用2个字节(-2的15次方到2的15次方-1)默认是0int(整型) 一个int 32位取值范围为(-2147483648~2147483647)占用4个字节(-2的31次方到2的31次方-1)默认是0long(长整型) 一个long 64位,取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)默认是0L或0l推荐用大写可以看到byte和short的取值范围比较小而long的取值范围太大占用的空间多基本上int可以满足我们的日常的计算了而且int也是使用的最多的整型类型了。在通常情况下如果JAVA中出现了一个整数数字比如35那么这个数字就是int型的如果我们希望它是byte型的可以在数据后加上大写的 B35B表示它是byte型的同样的35S表示short型35L表示long型的表示int我们可以什么都不用加但是如果要表示long型的就一定要在数据后面加“L”。1.1)定点常量定点常量是整型常数它可用十进制、八进制、十六种进制三种方式来表示。十进制定点常量如123、-456、0。八进制定点常量以0前导形式为0dd...d。如0123表示十进制数83-011表示十进制数-9。十六进制定点常量以0x或0X开头如0x123表示十进制数291-0X12表示十进制数-18。1.2)定点变量定点变量即整型变量可细分成字节型变量、整型变量、短整型变量和长整型变量四种。对各种定点变量的开销内存字节数和数值范围作简要说明。需要注意的是如果要将一定点常量赋值给一个定点变量需要查验常量是否在该变量的表达范围内如超出范围程序会编译出错。2)char型(字符型)Java中一个字符(char)表示Unicode字符集中的一个元素。Unicode字符由16位组成因此有(65535)个不同的字符可用Unicode字符集包含所有不同语言的字符以及数学、科学、文字中的常用符号所以给了我们很大的灵活性。字符由单引号括起来的单个字符表达通常用16进制表示范围从’’到’?’(u告诉编译器你在用两个字节16位字符信息表示一个Unicode字符)。用于存放字符的数据类型占用2个字节采用unicode编码它的前128字节编码与ASCII兼容字符的存储范围在\~\?在定义字符型的数据时候要注意加 比如 1表示字符1而不是数值1。2.1)字符常量字符常量指用单引号括起来的单个字符如‘a’‘A’请特别注意字符的定界符是单引号而非双引号。除了以上所述形式的字符常量值之外Java还允许使用一种特殊形式的字符常量值这通常用于表示难以用一般字符来表示的字符这种特殊形式的字符是以一个“\”开头的字符序列称为转义字符。Java中的常用转义字符见表2.2)字符变量以char定义的变量如char ca;要特别加以说明的是Java的文本编码采用Unicode集Java字符16位无符号型数据一个字符变量在内存中占2个字节。注char c 1 我们试着输出c看看System.out.println(c);结果就是1而如果我们这样输出呢System.out.println(c0)结果却变成了49,这是因为0是int型,进行了向上类型转换结果是个int型。如果我们这样定义c看看char c \1 ;输出的结果仍然是1这是因为字符1对应着unicode编码就是\1。3)浮点类型分float和double是表示浮点型的数据类型他们之间的区别在于他们的精确度不同。3.1)浮点常量即带小数点的实型数值可以由直接带小数点的数值和科学计数法两种形式来表示带小数点的数值形式由数字和小数点组成如0.123、.123、123.、123.0。科学计数法表示形式由一般实数和e±n(E±n)组成如12.3e3、5E-3它们分别表示12.3乘以10的3次方5乘以10的-3次方。需要注意的是e或E之前必须有数字且e或E后面的指数必须为整数。3.2)浮点变量浮点变量有单精度变量和双精度变量之分不同的精度开销的内存字节数和表达的数值范围均有区别。两种浮点变量占内存字节数和数值范围浮点常量也有单精度和双精度之分前面列出的常量均是双精度常量如果要特别说明为单精度常量可以数据末尾加上f或F作为后缀如12.34f。如果要特别指明一个浮点常量是双精度常量数据末尾不需要添加后缀或者在数据末尾加上d或D作为后缀如12.34d。float(单精度浮点型)一个float 32位占用4个字节例3.2F默认是0.0f 3.402823e38 ~1.401298e-45(e38表示是乘以10的38次方同样e-45表示乘以10的负45次方)。double (双精度浮点型)一个dobule 64位 占用8个字节例3.2默认是0.01.797693e308~4.9000000e-324 占用8个字节注:double型比float型存储范围更大精度更高所以通常的浮点型的数据在不声明的情况下都是double型的。如果要表示一个数据是float型的可以在数据后面加上“F”。 浮点型的数据是不能完全精确的所以有的时候在计算的时候可能会在小数点最后几位出现浮动这是正常的。相关介绍在Java基本类型在使用字面量赋值的时候有几个简单的特性如下1】当整数类型的数据使用字面量赋值的时候默认值为int类型就是直接使用0或者其他数字的时候值的类型为int类型所以当使用 long a 0这种赋值方式的时候JVM内部存在数据转换。2】浮点类型的数据使用字面量赋值的时候默认值为double类型就是当字面两出现的时候JVM会使用double类型的数据类型。3】从JDK 5.0开始Java里面出现了自动拆箱解箱的操作基于这点需要做一定的说明对应原始的数据类型每种数据类型都存在一个引用类型的封装类分别为Boolean、Short、Float、Double、Byte、Int、 Long、Character这些类型都是内置的封装类这些封装类(Wrapper)提供了很直观的方法针对封装类需要说明的是每种封装类都有一个xxxValue()的方法通过这种方法可以把它引用的对象里面的值转化成为基本变量的值不仅仅如此每个封装类都还存在一个valueOf(String)的方法直接把字符串对象转换为相应的简单类型。在JDK 5.0之前没有存在自动拆解箱的操作即Auto Box操作所以在这之前是不能使用以下方式的赋值代码的Integer a 0;//这种赋值方式不能够在JDK 1.4以及以下的JDK编译器中通过,但是JDK 5.0出现了自动拆解箱的操作所以在JDK 5.0以上的编译器中以上的代码是可以通过的。