java类型转换的一个简单问题,求助!

作者&投稿:祁贤 (若有异议请与网页底部的电邮联系)
一个简单的java强制类型转换问题,定义int a,然后赋值式子a=a*0.1;然后语法错误,请问~

两个错误:1. 定义完a之后,你没有赋值就让a参与运算,在java中这是不允许的。2. a*0.1,执行过程为: 将a自动转换为double类型参与运算,然后将结果返回。但是a是int型,需要强转结果。这是正确代码:int a = 0;a = (int) (a*0.1);

return this.id == s.id ? true:false;

您这句应该用return this.id.equals(s.id)
字符串比较值,不要直接用==,==比较的是内存地址。

String 表示一个不可变的字符序列。
比如“11”

StringBuilder 是一个可变的线程不安全的字符序列.
有以下几个重载的方法
public StringBuilder append(int i);
public StringBuilder append(String str);



22是一个整数
+ 号是一个重载的运算符,在编译时会被优化。
“11”+ 22会被编译器优化成这样

StringBuilder s = new StringBuilder();
s.appad("11");
s.appad(22)
s.toString();

也就是:
String a;
StringBuilder s = new StringBuilder();
s.appad("11");
s.appad(22)
a = s.toString();
System.out.println(a);
另外还有一个线程安全的StringBuffer

希望我说的比较清楚。

首先说"+"在这个地方所起的作用是连接字串的运算符,这个应该大家都知道,既然是连接字串的作用,这说明后者必须为一个字串才可以连接。这种机制实际上来讲也属于类型之间在进行运算时的自动转换,自动转换有一种规则:那就是占位字节数少的向占位字节数高的进行自动转换,基本类型的这种做法很多人都已经清楚了,但实际上基本类型向对象类型的自动转换也是可以的,但是需要定义这种自动转换规则,在C++中提供了运算符重载来解决基本类型向对象类型之间的转换,但基本类型向字串对象的转换则可以不用定义,因为基本类型转换为字串类型就仅仅只需要生成一个字符级的指针就行了,这样以来,这个字符指针就可以直接指向这个基本类型变量值的文本表示。因此基本类型向字串类型转换是没有必要再定义转换规则的(当然如果你要自定义转换规则也是可以通过运算符重载来完成的),Java很大程度上是对C++的一种封装,Java中没有再提供运算符重载的概念,但基本类型向字串类型的这一自动转换规则还是保留下来了,因此在Java中的基本类型向字串类型的转换是由底层的C++重载实现的,如果你是一个Java程序员就不用关心这个已经实现了的问题了。

toString()是Object中的方法(也就是说它属于所有对象类型的公共方法),基本类型不能调用这个方法,因此上面的位兄弟对这个问题上的理解还是有一点问题。

像这种连接字符情况,java会自动给整型执行.ToString()方法。

Java语言规定
String型变量字符串连接有String型+String型/String型+其他类型,String型和一切基本类型连接都因+转化为String,即1122,22遇到11还有+不得不转啊
你所用类名是传说中的sy_刷牙?

所有类型自动向String转型
书上写的

“+”是字符串连接运算符, a="11"+22;
相当于是字符串“1122”赋给了a


玩AVA(战地之王)上YY玩游戏就死机,单独上YY或游戏都没问题,求高手指教...
一个玩家在玩家自定义的枪支战地之王“的主要武器为6份自定义转换。但主要的武器必须具有RIS系统(轨道接口连接系统),以改造,但只有特定的枪支RIS系统可以组装,但是枪支的类型占大多数的游戏,让玩家可以完整的体验武器改造系统。一个部分的改造将提高一些性能的主要武器,但在其他属性也将作出一些削减。不同的武器,不同...

org.hibernate.collection.PersistentSet cannot be cast to java.util...
PersistentSet cannot be cast to java.util.List 问题的关键就是这个了,类型转换错误 List<Orders> oList = s.createQuery(hql).setParameter(0, id).list(); 这里你确定返回的是ava.util.List 的集合?如果不是,自己修改一下,把s.createQuery(hql).setParameter(0, id).list()返回的类型改...

Java开源框架是什么?
WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式...

球面波的反射、透射及折射形成
当然请注意,不同类型的地质模型,AVA曲线变化规律是不一样的,利用这一点也可以由AVA曲线反演地层参数。图1-15 模型(Ⅰ)AVA曲线 2)当上层介质为疏介质,下层介质为密介质,即VP2>VP1。P波从上层介质入射到界面情况。设 =2.0, =0.5,泊松比υ1=0.3,υ2=0.25时,各波振幅系数曲线随...

我家的AVA下好后 提取战地之王客户端资源 到了100%后就没了。怎么回事...
让我们来看看微软是怎样描述svchost.exe的。在Microsoft知识库中相应的文章:314056,如下描述:svchost.exe的Svchost.exe的是一个通用主机进程名称从动态链接库(DLL)中运行的服务。其实svchost.exe是Windows XP系统的一个核心进程。 svchost.exe不单单只出现在Windows XP中,使用NT内核的Windows系统中,将...

谁有能用的AVA准星瞄准器?
那个是买的,叫随时出击,去商城中找背包,背包B,可以吧盲狙的枪加上准信,但是很大。如果AWM(所有类型的AWM)买背包C的稳定狙击,那么准信比M4A1蹲着还小!!!神了就,别人开镜的准确度啊!但是蹲下就不行了,还有跳全都会影响

bool和int有什么区别?
bool取值false和true,0为false,非0为true。例如1和2都是true,0是false。例子:BOOL b =2; \/\/执行此行后,b=2(BOOL为int此处不进行类型转换,b存放的就是2)if(b)cout << "ok!" << endl;b=b-1; \/\/执行此行后,b=1(只是简单的进行算术运算,结果为1,回存)if(b) \/\/ b非0,...

简述计算机程序设计语言的发展历程。
一、前期 二十世纪四十年代当计算机刚诞生时,计算机需要程序员手动控制。,德国工程师楚泽提出要用一种程序语言控制计算机。60年代末期为了应对软件危机,克服程序设计模型中都无法克服错误随着代码的扩大而扩大,这新的思考程序设计方式和程序设计模型——面向对象程序设计出现了。也就诞生了一批支持此技术的...

编程都有哪些语言?
C语言是一种通用的命令式编程语言,它起源于19世纪70年代,是大学里面计算机专业学的第一门编程语言,使用相当广泛,并且深远地影响了其后的几乎每一种语言。C++最初是作为C语言的增强版出现,C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计 语言。C++被用在一些知名软件中,比如Firefox、 ...

求Java SE Development Kit8(jdk8)下载32\/64位 8u144
1、更好的类型推测机制:Java 8在类型推测方面有了很大的提高,这就使代码更整洁,不需要太多的强制类型转换了。2、编译器优化:Java 8将方法的参数名加入了字节码中,这样在运行时通过反射就能获取到参数名,只需要在编译时使用-parameters参数。3、并行(parallel)数组:支持对数组进行并行处理,主要...

新丰县15847299332: java数据类型的转换?一个小问题? -
应晓百礽: String s="11111"; int a=Integer.parseInt(s);//转换成int型 其他类推 类型说明:String Integer, Byte,Double,, java的8种基本类型: byte,short, char, int, long,float,double,boolean. 与此对应的,java提供了8种包装类型: Byte,Short,Character,...

新丰县15847299332: 请问一个java类型转换的问题 -
应晓百礽: java.math.BigDecimal.longValue();是将BigDecimal转换为long型 java.math.BigDecimal a=new BigDecimal(long l)这个才是将long型转换为BigDecimal类型

新丰县15847299332: 一个简单的java强制类型转换问题,定义int a,然后赋值式子a=a*0.1;然后语法错误,请问 -
应晓百礽: 两个错误:1. 定义完a之后,你没有赋值就让a参与运算,在java中这是不允许的.2. a*0.1,执行过程为: 将a自动转换为double类型参与运算,然后将结果返回.但是a是int型,需要强转结果.这是正确代码:int a = 0; a = (int) (a*0.1);

新丰县15847299332: java中类型转换问题 -
应晓百礽: B 是因为String是引用类型,而int是值类型,所以不能进行比较 C i+s 使用一个整形加一个字符串,这是不允许的,A 正确是因为,字符串在+号的前面,则会调用String类内重写的+运算符,是相当于用s和i拼接了一个新的字符串 D +号后面缺少参数,如果这里用++那就对了 E 没有问题三目运算符,判断字符串是否为空,为空则i=0 不为空则i等于字符串的长度

新丰县15847299332: 新手求教java中类型转换问题 -
应晓百礽: 类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生.大概来说有两种:自动转换和强制转换.对于自动转换: a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换: (1)布尔...

新丰县15847299332: 问一个JAVA类型转换的问题
应晓百礽: 关于这个问题,这种写法的意思是一个浮点型数floatNum除以一个整型数intNum并且吧值赋给floatNum 一般从int转成float不需要特殊转换 不一定非要用这种形式 直接floatNum=intNum;这样就可以 比如:inti=123; floatf=i; 这时候会自动在123后面加上小数点部分,f就是123.0......

新丰县15847299332: java里面一个表达式类型转换的问题. -
应晓百礽: ch/a,这个是将ch这个char类型的数据根据国际编码的编号转换成short,最后运算得到short类型.d/f, 这个d的范围大,f 的范围小,自动转想大的.再运算得到double类型 a+b, 也是,int类型范围大,short类型自动转换成int,然后运算,得到int类型

新丰县15847299332: java类型转换问题? -
应晓百礽: java.math.BigDecimal cannot be cast to java.lang.String 你那个list中的元素类型是BigDecimal . List中不能放基本类型的数据如Int类型,只能存放对象.如果你在list中add(1)的话,它会自动转换成Integer类型.你的是从数据库中取出的,把数据库中的整数转成了BigDecimal 类型,不管是什么类型,它们不能强制转换成String类型的,强制转换会报错,强制转换符在引用类型用于父类转子类.而这些类都实现了toString方法可以通过这个方法转成String类型.

新丰县15847299332: 问一个JAVA类型转换的问题 -
应晓百礽: 这种写法的意思是一个浮点型数floatNum除以一个整型数intNum并且吧值赋给floatNum 一般从int转成float不需要特殊转换 不一定非要用这种形式 直接 floatNum = intNum; 这样就可以 比如: int i = 123; float f = i; 这时候会自动在123后面加上小数点部分,f 就是123.0......

新丰县15847299332: java语言强制类型转换例题? -
应晓百礽: java中 int类型占4个字节,byte类型占1个字节,266的16进制表示为0x010A,转换为byte时,取其最尾部那个字节的数值也就是 b = 0x0A,十进制表示就是10.用公式表示就是 b = (a & 0xff)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网