精华内容
下载资源
问答
  • java基本数据类型转换

    千次阅读 2011-03-22 21:20:00
    java基本数据类型转换,看似简单,可很多人在工作编程中却会放错误,原因是对它的机制理解的不够 我这里以byte,int之间转换为例,进行说明 理解基本数据类型转换,首先得理解java的负数表示,java...

    java基本数据类型转换,看似简单,可很多人在工作编程中却会放错误,原因是对它的机制理解的不够

    我这里以byte,int之间转换为例,进行说明

    理解基本数据类型转换,首先得理解java的负数表示,java负数使用补码的方式表示,也就是说一个byte数,0x80,它的值是-128,而0xFF,表示-1,关于补码,大学基础课,我就不多说了

    1.byte转换成int

    byte转换成int数据变长了,原来一个字节变成了4个字节

    java转换规则是这样的,后面扩充的3个字节填值跟byte的符号位值相同,符号位为1,就填充1,符号位为0,就填充0,以0x80为例,转换成int后就变成了0xFFFFFF80,根据补码取反加1的规则,该int的值依然是-128,若是0x70,转换成int后就变成了0x00000070,该int的值依然是127,也就是说,从byte转换成int,数据的值不发生变化。

    2.int转换成byte

    int转换成byte很简单,就是简单去掉int的高三位,这样处理后,就可能产生一些变换,例:int x = 128,int y=-128,你把它转换成byte它的值都变成了-128,就是这个机制导致的

     

    我写两个简单例子用于说面上面两个问题:

     public void testbyte(){
      byte x = 0;
      for(int i=0;i<256;i++){
       System.out.println(x++);
       System.out.println((int)x);
      }
      //结论1:java负数使用补码表示,比如0x80表示-128
      //补码的运算规则是取反加一
      //结论2:当byte转换成int,高位填充数值要看符号位,符号位为1,就填充1,符号位为0就填充0
      
     }
     public void testint2byte(){
      int x = -128;
      int y = 128;
      System.out.println((byte)x);
      System.out.println((byte)y);
      //结论:java int强制转换成byte就是简单截取高位数据
     }

    展开全文
  • Java基本数据类型转换java基本类型转换优先级转换类型1. 自动类型转换: 编译器自动完成类型转换,不需要再程序中编写代码转换规则: 从存储范围小的类型到存储范围大的类型具体规则 : byteàcharàshortàintàlong...

    Java基本数据类型转换与java基本类型转换优先级

    转换类型

    1.      自动类型转换: 编译器自动完成类型转换,不需要再程序中编写代码

    转换规则: 从存储范围小的类型到存储范围大的类型

    具体规则 : byteàcharàshortàintàlongàfloatàdouble

    2.      强制类型转换: 强制编译器进行类型转换,必须在程序中编写代码

    转换规则: 从存储范围大的类型存到储存范围小的类型

    具体规则: doubleàfloatàlongàintàshortàcharàbyte

    Ps: Boolean 不是数字类型,所以基本类型转换不包含boolean

     

    展开全文
  • Java基本数据类型转换

    千次阅读 2007-07-12 02:48:00
    java 基本数据类型之间的转换 实箭头表示无数据丢失的转换虚箭头表示有数据丢失的转换在进行二元计算的时候,先将两个操作数转换为同一种类型,再计算 ①如果两个数中有一个是double类型的,那么另一个也将转换为...
      java 基本数据类型之间的转换
    

        

     

    实箭头表示无数据丢失的转换

    虚箭头表示有数据丢失的转换

    在进行二元计算的时候,先将两个操作数转换为同一种类型,再计算

        如果两个数中有一个是double类型的,那么另一个也将转换为double类型;

        如果两个数中有一个是float类型的,那么另一个也将转换为float类型;

        如果两个数中有一个是long类型的,那么另一个也将转换为long类型;

        否则,两个操作数都将被转换为int类型

    3.5.5      类型转换  

       强制类型转换.

       新类型 变量名= (新类型)原变量;

       int类型转换不double类型是看自动进行的,而double转换不int需要强制类型转换.

    例:

        double x=0.999;

        int n=(int)x; //强制类型转换是通过截断小数部分转换不整型的

        字符串转换为其它类型

           xxx n=Xxxxx.parseXxx(原变量)

        String str1=”123”;

        int n=Integer.parseInt(str1);

    字符串转换为byteshortintlongfloatdouble类型,参考ByteShortIntLongFloatDouble类的parseXxx方法

        

         基本类型与其包装器类之间的转换

        包装器类 对象变量名=new  包装器类(基本类型变量);

       基本类型 基本类型变量名=对象变量名. 基本类型Value();

    例:

       int i=1;

       Integer io=new Integer(i);

        int b=io.intValue();

        数据转换为String类型

        String str1=””+基本类型变量;

       

       十进制到其他进制的转换

    Integer.toBinaryString(int i); //十进制 转换成二进制

    Integer.toHexString(int i); //十进制 转换成十六进制

    Integer.toOctalString(int i); //十进制 转换成八进制

    toString(int/long i, int radix)方法,可以将一个十进制数转换成任意进制的字符。

    byte, short, floatdouble等数据类型,可以利用Integer或者LongtoBinaryString, toHexString, to OctalStringtoString方法转换成其他进制的字符串。

    其它进制到十进制的转换

    Integer.valueOf("1000", 几进制);

    IntegerLong类的valueOf(String source, int r)方法,可以将任意进制的字符串转换成十进制数据。

    字节数组与数据类型的转换

    整型转换为字节数组,其它类型参考此例

    1

       public static byte[] InttoByteArray(int n)

       {

           int tmp = n;

           byte[] b=new byte[4];

           b[3]=new Integer(tmp).byteValue();

           tmp=tmp>>8;

           b[2]=new Integer(tmp).byteValue();

           tmp=tmp>>16;

           b[1]=new Integer(tmp).byteValue();

           tmp=tmp>>24;

           b[0]=new Integer(tmp).byteValue();

           return b;

       }

    2

    public static byte[] InttoByteArray(int n)

    {

       int tmp1 = n;

       byte[] b=new byte[4]; //整型需要4个字节存储

       for (int i = b.length - 1; i >=0; i--)

       {

           //int的后8位转换为byte

           b[i] = new Integer(tmp1).byteValue();

           tmp1 = tmp1 >> 8;

       }

       return b;

    }

    字节数组转换为整型,其它类型参考此例

           byte[] b=new byte[4];

              b[0]=0;

              b[1]=0;

              b[2]=39;

              b[3]=16;

       public static int toInteger(byte[] b)

       {

           int s=0;

           s=b[0] * 256 * 256 * 256 + b[1] * 256 * 256 +b[2] * 256+b[3];

           return s;

       }

    boolean类型转换为String

    例一:Boolean b=true;

    String str1=b.valueOf(b);

    例二:

       Boolean b=new Boolean(true);

       String str2=b.toString();

     
    展开全文
  • java 基本数据类型转换

    千次阅读 2007-08-20 17:45:00
    我们知道,Java数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double...
     我们知道,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码值,例如r

      char c='c';
        int i=c;
        System.out.println("output:" i);

    输出:output:99;
    对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换

    short i=99;char c=(char)i;System.out.println("output:" c);

    输出:output:c;
    但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。

    2.2强制类型转换
          将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:

    int i=99;byte b=(byte)i;char c=(char)i;float f=(float)i;

          可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换


      2.3包装类过渡类型转换
          在我们讨论其它变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
          在进行简单数据类型之间的转换(自动转换或强制转换)时,我们总是可以利用包装类进行中间过渡。
          一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
      例1,当希望把float型转换为double型时:

      float f1=100.00f;
      Float F1=new float(f1);
      Double d1=F1.doubleValue();
    //F1.doubleValue()为Float类的返回double值型的方法

        当希望把double型转换为int型时:

      double d1=100.00; 
      Double D1=new Double(d1);
      int i1=D1.intValue();

      当希望把int型转换为double型时,自动转换

        int i1=200;
        double d1=i1;

          简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:
    Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
    而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。

    3 字符串型与其它数据类型的转换
          通过查阅类库中各个类提供的成员方法可以看到,几乎从java.lang.Object类派生的所有类提供了toString()方法,即将该类转换为字符串。例如:Characrer,Integer,Float,Double,Boolean,Short等类的toString()方法toString()方法用于将字符、整数、浮点数、双精度数、逻辑数、短整型等类转换为字符串。如下所示:

    int i1=10;
    float f1=3.14f;
    double d1=3.1415926;
    Integer I1=new Integer(i1);
    //生成Integer类r
    Float F1=new Float(f1);
    //生成Float类r
    Double D1=new Double(d1);
    //生成Double类r
    //分别调用包装类的toString()方法转换为字符串
    String si1=I1.toString();
    String sf1=F1.toString();
    String sd1=D1.toString();
    Sysytem.out.println("si1" si1);
    Sysytem.out.println("sf1" sf1);
    Sysytem.out.println("sd1" sd1);

    4、将字符型直接做为数值转换为其它数据类型
          将字符型变量转换为数值型变量实际上有两种对应关系,在我们在第一部分所说的那种转换中,实际上是将其转换成对应的ASCII码,但是我们有时还需要另一种转换关系,例如,'1'就是指的数值1,而不是其ASCII码,对于这种转换,我们可以使用Character的getNumericValue(char ch)方法。

    5、Date类与其它数据类型的相互转换
          整型和Date类之间并不存在直接的对应关系,只是你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立了一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:
    Date(int year, int month, int date):以int型表示年、月、日
    Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、时、分
    Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、时、分、秒r
    在长整型和Date类之间有一个很有趣的对应关系,就是将一个时间表示为距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。对于这种对应关系,Date类也有其相应的构造函数:Date(long date)
    获取Date类中的年、月、日、时、分、秒以及星期你可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以将其理解为将Date类转换成int。
    而Date类的getTime()方法可以得到我们前面所说的一个时间对应的长整型数,与包装类一样,Date类也有一个toString()方法可以将其转换为String类。
    有时我们希望得到Date的特定格式,例如20020324,我们可以使用以下方法,首先在文件开始引入,

    import java.text.SimpleDateFormat;
    import java.util.*;
    java.util.Date date = new java.util.Date();/
    /如果希望得到YYYYMMDD的格式
    SimpleDateFormat sy1=new SimpleDateFormat("yyyyMMDD");
    String dateFormat=sy1.format(date);
    //如果希望分开得到年,月,日
    SimpleDateFormat sy=new SimpleDateFormat("yyyy");
    SimpleDateFormat sm=new SimpleDateFormat("MM");
    SimpleDateFormat sd=new SimpleDateFormat("dd");
    String syear=sy.format(date);
    String smon=sm.format(date);
    String sday=sd.format(date);


    附加:

    java中除了这些转换之外基本数据类型还可以被隐式的转换成String,例如:

    System.out.print(转换 100);//如果在数据前面有字符串用 连接//就会隐式的转换

    String


    1.字符型转时间型:2005-10-1
    reportdate_str = “2005-10-01”;
    reportdate_str = reportdate_str + “ 00:00:00.0”
    reportdate = java.sql.Timestamp.valueOf(reportdate_str);

    2.时间型转字符型:
    V_DATE =  reportdate.toString();

    3.将long型转化为String型
        long APP_UNIT = (long) userview.getDEPT_ID();
        String S_APP_UNIT = String.valeOf(APP_UNIT);
      基本类型s都可以通过String.valeOf(s)来转化为String型。 
     
    展开全文
  • java基本数据类型转换为String

    千次阅读 2017-09-07 17:18:10
    java基本数据类型转换为String我们都知道把一个基本数据类型转为String类型,一般有三种方式,例如:有一个Integer型数据a,可以使用i.toString()、String.valueOf(i)、i+””三种方式,三种方式的效率如何,接下来...
  • JAVA基本数据类型转换JAVA不像PHP,JS,Python,是一门强类型语言,强类型语言就必定会涉及不少的强制类型转换,作为基础中的基础,有必要先熟悉JAVA基本数据类型转换 本博文主要分为以下两部分: 主要内容 注意...
  • java基本数据类型转换为字符串

    千次阅读 2018-09-10 16:21:10
    因此,java提供了包装类将基本数据类型封装成类。通过调用类的toString()方法可以将基本数据类型的值转换成对应的字符串。 包装类 Byte(byte),Short(short),Integer(int),Long(long) Float(float)...
  • 我们在设计数据库的时候,往往需要...和java数据类型转换,都是由一个个typeHandler进行转换,如:BooleanTypeHandler、ShortTypeHandler、LongTypeHandler。。。而他们的基类都是 BaseTypeHandler,如果我们想自定
  • java基本数据类型转换

    万次阅读 2020-07-03 10:39:12
    java基本数据类型的转换自动类型转换强制类型转换 自动类型转换 举例:多种不同的数据类型的一起运算 解释:有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那个数据类型,然后再进行计算。 ...
  • java基本数据类型类型转换

    千次阅读 2017-12-25 21:42:36
    java数据类型在大类上可分为基本数据类型和引用数据类型。这篇博文中则主要针对基本数据类型进行介绍和了解每种数据类型的特别范围以及针对各个数据类型之间的类型转换数据类型的分类结构: 基本数据类型 ...
  • Java基本数据类型类型转换

    千次阅读 多人点赞 2019-12-10 23:39:00
    本文关键字:8种、基本数据类型、整数类型、浮点类型、字符类型、布尔类型。
  • java基本数据类型自动转换规则

    千次阅读 2017-08-03 09:38:02
    一、java基本数据类型 Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。  整型: short, int, long, byte;  浮点型:float, double;  字符型:char;  ...
  • - 调用基本数据类型对应的包装类中的方法 parseXXX(String) 或 valueOf(String) 即可返回相应基本类型。 - 一种方法是将基本数据类型与空字符串("")连接(+)即可获得其所对应的字符串;另一种方法是...
  • 点击进入_更多_Java千百问1、基本类型如何相互转换我们看到,将一种类型的值赋给另一种类型是...java中8种基本数据类型看这里:java有哪8种基本数据类型 转换分为自动转换和强制转换。对于自动转换(隐式),无需任何
  • Java中的基本数据类型转换

    千次阅读 2017-03-21 16:43:50
    Java 语言是一种强类型的语言。强类型的语言有以下几个要求: 1.变量或常量必须有类型:要求声明变量或常量时必须声明类型,而且...Java 语言中的数据类型转换有两种: 1.自动类型转换:编译器自动完成类型转换,不
  • java基本数据类型之间的转换

    万次阅读 多人点赞 2019-01-18 19:13:36
    1、数据类型的分类     2、比较数据类型之间的字节大小  1字节=8位 、 3、转换中的知识点 *java中整数类型默认的int类型;小数类型默认的double; *String的字符串转化为char类型时,只能用char类型的...
  • Java基本数据类型转换

    千次阅读 2015-06-17 06:59:48
    1.1 Java为什么需要保留基本数据类型http://www.importnew.com/11915.html 基本数据类型对大多数业务相关或网络应用程序没有太...自从1996年Java发布以来,基本数据类型就是Java语言的一部分,因此Java是双类型的系
  • java中我们经常会遇到要把一种数据类型转换为另一种数据类型。所以我们今天就来复习一下java基本数据类型之间的转换。 首先我们可以先来看这么一张图: 基本数据类型之间的转换 隐式转换:从表示范围小的类型...
  • Java数据类型转换

    千次阅读 2016-08-30 20:33:38
    Java数据类型转换 在说明数据类型转换(下简称类型转换)之前,得先说明什么是数据,数据可不仅仅是一个值,而是包括描述数据的种类(数据类型)、值以及基于其类型基础上可进行的操作的集合。从类型A转换到类型B,...
  • java基本数据类型进制转换

    千次阅读 2011-02-18 16:23:00
    Java API没有提供完整的进制转换实现,只有浅显的由整型和长整型基本数据类型转换为二进制、八进制、十六进制字符串,以及将字符串反转为整型或长整型数据。 我们来看一下相关测试代码: private int i ...
  • Java基本数据类型与强制转换

    千次阅读 2019-05-08 10:28:19
    Java有两大数据类型,一是基本数据类型;二是引用类型。其中,基本数据类型中又分为六种数据类型,一种浮点型,一种布尔型。 1.byte,默认值为0;占1字节;8位;封装类为Byte 2.short,默认值为0;占2字节;16位;...
  • 今天,给大家介绍下如何在java用jython的方法得到Python数据并把它转换java数据类型.下面我们进入正题: 我们使用的jython的jar包版本为2.70,然后在引入jar包jythonutils1.0 例如下面是之前只用jython2.70常用...
  • Java基本数据类型

    千次阅读 2019-02-01 19:39:26
    这节博客将向大家讲解java数据类型,在讲解数据类型前,先来看一下变量。 (一)变量 java语言是强类型语言,强类型包含两方面的含义。 1:所有的变量必须先声明,后使用。 2:指定类型的变量只能接受类型与之...
  • Java 基本数据类型存储位置

    万次阅读 2018-11-05 10:48:13
    Java 基本数据类型 及 ... Java数据类型分为基本数据类型与引用数据类型。    1 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16...
  • java 基本数据类型的数组转换成集合

    千次阅读 2018-09-26 15:22:05
    注意:基本数据类型的数组转换成集合,会将整个数组当作一个对象转换,将数组转换成集合,数组必须是引用数据类型。 public static void main(String[] args) { int[] arr = {11,22,33,44,55}; List&lt;int...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 680,810
精华内容 272,324
关键字:

java基本数据类型转换

java 订阅