Java语言基本数据类型、转换及其封装Java语言基本数据类型、转换及其封装1. 逻辑类型·常量 true,false。
·变量的定义使用关键字boolean来定义逻辑变量:boolean x; boolean tom_12;也可以一次定义几个:boolean x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是变量的名字。
定义时也可以赋给初值:boolean x=true,tom=false,漂亮=true,jiafei2.整数类型·常量123,6000(十进制),077(八进制),0x3ABC(十六进制)。
·整型变量的定义分为4种:1.int 型使用关键字int来定义int型整形变量int xint tom_12也可以定义几个:int x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字。
定义时也可以赋给初值:int x=12,tom=-1230,漂亮=9898,jiafei对于int型变量,分配给4个字节byte,一个字节由8位(bit)组成,4个字节占32位(bit)。
bit 有两状态,分别用来表示0,1。
这样计算机就可以使用2进制数来存储信息了。
内存是一种特殊的电子元件,如果把内存条放大到摩天大楼那么大,那么它的基本单位——字节,就好比是大楼的房间,每个房间的结构都是完全相同的,一个字节由8个能显示两种状态的bit组成,就好比每个房间里有8个灯泡,每个灯泡有两种状态——亮灯灭灯。
对于int x=7;内存存储状态如下:00000000 00000000 00000000 00000111最高位:左边的第一位,是符号位,用来区分正数或负数,正数使用原码表示,最高位是0,负数用补码表示,最高位是1。
例如:int x=-8;内存的存储状态如下:11111111 11111111 11111111 11111000要得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1,1变成0,就是-8的补码。
因此,int型变量的取值范围是-2^31~2^31-1。
2. byte型使用关键字byte来定义byte型整型变量byte x ; byte tom_12;也可以一次定义几个:byte x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字。
定义时也可以赋给初值:byte x=-12,tom=28,漂亮=98,jiafei注:对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是:-2^7~2^7-1。
3.short型使用关键字short来定义short型整型变量:short x; short tom_12;也可以一次定义几个:short x,tom,jafei,漂亮x,tom,jafei,漂亮都是名字,定义时也可以赋给初值:short x=12,tom=1234,漂亮=9876,jafei注:对于short型变量,内存分配给2个字节,占16位,因此short型变量的取值范围是-2^15~2^15-1。
4.long 型使用关键字long来定义long型整型变量long x; long tom_12;也可以一次定义几个long x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字。
定义时也可以赋给初值:long x=12,tom=1234,漂亮=9876,jiafei注:对于long型变量,内存分配给8个字节,占64位,因此long型变量的取值范围是 -2^63~2^63-1。
3. 字符类型·常量 A b ?!9 好 \t ,Java使用unicode 字符集,所以常量共65535个。
·变量的定义使用关键字char来定义字符变量char x,char tom_12也可以一次定义几个:char x,tom,jafei,漂亮x,tom,jafei,漂亮都是变量名字,定义时也可以赋给初值:char x=A,tom=家,漂亮=假,jiafeichar 型变量,内存分配给2个字节,占16位,最高位不用来表示符号,没有负数的char.char型变量的取值范围是0~65535.对于 char x='a';那么内存x中存储的是97,97是字符a在unicode表中的排序位置,因此,允许将上面的语句写成char x=97;要观察一个字符在unicode表中的顺序位置,必须使用int型显示转换,如(int)'a',不可以使用short型转换,因为char的最高位不是符号位,如果要得到一个0~65535之间的数乴代表的unicode表中相应位置上的字符也必须使用char 型显示转换。
在下面的例子中,分别用显示转换来显示一些字符在unicode表中的位置,以及某些位置上的字符。
例子:public class Example2_1{public static void main(String args[]){char chinaWord='你',japanWord=' ';int p1=20328,p2=12358;System.out.println("汉字\'你\'在unicode表中的顺序位置:"+(int)chinaWord);System.out.println("日语\' \'字在unicode表中的顺序位置:"+(int)japanWord);System.out.println("unicode表中第20328位置上的字符是:"+(char)p1);System.out.println("unicode表中第12358位置上的字符是:"+(char)p2);}}4. 浮点类型实型浮点型分两种:1. float 型·常量 123.5439f,12389.987F,123.0f,2e40f 2乘10的40次方,科学计数法·变量的定义使用关键字float来定义float型变量:float x;float tom_12;也可以一次定义几个:float x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字,定义时也可以赋给初值:float x=12.76f,tom=1234.987f,漂亮=9876.0f,jiafei注:对于float型变量,内存分配给4个字节,占32位,float型变量的取值范围大约是10^-38~10^38,-10^38~10^-38。
2. double 型·常量12389.5439d ,d可以省略,12389908.987,123.0,6e-140 (6乘10的-140次方,科学计数法)·变量的定义使用关键字double来定义double型变量:double x;double tom_12;也可以一次定义几个:double x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字,定义时也可以赋给初值:double x=12.76,tom=1234098.987,漂亮=9876.098d,jiafei注:double型变量,内存分配给8个字节,占64位,double型变量的取值范围大约是10^-308~10^308。
5.基本数据类型的转换当我们把一种基本数据类型变量的值赋给另一种基本类型变量时,就涉及到数据转换。
基本类型数据的下列类型会涉及到数据转换,不包括逻辑类型和字符类型。
我们将这些类型按精度从“低”到“高”排列了顺序。
byte short int long float double当把在级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。
例如:float x=100;如果输出x的值,结果将是100.0例如:int x=50;float y;y=x;如果输出y的值,结果将是50.0。
当把在级别高的变量值赋给级别低的变量时,必须使用显示类型转换运算,显示转换的格式:类型名要转换的值例如:int x=(int)23.89;long y=(long)34.98F;如果输出x,y的值将是23和34,强制转换运算可能导致精度的损失。
例子:public class Example2_2{public static void main(String args[]){byte a=120; short b=255;int c=2200; long d=8000;float f;double g=12346789.123456789;b=a;c=(int)d;f=(float)g; //导致精度的损失。
System.out.print("a="+a);System.out.println("b="+b);System.out.print("c="+c);System.out.println("d="+d);System.out.print("f="+f);System.out.println("g="+g);}}----------------------------------------------java 基本数据类型之间的转换一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。
下面笔者就开发中的一些体会介绍给大家。
我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。
其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。
此外,我们还经常用到两种类变量,即String和Date。
对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。
1 数据类型转换的种类java数据类型的转换一般分三种,分别是:(1). 简单数据类型之间的转换(2). 字符串与其它数据类型的转换(3). 其它实用数据类型转换下面我们对这三种类型转换分别进行论述。
2 简单数据类型之间的转换在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double简单数据类型之间的转换又可以分为:●低级到高级的自动类型转换●高级到低级的强制类型转换●包装类过渡类型能够转换2.1自动类型转换低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:byte b;int i=b;long l=b;float f=b;double d=b;如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII 码值,例如rchar c='c';int i=c;System.out.println("output:" i);输出:output:99;对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。