`
kang_sun
  • 浏览: 3129 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

01_数据类型

阅读更多

一:八种基本数据类型(原始类型)

类型                  称呼                大小                        表示范围
byte                  字节型             8 bits                       -128~127
short                 短整型             16 bits                     -32768~32767
int                     整形                 32 bits                     -2147483648~2147483647
long                  长整形              64 bits                    。。。。
char                  字符型             16 bits(unicode)      0~65535
float                  浮点型(单精度) 32 bits 
double              双精度              64 bits  
boolean            布尔型              1 bit                        true/false

 

ps:1.位是计算机可以存储的最小数据单位,即bit,只能为0或1。但位不是基本数据类型。
       2.总体来说,java中的数据类型分为两大类,原始类型和对象类型(或者叫引用类型),后者是由类生成的对象。

 

二:数据类型的声明与转换

 

1)数据类型的声明

//变量声明格式
类型    变量名[ = 初值][,变量名[ = 初值] ...]
int i,j,k;

//变量初始化
int i=0;

//变量的赋值
变量名 = 值;
x = 12;
c = '\u0031';

//常量声明
//常量声明的形式与变量声明基本一样,只需用关键字final标识,通常final写在最前面。
final int MAX = 10;
final float PI = 3.14f;

ps:1.float型常量后必须跟一个字母f或F;double型常量后跟一个d或D,双精度常量后d或D可以省略。

              例:float x = 3.14f;

                     double v = 3.1415926;

       2.java语言程序中可以随时定义变量,不必集中在执行语句之前。

       3.java语言建议常量标识符全部用大写字母表示。

 

2)数据类型转换

     (1)数值型不同类型数据的转换

         数值型数据的类型转换分为隐形类型转换(默认类型转换)和强制类型转换两种。

         a.自动类型转换

            在程序中已经定义好的数值型变量,若是想以另一种数值型类型表示时,java语言会在下列条件成立时,自动进行数据类型的转换。

               1.转换前的数据类型与转换后的类型兼容。

               2.转换后的数据类型的表示范围比转换前的类型大。

            优先关系为:byte-short-char-int-long-float-double

//类型自动转换
//当表达式中变量的类型不同时,java会自动将较少的表示范围转换成较大的表示范围后,再作运算。
int a = 155;
float b = 21.0f;
System.out.println("a="+a+",b="+b);   //输出a,b的值
System.out.println("a/b="+(a/b));     //输出a/b的值
		
//结果为:
a = 155,b = 21.0
a/b = 7.3809524

 

          b.强制类型转换

            经过强制类型转换,将得到一个括号内声明的数据类型的数据,该数据从指定变量名中所包含的的数据转换而来,但指定的变量及数据本身将不会因此而转变。

 

//格式
(欲转换的数据类型)变量名	

//整数与浮点数的类型转换
int a = 155;
int b = 9;
float g,h;
System.out.println("a = " + a + ",b = " + b);
g = a/b;
System.out.println("a/b = " + g + "\n");
System.out.println(" a = " + a + ",b= " + b);
h = (float)a/b;
System.out.println("a/b = " + h);

//运行结果
a = 155,b = 9
a/b = 17.0
		
a = 155,b = 9
a/b = 17.222221

//想要使运算的结果为浮点数,就必须将两个整数中的一个或两个强制转换为浮点数类型,例如以下三种写法
(float)a/b		//将整数a强制转换成浮点数,再与整数b相除
a/(float)b		//将整数b强制转换成浮点数,再以整数a除之
(float)a/(float)b	//将整数a与b同时强制转换成浮点数

 

 ps:若将一个大于变量可表示范围的值直接赋给这个变量时,这种转换成为缩小转换。由于缩小转换在转换的过程中会损失数据精确度,所以必要要由程序员做强制性转换,不推荐使用这种转换。

 

    (2)字符串型数据与整形数据互相转换

        a.字符串转换成数值型数据

           数字字符串型的数据转换成byte,int,short等数字型数据结构,只需使用byte,int,short等类中的parseXXX()方法完成。

String myNnmber = "1234.567";
float myFloat = Float.parseFloat(myNnmber);

         b.数值型数据转换成字符串

            在java语言中,字符串可通过“+”来实现连接,所以如果某个数字数据不是字符串,该操作在连接之前会自动将其转换成字符串。

int myInt = 1234;
String myString = "" + myInt;

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics