java小问题!

public class test {
public static void main(String[]args) {
int a=1;
double d=1.0;
a= 46/9;
d +=1.5*3+(++a);
System.out.println("A = "+a);
System.out.println("B = "+b);
}
}

我不明白d , 什么a++ , ++a ,output不到

++a代表:先执行 a=a+1; 再使用a。
a++代表:先使用a,再执行a++
其中 a= 46/9; 此时a=5;(因为a为整型)
d+=1.5*3 +(++a) 就是代表:d= d+1.5*3+(++a) 此时最先计算 ++a (++的级别最高).于是 a=a+1 再使用a
此时 a=5+1 = 6; d=d+1.5*3+6;==〉d=1.0+4.5+6=11.5 所以d=11.5;
输出结果为 A = 6
B = 11.5追问

46/9 不是5吗?还有d (打错了,不是b) 应该是7.5啊

追答

是呀 可是 你看我写的 此时 a = 5; 但是 后来不是又执行了一句 ++a吗? 所以此时a= 6 了 ,对于b= 7.5 你怎么计算的我就不知道了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-21
d += ***
可以这样理解:其实就是d = d + **,在我们数学里面 比如说x =5;然后x = x +5 ;那么x的结果就是10拉,这里也是这个道理。
而a++,++a呢。
可以这样理解, 我买个东西,需要向别人付款。分两种情况:
1.我直接先付款再拿货,这时候,他目前的总资产就已经增加了。
2.我先拿货,然后再付款,这个时候,我还没拿到货,他目前的实际总资产其实并还没有增加,但是里面还存着一个将要发生的动作,我付款给他,只要这个动作发生了,他的总资产就增加了。

所以通过上述例子,你可以得到一个总结:
1.两种方式结果都是一样的
2.但是处理的过程是不一样的,++a呢,代表我现在就把钱给他,那么现在的结果就是加1,而a++呢,代表等这个语句处理完,我再把钱给他,那么现在的结果还是原先的结果,还不可以加上1哦!只有等这个语句处理完了,才能加上1.
祝你好运!!希望有助于你的理解!本回答被提问者和网友采纳

java错误 问题:?
首先,您需要检查您的计算机上是否已经正确安装Java。在命令行界面输入 "java -version" 命令前,可以尝试在控制面板中查看是否有Java安装包。如果您没有安装Java,请访问Java官方网站下载适合您的操作系统的Java安装程序。检查您的环境变量是否设置正确 如果您已经安装了Java,但仍然遇到了 "未找到命令" 错...

java实在学不明白,几个java问题请教大家
java实在学不明白,几个java问题请教大家 1、java的classpath里做什么用的? 答:你写的JAVA代码将被编译成以 .class 结尾的"类文件" classpath就是这个"类文件"所在的系统物理路径 2、java里方法重载是什么意思?什么是方法重载? 答:就是方法名相同参数不同的两个方法, 例如: public voi...

学生必看Java常见的错误及避免方法
当 XXX类和Java程序文件名不匹配时,会发生“Public Class XXX Should Be in File” 消息。只有当类和Java文件相同时,代码才会被编译:为解决这个问题:。类和文件命名相同。确保两名称的情况一致。6.“Incompatible Types “Incompatible Types”是指语句尝试将变量与类型表达式配对时发生的逻辑错误。通常...

学习Java经常遇到的问题有哪些?
问题一:能看懂,但是不会写 这是很多初学者在学习的时候经常遇到的问题。在通过视频学习或是听课的时候觉得自己能够听懂,但是当自己练习的时候就会发现不知道应该如何下手。如果遇到这个问题,北大青鸟建议找一个适合自己学习的方法,课前预习、课后复习,经常练习,加深自己对代码的理解。问题二:学完就忘...

请教几个关于JAVA的问题,请哥哥姐姐不吝赐教,小弟感激不尽
{ public static void main (String args[]){ int a = 4, b = 6, c = 8;String s = "abc";System.out.println (a + b + s + c);} } 这样的话答案就是D,a和b先加起来,因为中间隔了个字符,所以没有加后面的c. 所以是10abc8.第二题答案是C s1和s2是一样的,但字符型不...

关于java的几个小问题1.电脑只能解析机器语言(0与1),那汇编语言怎么解析...
汇编语言的每个符号都对应了一个操作。只不过人看上去是字母,机器看上去是010101.问题2:面向对象和面向过程是指高级语言。机器语言(只有0和1)---》汇编语言---》高级语言(C C++ JAVA c# 等等)问题3:是的。其他的语言也是可以的,具体情况具体分析。

Java常见的面试问题(带答案),自己答出来多少
1、在java中如果声明一个类为final,表示什么意思?答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。父类的构造方法是否可以被子类覆盖(重写)?答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。2、请讲述String 和StringBuffer...

为什么这个JAVA程序提示错误:需要class,interface或enum
这是Java文件的编码导致的问题,通常使用javacFirstSample.java编译UTF-8编码的.java源文件。没有指定编码参数encoding的情况下,默认使用的是GBK编码 当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8编码文件的3个字节的文件头,按照GBK中汉字占2字节、英文占1字节的特性解码成了“乱码”的两个汉字...

java找不到符号的问题
Java出现找不到符号的错误通常是因为编译器无法识别某个类或方法。这可能是由于多种原因造成的,包括类路径设置不正确、依赖库缺失或代码中存在语法错误等。1. 类路径设置不正确:Java编译器需要根据类路径来查找需要的类和资源。如果类路径设置不正确,编译器就无法找到需要的符号。确保在编译和运行Java...

java错误 问题: java错误是什么意思?
JAVA错误仅当显式请求注释处理时才接受类名称"HelloJavaWorld.Java"是因为在编译过程中javac后面文件没有跟上后缀*.java,删除即可。Java语言为与数据库联系紧密设计了Java servlet和SQL-J技术,以及JSP技术。随着JSP技术的发展,使JAVA语言的网络应用更为实际化、更高效快捷,成为IT产业常用的技术。

相似回答
大家正在搜