java数据类型转换
㈠ java中怎么将int数据转换为byte数据
JAVA中根据以下代码将int数据转换为byte数据:
public static byte[] int32ToBytes(int val) {
int size = Integer.SIZE / Byte.SIZE;
byte[] ret = new byte[size];
for (int i = 0; i < size; ++i) {
ret[i] = (byte) (val << (8 * i) >> 56);
}
return ret;
}
(1)java数据类型转换扩展阅读
Java也提供了一个byte数据类型,并且樱坦是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。
byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取颤罩值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。
运算规则:
####正数的最高位都是 0 ,正数的值就是二进制表示的值。 ####
####负数的最高位都是 1 ,负茄颂闹数的值是 取反后加一 然后加个负号得到得值。 ####
㈡ Java强制数据类型转换
规则可不少,挺乱的其实:
强制数据类型转换: int nowC = (int)c;
还可以这样,使用intValue方法,返回一个int值:
Double d = 5 / 9.0 * (f - 32);
int nowC = d.intValue();
Double类是基本数据类型double所对应的包装类。
基本数据类型转换的规则:
Java中基本数据类型共有8种,其中boolean类型不能转换为其它类型,其它类型也不能转换为boolean型
除了boolean类型,还有7种,按照它们的容量(也就是表数范围,就是能表示的数的大小范围,比如char是0——65535)的大小,从小到大,排序依次为:
byte short char int long float double
1.容量小的向容量大的转换,可以自动转换,比如可以直接将一个int类型赋值给double:
double d = 34;
2.容量大的向容量小的转换,必须强制类型转换,就是你上面的那种形式,比如:
double c = 5/9.0 *(f - 32);
int nowC = (int)c;
3.整数类型常量默认为int类型,比如17
4.浮点类型常量默认为double类型,比如3.14
5.在多种数据类型混合运算时,容量小的自动转换为整个表达式中容量最大的,然后再进行计算,比如:
int i = 9; float f = 4f; double d = 3.14; double dd = i+f+d;
此时,i和f都各自先转换成double,在进行+运算。
6.在多种数据类型混合运算时,byte short char 3者不会互相转换,他们各自转换为int再进行计算
7.在有些时候,容量小的会自动提升为容量大的,比如方法重载传参数时候,
但是byte 和 short 不会自动提升为char,其它类型按照我上面所述的顺序提升。
差不多就这些,不明白补充,另外需要注意的是强转虽然编译没问题,但是运行时,有可能会数据溢出,损失精度
㈢ java数据类型转换方式有几种
如:String s = "123";
int num = Integer.parseInt(s);注意:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,会抛出异常java.lang.NumberFormatException
2、String类型转换成double类型变量:使用double类的parseDouble(String )方法
如:String s = "123";
idouble num = Double.parseDouble(s);
3、int类型变量转换成String类型变量:使用String类的valueOf(int )方法
如: int num = 123;
String s = String.valueOf(num);
4、Double类型变量转换成String类型变量:使用String类的valueOf(int )方法
如: Double num = 123.0;
String s = String.valueOf(num);
5、String变量转换成字符数组Char[]:使用String类的toCharArray()方法
如: String s = "123";
6、字符或字符数组转换成字符串,也是通过valueOf()方法,不再给出示例代码。
㈣ java, int如何转float,
可以直接强制转换。
int i = 2;
float f = i;
但是这种转化方式比较少用,比较多的是int转为string或者string转为int或者float。
㈤ java 中各种数据类型转换byte[]的方法
ObjectOutputStream oos = null;//对象输出流
ByteArrayOutputStream baos = null;//byte数组输出流
ByteArrayInputStream s = null;//对象输入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//将数组流传入对象流
oos.writeObject(new Integer(1));//用对象流读取对象。
byte[] bytes = baos.toByteArray();//用数组流将传入的对象转化为byte数组
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {
}以上是把integer类型转化成byte[]数组类型。注:基本类型要转化为byte[]数组的话,需要用该基本类型的引用类。比如int的引用类是integer,就行了所有的类型,包括class都可以用这种序列化方式来转成byte[],
㈥ java中各数据类型是如何实现强制类型转换的
转型有两种:
向上转型和向下转型(强制转型)
两种分别如下:
一种是向上转型对于基础数据类型
,
可以自动转型
,比如:int
a
=
10;long
b
=
a;这里就是把int型转成了long型
,
因为
long范围比int大
,
这样的转型不会有任何影响
,
所以可以自动转型
又比如
A
a
=
new
B();
其中
A
是B
的父类
,
这也是多态
,
就是父类的对象指向子类的引用
,
你调用a对象
,
实际上是B的类
,
但是B继承A
,
拥有A的一切属性和方法
(不谈复写)
</ol>第二种是向下转型
,
也就是强制这种需要强转
,
比如long
a
=
10
;int
b
=
(int)
a;通过
(int)可以强制转型
,
但是这样会丢失精度
,
比如a如果超过了b的范围
,
那么强转成int型,
只会等于int的最大值又比如
:B
b
=
new
A();
这样是不行的
,
需要有中间途径
,
比如A
a
=
new
A();
Object
obj
=
a;
B
b
=
(A)
a;而这种强转
,
又有要求
,
必须是同类型
,
也就是说
A
就是B
,
不然会报错.</ol>不同类型之间如果要转型
,
需要通过中间途径
,
比如JSON
,
将A转成JSON串
,
然后再转换为B
</ol></ol>
㈦ java大神 字符串的转换基本数据类型
1. 字符串转换为数字
java.lang中的Integer类调用其类方法public static int parseInt(String s)可以将由“数字”字符组成的字符串,比如“876”转换为int数据类型,例如:
int x;
String s = "876";
x = Integer.parseInt(s);
类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调用相应的类方法
public static byte parseByte(String s) throws NumberFormatException
public static short parseShort(String s) throws NumberFormatException
public static long parseLong(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException
2. 可以使用下面的方法将数字转化为相应的字符串对象:
① valueOf方法
public static String valueOf(byte n)
public static String valueOf(int n)
public static String valueOf(long n)
public static String valueOf(float n)
public static String valueOf(double n)
例如:将形如123,12345.8等数值转换为字符串
String str = String.valueOf(123)
String str = String.valueOf(12345.8)
② 可以使用toString方法(一个对象通过调用该方法可以获取该对象的字符串表示)
使用java.lang包中的Byte、Integer、Short、Long、Float、Double类调用相应的类方法,Integer.toString、Double.toString,等等
比较常用的是Integer.toString("要进行转换的数字"),方法得到的是一个字符串的对象
例子:
int n = 123;
String m = Integer.toString(n);
System.out.println(m + 1);
Date date = new Date();
System.out.println(date.toString());
所以我们可以使用上面的方法将数字转化为一个字符串
3. 字符串与字符数组
① 将字符数组转换为字符串对象
使用String类的构造方法:String(char a[])和String(char a[],int offset,int length)
分别用数组a中的全部字符和部分字符构造字符串对象
例子:
char a[] = {'1','2','3'};
System.out.println(new String(a).length());
㈧ JAVA里面的boolean类型怎么转成int型 请各位前辈给予指点
可以转化,但是没有直接转化的方法。
在Java中,boolean值中的true值为1,false值为0,所以,转化的依据就是判断boolean值是否为true,如果为true就返回结果1,否则返回0,具体的说明可以参照DataOutputStream类中的writeBoolean(boolean f)和DataInput中的readBoolean()。
(8)java数据类型转换扩展阅读:
boolean 数据类型 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。
javascript中创建boolean对象的方法
使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:
var myBoolean = new Boolean()
var myBoolean = new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
int是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。
使用方法
1、定义方法:
inti;//定义整形变量iinti=1;//定义整形变量i并初始化为1
2、定义常量:
constinti;//编译错误,因为常量需要给予一个初值constinti=1;//定义常量i,值为1
3、Java定义常量:
finalinti=1;//定义常量i,值为1
㈨ Java中几种常用数据类型之间转换的方法
下面给你例举10种Java中几种常用的数据类型之间转换方法:
1. short-->int 转换
exp: short shortvar=0;
int intvar=0;
shortvar= (short) intvar
2. int-->short 转换
exp: short shortvar=0;
int intvar=0;
intvar=shortvar;
3. int->String 转换
exp: int intvar=1;
String stringvar;
Stringvar=string.valueOf (intvar);
4. float->String 转换
exp: float floatvar=9.99f;
String stringvar;
Stringvar=String.valueOf (floatvar);
5. double->String 转换
exp double doublevar=99999999.99;
String stringvar;
Stringvar=String.valueOf (doublevar);
6. char->String 转换
exp char charvar=’a’;
String stringvar;
Stringvar=String.valueOf (charvar);
7 String->int、float、long、double 转换
Exp String intstring=”10”;
String floatstring=”10.1f”;
String longstring=”99999999”;
String doubleString=”99999999.9”;
Int I=Integer.parseInt (intstring);
Float f= Integer.parseInt (floatstring);
Long lo=long. parseInt (longstring);
Double d=double. parseInt (doublestring);
8 String->byte、short 转换
Exp String s=”0”;
Byte b=Integer.intValue(s);
Short sh=Integer.intValue(s);
9 String->char 转换
Exp String s=”abc”;
Char a=s.charAt(0);
返回字符a
10 String-->boolean 转换
String s=”true”;
Boolean flag=Boolean.valueOf (“s”);
㈩ 如何解决java中数据类型转换异常
数据类型转换异常即ClassCastException,在Java应用程序中,有时候需要对数据类型进行转换。这个转换包括显示的转换与隐式的转换。不过无论怎么转换,都必须要符合一个前提的条件,即数据类型的兼容性。如果在数据转换的过程中,违反运枯了这个原则,那么就会触发数据类型转换异常。如现在在应用程序中,开发人员需要将一个字符型的日期数据转换为数据库所能够接受的日期型数据,此时只需卖纤要在前台应用程序中进行控制,一般不会有问题。但是,如果前台应中悄仿用程序缺乏相关的控制,如用户在输入日期的时候只输入月、日信息,而没有年份的信息。此时应用程序在进行数据类型转换的时候,就会出现异常。 数据类型转换异常在应用程序开发中使一个出现的比较多的异常,也是一个比较低级的异常。因为大部分情况下,都可以在应用程序窗口中对数据类型进行一些强制的控制。即在数据类型进行转换之前,就保证数据类型的兼容性。如此的话,就不容易造成数据类型的转换异常。如在只允许数值类型的字段中,可以设置不允许用户输入数值以外的字符。虽然说有了异常处理机制,可以保证应用程序不会被错误的运行。但是在实际开发中,还是要尽可能多的预见错误发生的原因,尽量避免异常的发生。