a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 79|回复: 1

[其他] JAVA技巧:Java基本数据类型转换分析

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
public class TestConvert {    public static void main(String arg[])
% K0 t; w0 O& k5 ^7 f# R    {9 B6 }, n3 |3 |/ d3 z3 u2 b
    int i1 = 123;
( a1 x: ]+ h- R1 \  f  {    int i2 = 456;- X! q4 s( Z# `, L4 N6 y8 h& V
    double d1 = (i1+i2)*1.2;//系统将转换为double型运算+ m# x8 c' K6 \# h
    float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
* B' c3 P3 J5 f3 }7 y    byte b1 = 67;, a6 x' g- O7 _7 e" L
    byte b2 = 89;; f# i+ Q% V3 [" f
    byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需
+ o$ J, Y- N/ T8 P& i    //要强制转换符
" V" G* k8 C. _' F2 h    System.out.println(b3);6 X7 K* i% @, j1 m) T5 ?  p
    double d2 = 1e200;. \% M% y  c; Z0 N, I4 F
    float f2 = (float)d2;    //会产生溢出5 q. N; B6 a. k' [0 M  G1 d" W0 A
    System.out.println(f2);
$ L' r5 h* Y$ D# Z2 t" J    float f3 = 1.23f;//必须加f
- N# U: d9 _5 S- V    long l1 = 123;9 h, I/ k: J4 y, b
    long l2 = 30000000000L;//必须加l: T* R* U+ v! p1 y
    float f = l1+l2+f3;//系统将转换为float型计算
5 V/ d, ~/ ~3 ~  |0 g3 Y    long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)5 r) p1 e6 h" z0 k; @1 C" X
    }
. q; Z" h% ?8 q: X7 W; b6 y
8 ~0 e8 A4 `- N1 s, l3 Z. f    }
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:28:24 | 显示全部楼层

JAVA技巧:Java基本数据类型转换分析

</p>    public class TestConvert2 {3 C* [, }9 a4 \
    public static void main(String[] args) {! K/ c0 j' X, c" W$ Y
    int i=1,j=12;# Y3 d" t# Q" q. c/ a- A! C' k$ O
    float f1=(float)0.1; //0.1f
1 O! x8 q' i( p- S( c    float f2=123;
, Z1 Q# I2 X% N2 P0 t- }) v    long l1 = 12345678,l2=8888888888L;' u0 s  A# h+ k" z; P' |# K* R
    double d1 = 2e20,d2=124;
+ o: w  a+ F5 j$ i$ X( |! _$ j    byte b1 = 1,b2 = 2,b3 = 127;
6 M. K! J: p1 b1 u: [    j = j+10;
8 l# S) C2 }5 H1 H8 V    i = i/10;3 ?& z# _6 a+ X5 v
    i = (int)(i*0.1);1 K5 Q0 i# u( D+ z9 ?
    char c1='a',c2=125;% T3 N9 q! [5 D3 {4 J
    byte b = (byte)(b1-b2);& E4 @& f. G- t# y
    char c = (char)(c1+c2-1);6 D4 h( a4 ~( g# B1 L* D. c" A
    float f3 = f1+f2;
- ?7 n! V: j7 K; O; _6 y$ ~3 ~    float f4 = (float)(f1+f2*0.1);0 ~4 B' f( |9 b6 S! i
    double d = d1*i+j;
7 q9 I/ S5 v# c: }/ P$ l    float f = (float)(d1*5+d2);- O; A8 x* H5 t1 G% f- K. [
    }) v$ C4 _- {( F9 E7 x
    }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 06:49 , Processed in 0.231021 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表