导航:首页 > 编程语言 > java中的强制类型转换

java中的强制类型转换

发布时间:2022-08-19 02:50:45

㈠ 在java中什么是强制类型转换!

1 ) 整数 int 转换成字串 String , 有三种方法 :
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = "" + i;

2 ) String 转 int
int i = Integer.parseInt([String]);
i = Integer.parseInt([String],[int radix]);
int i = Integer.valueOf(my_str).intValue();

3 ) 布尔类型 转 String

1. 第一种方法

boolean bool = true;
String s = new Boolean(bool).toString();//将bool利用对象封装器转化为对象

2. 第二种方法

boolean bool = true;

String s = String.valueOf( bool );

4 ) String 转 Date

1 . 导入 java.util.Date date=null;

2 . date=java.sql.Date.valueOf(String s);

5 ) 数字类型间的转换

转型有两种: 向上转型和向下转型(强制转型)
两种分别如下:
第一种是向上转型
对于基础数据类型 , 可以自动转型 ,比如:
int a = 10;
long b = a;
这里就是把int型转成了long型 , 因为 long范围比int大 , 这样的转型不会有任何影响 , 所以可以自动转型

第二种是向下转型 , 也就是强制
这种需要强转 , 比如
long a = 10 ;
int b = (int) a;
通过 (int)可以强制转型 , 但是这样会丢失精度 , 比如a如果超过了b的范围 , 那么强转成int型, 只会等于int的最大值

又如 : int a = ( int ) 8.8 ;
如果对编程感兴趣可以来我这个看看,希望对您有所帮助!~

㈡ 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和int如何进行强制转换

可以转换,在平时写代码的时候经常会用到string和int数据类型的转换,由于java和python在string和int数据类型转换的时候是不一样的。

在 java中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的parseInt() 方法或者valueOf() 方法进行转换。

String str = "123";try { int a = Integer.parseInt(str);


} catch (NumberFormatException e) {
e.printStackTrace();


}String str = "123";try { int b = Integer.valueOf(str).intValue()


} catch (NumberFormatException e) {


e.printStackTrace();


}

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

㈣ 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的强制类型转换的格式,急

强制转换格式为(int)a将变量a强制转换为int型,但是转换是有条件的。数值类型只能转换为数值类型,逻辑类型boolean不能转换为数值型。如(int)true就是不对的。详细的可以参考一些网上的资料。我就不一一列举了

㈥ JAVA如何进行强制类型转换

1.
转型有两种:
向上转型和向下转型(强制转型)
2.
两种分别如下:
1.
一种是向上转型
1.
对于基础数据类型
,
可以自动转型
,比如:
int
a
=
10;
long
b
=
a;
这里就是把int型转成了long型
,
因为
long范围比int大
,
这样的转型不会有任何影响
,
所以可以自动转型
2.
又比如
A
a
=
new
B();
其中
A
是B
的父类
,
这也是多态
,
就是父类的对象指向子类的引用
,
你调用a对象
,
实际上是B的类
,
但是B继承A
,
拥有A的一切属性和方法
(不谈复写)
3.
第二种是向下转型
,
也就是强制
这种需要强转
,
比如
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
,
不然会报错.
4.
不同类型之间如果要转型
,
需要通过中间途径
,
比如JSON
,
将A转成JSON串
,
然后再转换为B

㈦ java 强制类型转换的规则是什么

1、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等等;

2、赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它;

3、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参;

4、函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。

(7)java中的强制类型转换扩展阅读

C++中强制类型转换函数有4个:

1、const_cast(用于去除const属性)。

2、static_cast(用于基本类型的强制转换)。

3、dynamic_cast(用于多态类型之间的类型转换)。

4、reinterpreter_cast(用于不同类型之间的指针之间的转换,最常用的就是不同类型之间函数指针的转换)。

隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。

在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。

在函数调用时,如果return后面表达式的类型与函数返回值类型不同,则在返回值时将return后面表达式的数值强制转换为函数返回值类型后,再将值返回。

参考资料

网络-强制类型转换

㈧ java中的强制类型转换

在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。

在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的。

当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了。在Java中我们可以通过继承、向上转型的关系使用父类类型来引用它,这个时候我们是使用功能较弱的类型引用功能较强的对象,这是可行的。但是将功能较弱的类型强制转功能较强的对象时,就不一定可以行了。

举个例子来说明。比如系统中存在Father、Son两个对象。首先我们先构造一个Son对象,然后用一个Father类型变量引用它:

Father father = new Son();

在这里Son 对象实例被向上转型为father了,但是请注意这个Son对象实例在内存中的本质还是Son类型的,只不过它的能力临时被消弱了而已,如果我们想变强怎么办?将其对象类型还原!

Son son = (Son)father;

这条语句是可行的,其实father引用仍然是Father类型的,只不过是将它的能力加强了,将其加强后转交给son引用了,Son对象实例在son的变量的引用下,恢复真身,可以使用全部功能了。

前面提到父类强制转换成子类并不是总是成功,那么在什么情况下它会失效呢?当引用类型的真实身份是父类本身的类型时,强制类型转换就会产生错误。例如:

Father father = new Father();

Son son = (Son) father;

这个系统会抛出ClassCastException异常信息。

所以编译器在编译时只会检查类型之间是否存在继承关系,有则通过;而在运行时就会检查它的真实类型,是则通过,否则抛出ClassCastException异常。

所以在继承中,子类可以自动转型为父类,但是父类强制转换为子类时只有当引用类型真正的身份为子类时才会强制转换成功,否则失败。

(8)java中的强制类型转换扩展阅读:

public class TestCastClassException

{

public static void main(String[] args)

{

Father father = new Son();

//这两句话是不对的,因为一个father类型的引用(指针)是看不见、看不到son中新定义的数据成员或者成员函数的

//虽然这个对象的本质是Son类型的,它也确实有这样的数据成员和成员函数,但是指针的作用范围不够,它看不到。

//代码后面附上模型分析

//father.son = 2;

//father.show_son();

father.show_father();

father.show();

Father father1 = (Father)father;//一个对象在内存中被new出来后,只能选择访问它的方式,不能修改它的布局(包含的成员的个数等)

father1.show();

} //main

}

class Father

{

public int father = 2;

Father(){}

void show()

{

System.out.println("This is father");

}

void show_father()

{

System.out.println("father!!");

}

}

class Son extends Father

{

public int son = 1;

Son(){}

void show()

{

System.out.println("This is son");

}

void show_son()

{

System.out.println("son!!");

}

}

㈨ JAVA如何进行强制类型转换

如果这2种类型是兼容的,那么Java 将自动地进行转换。

㈩ Java中什么情况下需要强制转换

自动转换和强制转换我知道的有两种情况:基本数据类型

类。
先说基本数据类型:因为java是强类型语言,由强类型向弱类型转换需要强制转换,而由弱类型向强类型转换则系统自动转换。比如:double
类型相比int类型是属于强类型,则由double类型的数据向int类型数据转换就需要强制转换,反之则自动转换。另外八大基本数据类型的强弱关系如下:byte

评论
0

0

加载更多

阅读全文

与java中的强制类型转换相关的资料

热点内容
二板股票源码 浏览:440
度人经pdf 浏览:898
怎么配置android远程服务器地址 浏览:956
java程序员看哪些书 浏览:939
什么app可以免费和外国人聊天 浏览:793
pdf手写笔 浏览:179
别永远伤在童年pdf 浏览:988
爱上北斗星男友在哪个app上看 浏览:419
主力散户派发源码 浏览:669
linux如何修复服务器时间 浏览:59
荣县优途网约车app叫什么 浏览:477
百姓网app截图是什么意思 浏览:226
php如何嵌入html 浏览:815
解压专家怎么传输 浏览:745
如何共享服务器的网络连接 浏览:134
程序员简易表白代码 浏览:168
什么是无线加密狗 浏览:64
国家反诈中心app为什么会弹出 浏览:69
cad压缩图打印 浏览:104
网页打开速度与服务器有什么关系 浏览:865