2024-05-22 12:46:34 | 我爱编程网
哥,形参和实参的定义你先好好看看,主函数传过来的只是值,主函数只是把a和b的值传给了change中a和b,但两个方法中a和b不占用同一块地址。
也就是main方法中的a和b和change中的a和b没有关系。两个函数的变量地址都不相同,所以改了一个,另一个不会改变。这部分在c语言中讲的比较清楚(谭浩强版的)。
若想改变a和b:
可以通过返回值,就是把改过的值,再赋给main函数的a和b。
也可以把a和b定义成全局变量,这样改的就是同一块地址的值了。
这个问题确实是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误,可以通过下述方法进行解决:
1、检查jvm(java命令)和jdk(javac命令)版本是否一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。
2、如果都一致,但还是解决不了问题,那么肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans这样的编译器来编译的。因为很多编译器都自带javac,而不是采用操作系统中的编译器。
3、如果你的编译器是eclipse的话,那么需要在项目的属性里设置jdk版本,方法是右击项目-->properties-->java compiler --> Enable project specific settings -->将compiler compliance level设置为1.7,即可解决问题。
拓展资料:
编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
参考资料:
百度百科-JAVA编译器
1、你的文件为gd.java,结果类名为convert。java中,当只有一个类时,类名要与文件名相同
2、gd.java文件放在fd包下,结果package后跟的是另一个包名。要把包名改成fd。
以上两个错误会导致jdk编译时根本找不到文件,当然运行不了。
而且这是基础中的基础,题主基础太薄弱了,建议恶补基础。我爱编程网
2024-04-13 00:38:12
2024-03-31 15:14:06
2024-03-21 00:22:13
2024-02-10 22:15:59
2023-12-26 22:10:45
2023-10-06 13:00:52