Java数据类型的转换:隐式(自动)转换与强制转换

原文链接:http://java.chinaitlab.com/base/725590.html

简单数据类型之间的转换

  

简单数据类型由低到高(byte、short、char)< int < long < float< double

简单数据类型转换分为:低级到高级的自动转换;高级到低级的强制转换;包装类过渡类型能够转换;

自动类型转换:直接将低级类型只赋值给高级类型;如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,

强制类型转换:高级类型赋值给低级类型需要强制转换,可能常出现溢出或者丢失精度

包装类:Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。

字符串型与其它数据类型的转换

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

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);

原文地址:https://www.cnblogs.com/zhang19925/p/12244125.html

时间: 2024-10-13 16:01:38

Java数据类型的转换:隐式(自动)转换与强制转换的相关文章

自动转换(隐式转化)与强制转换(显式转换)

Java中,基本数据类型之间的运算,有时候需要类型的转换.8位的byte类型扩展转换为32位的int类型,不会发生信息丢失.相反,32位的int类型转换为8位的byte类型,很可能发生信息丢失,如发生一般舍弃高位部分. 隐式转化 小类型和大类型结合时,结果自动转换为大类型 字符串和数字结合时,结果自动转换为字符串 强制转换 强制转换是在要转换的数值或表达式之前指明目标类型,并用括号括住该类型.强制转换会发生信息损失,如: 1 2 3 int i = 200; byte b  = (byte)i;

Scala中的Implicit(隐式转换,隐式参数,隐式类)

文章来自:http://www.cnblogs.com/hark0623/p/4196452.html  转发请注明 代码如下: /** * 隐式转换 隐式参数 隐式类 */ //隐式转换 class Implicit(a: A) { def Test: Unit = { println("Implicit") } } class A { } object Implicit { //隐式转换 implicit def a2Implicit(a: A) = new Implicit(a)

selenium中的三种等待方式(显示等待WebDriverWait()、隐式等待implicitly()、强制等待sleep())---基于python

我们在实际使用selenium或者appium时,等待下个等待定位的元素出现,特别是web端加载的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段,在selenium中(appium通用)常用的等待分为显示等待WebDriverWait().隐式等待implicitly_wait().强制等待sleep()三种,下面我们就分别介绍一下这三种等待的区别 在前面的博文中简单介绍了<强制等待和隐士等待的区别和理解>,本文再详细的结合案例进行理解. sleep(): 强

JAVA学习笔记-this隐式参数

this 是隐式参数, 类的方法调用时,会系统自动传递一个this的参数给方法.(这个参数是隐式传递的) 所以在方法里可以使用this这个参数. this在方法中表示对象. this(参数列表)可以在构造器里调用另一个重载的构造器 this主要在对象初始化里用的比较多,也即在构造函数里用的多 实际上 super也是作为一个隐式参数和this传递的

参数强制转换还是将参数的地址强制转换成线程参数

第一种方式:将传递的值,强制转换值的地址,然后在线程函数中,首先强制转换参数的类型,然后取值 DWORD WINAPI ThreadProc(LPVOID lpParam){ int i=(*(int*)lpParam);   //get the parameter from CreateThread function CreateThread(NULL,            NULL,      ThreadProc,      (LPVOID)i,**********      0,   

JAVA 类型转换:隐式转换与强制转换

  这篇随笔是对java类型转换的回顾,方便忘记的时候查询,同时希望帮助有这方面需要的朋友 一. 数据类型分类: 简单数据类型:整型.实型.字符型((byte-short-char)-int-long-float-double) 二.简单类型转换 (1)低级向高级转换---自动转换:隐式转换 byte i = 0;        int a =i;        long b = i;        float c =b;        double d =c;        short j =

转载:深入理解Scala的隐式转换系统

摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码. 使用方式: 1.将方法或变量标记为implicit 2.将方法的参数列表标记为implicit 3.将类标记为implicit Scala支持两种形式的隐式转换: 隐式值:用于给方法提供参数 隐式视图:用于类型间转换或使针对某类型的方法能调用成功 隐式值: 例1:声明person方法.其参数为name,类型String

深入理解Scala的隐式转换系统

摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码. 使用方式: 1.将方法或变量标记为implicit 2.将方法的参数列表标记为implicit 3.将类标记为implicit Scala支持两种形式的隐式转换: 隐式值:用于给方法提供参数 隐式视图:用于类型间转换或使针对某类型的方法能调用成功 隐式解析机制 即编译器是如何查找到缺失信息的,解析具有以下两种规则: 1

隐式转换 &amp; 强制转换

隐式转换 & 强制转换 概念 自动转换:隐式转换 低级向高级转换,转换后的数据类型的表示范围要比转换前的大 转换前后的数据类型兼容 //自动类型转换 short类型(2个字节)转成int类型(4个字节),均是整数类型 short s=1; int i; i=s; 强制转换 高级到低级转换,不安全 转换前后的数据类型不兼容 //double类型(8字节)的数据强制转换成float类型(4字节) double d=1.333; float f; f=(float)d; 基本数据类型所对应的包装类 B