首页 > 后端开发 > 正文

JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢

2024-03-25 17:56:33 | 我爱编程网

今天我爱编程网小编整理了JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢相关信息,希望在这方面能够更好的大家。

本文目录一览:

JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢

java程序,运行结果与想象的不一样

实例化Integer涉及到整型数的自动拆装箱,在进行自动拆装箱时,编译器会使用Integer.valueof()来创建Integer实例

Integer.valueof()的源代码:

public static Integer valueOf(int i) {

assert IntegerCache.high >= 127;

if (i >= IntegerCache.low && i <= IntegerCache.high)

return IntegerCache.cache[i + (-IntegerCache.low)];

return new Integer(i);

}

简单地解释这段代码,就是如果传入的int在IntegerCache.low和IntegerCache.high之间,那就尝试看前面的缓存中有没有打过包的相同的值,如果有就直接返回,否则就创建一个Integer实例。IntegerCache.low 默认是-128;IntegerCache.high默认是127.

所以当你的Integer值>-128 <127时 实例化的两个值是处于同一缓存位置,但超过这个范围,实例化的两个值就是两个不同的位置

而 == 的比较 只有等号两边的值为同一值.也就是在内存中是同一个 才会返回true 所以你要想比较两个值大小是否相等的话,需要使用.equals

JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢

关于java程序运行结果的问题,请指教哦

public class Mystery {

/**

* @param String[] args 接收输入参数 args[0] args[1]

* @return void

*/

public static void main(String[] args) {

Changer c = new Changer();

c.method(args);

System.out.println(args[0] + " " + args[1]);

}

static class Changer {

/**

* 交换字符数组位置0和1的值

* 在java中,参数传递都是值传递

* 所以这里变量s和args的本身地址是不一样的

* 但是他们所指向的输入参数字符数组地址是一样的

*

* @param String[] s 要交换的字符数组

*/

void method(String[] s) {

String temp = s[0];

s[0] = s[1];

s[1] = temp;

}

}

}

输入:Mighty Mouse

存放的结构为:

参数对象:String[] {"Mighty", "Mouse"} 暂且命名为 args_obj(这个在java内部就是一地址)

变量args指向这个地址:args->args_obj

再调用method时,变量s指向args指向的地址:s->args_obj

故结果为:

[答案] 打印:Mouse Mighty

public class Pass{

/**

* 定义静态变量

* 意思就是说定义后,所有对j的修改都会保留下来

*/

static int j=20;

public static void main(String argv[]){

/**

* i 为局部变量,在方法内部调用后,外部值不发生变化

*/

int i=10;

Pass p = new Pass();

p.amethod(i);

System.out.println(i);

System.out.println(j);

}

/**

* 由于java传递参数是复制传递(值传递),故内部的x和外部的i是两个不同的变量

* 内部x的修改不会影响到外部的i变量

*/

public void amethod(int x){

x=x*2;

j=j*2;

}

}

[答案] 打印:10 40

JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢

JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢

我爱编程网(https://www.52biancheng.com)小编还为大家带来JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢的相关内容。

//第一个程序!

class P1 {

private int n = 9;

int nn;

P1() {

nn = n;

}

void ma() {

System.out.println("n=" + n);

}我爱编程网

}

public class TestC1 extends P1 {

public static void main(String[] args) {

P1 m1 = new P1();

System.out.println("m1.nn=" + m1.nn);

m1.ma();

}

}

//第二个程序

class TestC2 {

public static void main(String args[]) {

Thread First = new MyThread("A");

First.setPriority(Thread.MIN_PRIORITY);

Thread Second = new MyThread("B");

Second.setPriority(Thread.NORM_PRIORITY);

Thread Third = new MyThread("C");

Third.setPriority(Thread.MAX_PRIORITY);

First.start();

Third.start();

Second.start();

}

}

class MyThread extends Thread {

String message;

MyThread(String message) {

this.message = message;

}

public void run() {

for (int i = 0; i < 2; i++)

System.out.println(message + ":" + getPriority());

System.out.println(message + "" + getPriority());

}

}

//第三个程序

import java.awt.*;

import java.applet.*;

class cc {

static int n;

int nn;

static {

n = 20;

}

cc() {

nn = n;

}

}

public class TestC3 extends Applet {

public void paint(Graphics g) {

cc m = new cc();

cc m1 = new cc();

g.drawString("m1=" + m1.nn, 20, 50);

g.drawString("m=" + m.nn, 20, 90);

}

}

以上就是我爱编程网小编给大家带来的JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“JAVA程序 请问这些程序运行结果是什么 新手刚开始学 谢谢”相关推荐
如下java程序运行后会得到什么结果?为什么请详细点讲解。。。谢谢
如下java程序运行后会得到什么结果?为什么请详细点讲解。。。谢谢

如下java程序运行后会得到什么结果?为什么请详细点讲解。。。谢谢1、得到的结果应该是如下before241145153after1234514152、因为你在第一个for循环之后调用的ddd()方法,然后把数组a的引用传给了方法ddd(),然后在在方法ddd()之中调用了swap()方法,其中的三个参数和下面声明的swap()方法中的参数是对应的。。且在方法swap()

2024-06-22 06:44:24
java程序运行结果是什么?
java程序运行结果是什么?

java程序运行结果是什么?classAnimal{publicAnimal(){super();System.out.println("我是动物");}}classCatextendsAnimal{Cat(){super();System.out.println("我是猫");}}classPersiaCatextendsCat{publicPersiaCat(){super();Syst

2024-05-30 00:05:46
这个java程序为什么运行没有结果?
这个java程序为什么运行没有结果?

我用java编写了一个程序,为啥运行不显示结果,求大神看看!我改的,你参考下:importjava.util.Scanner;publicclassa1{ publicstaticvoidmain(Stringargs[]){ Scannersr=newScanner(System.in);doublea[]=newdouble[8];for(inti=0;i&lt

2024-04-06 15:04:27
如何在cmd下执行java程序?谢谢
如何在cmd下执行java程序?谢谢

如何在cmd下执行java程序?谢谢如图新建一个hello.java文件,写上你的代码。2.在文件的目录下打开cmd,输入命令javachello.java3.编译成功会生成hello.class文件4.运行编译好的文件,输入命令javachello(不需要文件后缀)。拓展:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里

2024-04-09 21:11:50
下面java程序的运行结果 java求以下程序的运行结果
下面java程序的运行结果 java求以下程序的运行结果

java求以下程序的运行结果第一题是s=2+4+6=12考察do……while循环体和continue第二题是求数组中3的倍数的和,30+60+90=180第三题是考察try……catch语句的运用。定义了5个长度的数组,却在第十一个位置添加元素,导致数组越界。因此输出:“超出数组范围!*****异常处理结束!”以下Java程序的运行结果是()。C.运行正常,没

2024-06-30 17:31:11
用eclipse怎么运行Java小应用程序,需要具体步骤?谢谢!
用eclipse怎么运行Java小应用程序,需要具体步骤?谢谢!

用eclipse怎么运行Java小应用程序,需要具体步骤?谢谢!1.编写代码2.保存(默认自动编译)3.运行运行方法一:在代码上单击右键,选择Run As --&gt; Java Application运行方法二:在左侧包视图中选中包含main的类,右键 Run As --&gt; Java Application运行方法三:直接点击界面上方的图标如何让

2024-06-23 17:49:29
java程序运行 ,不显示结果 ,我刚装的jdk,运行所有程序都没有结果不知道为什么啊。直接跳到下一行了。
java程序运行 ,不显示结果 ,我刚装的jdk,运行所有程序都没有结果不知道为什么啊。直接跳到下一行了。

java中没错,就是运行不出结果!!!求教!!!!!1.把publicclassdrawstring{及最后一行大括号去掉2.把publicvoidmain(String[]args)改为publicstaticvoidmain(String[]args)3.java文件名要改为DrawString.java可以了。java程序运行,不显示结果,我刚装的jdk,运行所有程序

2024-04-05 16:16:39
安装Java时提示“关闭程序,以便继续”。要求我结束的程序名称是“开始”。请问怎么办。
安装Java时提示“关闭程序,以便继续”。要求我结束的程序名称是“开始”。请问怎么办。

安装Java时提示“关闭程序,以便继续”。要求我结束的程序名称是“开始”。请问怎么办。开始,是指电脑的资源管理器,也就是我们的桌面了。打开任务管理器,在“进程”中找到Explorer.exe“结束进程”终止它,等安装过程继续之后再从任务管理器中的"文件“》新建任务》输入explorer.exe.出现这个错误,有可能是你刚刚卸载了以前的Java,它的DLL需要你重启电脑才能删除掉,重

2024-06-27 14:52:29