huangshijie

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 java中有且仅有八种基本数据类型,记住就行,共分为四类:

第一类:整型--》byte     short      int     long  

第二类:浮点--》float    double

第三类:逻辑--》boolean

第四类:字符--》char

(基础数据类型在栈 里面直接分配内存 ,而引用数据则是通过堆里的对象来对栈中的内容进行引用)

 

字节以及其范围:

boolean布尔型    1/8        

byte     字节型     1  

char     字符型     2

short    短整型     2

int        整数型     4

float     单精度     4

long     长整型     8

double 双精度     8

java中

   默认的整型是int ,如果定义为long,要在后面加上L或l标识

         默认的浮点类型是双精度的double,如果要定义为float,要在后面加上F火f

        一个字节等于8位,一个字节等于256个数,就是-128到127一共256。

        kB就是kBytes         Bytes就是“字节”的意思! 

         K就是千的意思,因为计算机是通过二进制来计算,10个1正好是1024

         1111111111(二进制)=1024(十进制)

         1Bytes(字节)=8bit(比特) 

         一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节 

         一个汉字就是两个字符,占用两个字节。

         一般讲大小是用Bytes,大写的“B”,讲网络速率是用bit,注意是小写的“b”。

         例:一个文件有8MBytes 

         例:我下载文件的速率是256KB/s,即2Mbit,这通常就是我们宽带上网的速率。

 

        基本数据类型自动转换:

               byte--》short

               char--》int--》long

               float--》double

               int --》 float

               long--》double

小可自动转大,大转小会失去精度

 

---------------------------------------------------------------------------------------------------------------------------------------------------

public static void main(String[] args) {
// TODO 自动生成的方法存根

double b = 123.000;

int a = 123;

if (a ==b) {
System.out.println("相等");
} else {
System.out.println("不等");
}

}
上面这段程序·的比较结果是“相等”
ps:在if语句中调换a和b的位置结果也是一样的

答:
类型对于一个数字“值”来说是没有意义的,类型和值是两个互不相关的东西,只有组合起来才有意义。就像 35 块钱和 35斤 这两个地方的 35 都是一样的数字。在编程语言中的基本类型的变量中这些都是这样处理的,这是历史原因。也正是这些历史原因,以前的C语言写的代码就太灵活,容易在不经意间出错。

如果需要逻辑意义上对类型也考虑到那就用 Double 和 Integer 这些东西,这样一来就是把类型属性和值绑定在一起成为一个基本单位。不再是分离的,面向对象的编程语言用一些“类”和“对象”的概念把这些东西整理成人类思维中对应的东西,思考起这些问题来就省事,不容易出错了。
posted on 2015-08-14 09:14  huangshijie  阅读(363)  评论(0编辑  收藏  举报