java 基本数据类型,跟 c 一样啊


  java 的基本数据类型有8个,比葫芦娃还多一个。分别是byte(1字节),short(2)、int(4)、long(8),float(4)、double(8),boolean(2),char(2)。
  java 是强数据类型语言,不同的数据类型(要具有相同形式)之间可以互相转换,低转高是自动类型转换,一般不会出问题,高转低需要强制转换,会出现溢出的情况。拿最简单的 byte 和 short 的相互转换举例,byte 取值范围-128至127,short 取值范围-32768至32767,如果 short 等于500,强转 byte,得到-12,跟我们预期不符合,说一说-12这个值怎么得来的。

// 强制类型转换, 高转低
short a = 500;
byte b = (byte)a;  //b = -12
500/256=1余244244/128=1 余116116/64=1余5252/32=1余2020/16=1余404/4=1余000
2561286432168421
1286432168421
111110100

  如上面的二进制表格,short 是16 bit,byte 是 8 bit,500转化的时候,根据二进制计算得到111110100,然后从第8位128那里截断,得11110100,二进制高位是符号位,符号位为0即为正数,1即为负数,这时将二进制位对应的值相加-128 + 64 + 32 + 16 + 4 = -12。
  ++ 递增、-- 递减符号运用:

int i = 0;
System.out.println(i ++);   // 0, 先使用再赋值
System.out.println(++ i);    // 1
if(i++ > 0) { 
//先计算i > 0,i 再+1,所以值为 false,条件不执行 

}

  int、double 转换的计算:

int a = 1, b = 2;
double k1 = a / b;              // 0.0

double k2 = (double)a / b;      // 0.5        
double k3 = (double)(a / b);    // 0.0double k4 = ((double) a) / b;   // 0.5        
double k5 = (a + 0.0) / b;      // 0.5

double c = a;                 // 1.0          
double d = b;                 // 2.0                       
double k6 = c / d;            // 0.5      

  k2、k4、k5、k6都实现了目的,有意思的地方是k4,a 为 int, 转 double 是自动的,这里加了个强转符号值得商榷。还有k2、k4似乎是相同写法,但一般写成k4,比较保险,不容易出错。

+ 是运算符,也是连接符号。

System.out.println(5 + 5 + "a");  // 10a
System.out.println("a" + 5 + 5);  // a55

  可以看到程序执行是有次序的。如果 + 号一边是字符串,则当连接符使用,不要先入为主导致出错。
  好啦,基本数据类型的概念值得记录的大概就这么多。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值