JAVA 类型强制转换

问题描述

inti=1;i=i*int(0.1);这是程序的一部分关于强制转换的到底哪出问题了为什么这一点就是编译不过呢!!我这样改还是不行inti=1;i=int(i*0.1)还是通不过那位高手帮忙解释下啊!谢谢!

解决方案

解决方案二:
inti=1;i=(int)(i*(0.1));
解决方案三:
floatb=0.1f;intc=(int)b;System.out.println((i*c));

解决方案四:
恩,是这么回事
解决方案五:
这是关于“隐式转换”和“强制转换”的东东比如float<---int可以double<---int可以double<---float可以int<---float不可以需强制转换inta=(int)1.5;a=1;//失去精度
解决方案六:
i*(int)0.1

时间: 2024-10-29 18:18:57

JAVA 类型强制转换的相关文章

java虚拟机在进行类型强制转换的时候究竟做了什么

问题描述 java虚拟机在进行类型强制转换的时候究竟做了什么 打个比方 A a = new A(): B b = (B)a: 这两行代码究竟是怎样在Jvm中实现的? 解决方案 子类继承父类之后,在new子类的时候,实际上父类也被构造出来了,因此子类实际上包含着父类的完整信息,也就因此可以完成向上转型,. 至于具体怎么实现的,我查了一下好像是堆分配的过程,贴两个链接,不误导了.http://blog.csdn.net/anjayxc/article/details/6063210http://ww

类中的内存分配和指针类型强制转换问题

问题描述 类中的内存分配和指针类型强制转换问题 问题描述: template //element type class list { private: EleT data;//数据本身,即是需要的信息 list* prio;//the pointer of prior element list* next;//the pointer of next element list* last;//the last pointer of list int len;//the length of list

指针-数组名进行类型强制转换的问题

问题描述 数组名进行类型强制转换的问题 int main(void) { int a[4] = {1, 2, 3, 4}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int)a+1); printf("%x, %x/n", ptr1[-1], *ptr2); return 0; } 为什么ptr2指向a[0]的第二个字节? 个人理解是数组名a是指向a[0]的指针,强制转换为int型变量,再加1,就相当于将原来所存放a[0]的地址当作

C++中Operator类型强制转换成员函数解析_C 语言

类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换.转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型.转换函数又称类型强制转换成员函数,它是类中的一个非静态成员函数.它的定义格式如下: 复制代码 代码如下: class <类型说明符1> { public: operator <类型说明符2>(); - } 这个转换函数定义了由<类型说明符1>到<类型说明符2

C语言中自动隐式转换与类型强制转换实例分析_C 语言

本文通过一个C程序实例对C语言中自动隐式转换与类型强制转换的注意点进行深入分析,详情如下: 先看一个C程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> double proc(int q){ int n; double sum,t;//本例的关键就在这几个变量的类型上 sum = 2.0; while(sum<=q){ t=sum; //sum = sum+(n+1)/n;//自动隐式转换 sum

python类型强制转换long to int的代码_python

python2.4版本以后,如果int的值超出范围不会溢出,而是内部转换为long,在网上没有找到从long型强制转换成int的代码,这里所说的int取值范围是和java里一致,即用四个字节表示.自己写了一个函数,勉强可以用,供大家参考. 复制代码 代码如下: import sysdef LongToInt(value):    assert isinstance(value, (int, long))    return int(value & sys.maxint) 经过测试,在32位和64

克隆对象提示不能将A类型强制转换成B类

问题描述 [Serializable]publicpartialclassA{}publicclassB():A{publicB():base(){}}Aa=newA()....Bb=a.CreateClone<B>();publicstaticTCreateClone<T>(thisAa){using(StreamobjectStream=newMemoryStream()){IFormatterformatter=newBinaryFormatter();formatter.S

类型强制转换

问题描述 vc27.aspx是表单vc27target.aspx是处理结果publicvc27SourcePage;if(!IsPostBack)行24:{行25:SourcePage=(VC27)Context.Handler;行26:行27:Message.Text+="<P><Fontcolor=#cc000出错无法将类型为"ASP.vc27target_aspx"的对象强制转换为类型"vc27".说明:执行当前Web请求期间,出现

C#高级(七)类型强制转换,拆箱,装箱

一.装箱和拆箱 装箱就是 将值类型转换为引用类型.拆箱就是 将引用类型转换为值类型. 比如我们非常常用的 .ToString() 方法,就是典型的一个装箱的过程. 再如下面的例子 int i=10; object y=(object) i ; //这就是装箱 int x=(int)y; //这是拆箱. 二.对象的相等比较 在C#中,有四种比较相等的方法. 1.ReferenceEquals() 该方法是一个静态方法,用来判断两个引用是否指向同一个实例.也就是是否 指向同一个内存地址,如果是,则返