Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:变量持有者及其值?_Java_Variables_Int - Fatal编程技术网

Java:变量持有者及其值?

Java:变量持有者及其值?,java,variables,int,Java,Variables,Int,我很难从书中的一个练习中理解一些东西(完全初学者) 示例代码是让一个有三名玩家的猜谜游戏,它为所有三名玩家生成一个随机整数,该整数必须与游戏随机生成的整数相同 代码包含三个类,但这是我有一个问题的最重要的一个。另外两个只是GameLauncher类和Player类(与其他三个玩家进行游戏的一个) 根据上述代码: int guessp1 = 10; int guessp2 = 0; int guessp3 = 0; 就是我不明白的那个。最初,它们都被指定为值0。我试着分配

我很难从书中的一个练习中理解一些东西(完全初学者)

示例代码是让一个有三名玩家的猜谜游戏,它为所有三名玩家生成一个随机整数,该整数必须与游戏随机生成的整数相同

代码包含三个类,但这是我有一个问题的最重要的一个。另外两个只是GameLauncher类和Player类(与其他三个玩家进行游戏的一个)

根据上述代码:

    int guessp1 = 10;
    int guessp2 = 0;
    int guessp3 = 0;
就是我不明白的那个。最初,它们都被指定为值0。我试着分配10,看看会发生什么,但没有改变。比赛结果也一样

我的问题是,分配给一个声明整数的值(如果有的话)的意义是什么?尤其是在这种情况下


不包括正常的用途,比如说只是打印它或者用数学处理它

稍后在例程中,您将覆盖以下代码行中的赋值:

 guessp1 = p1.number;
 System.out.println("Player one has guessed " + guessp1);
 guessp2 = p2.number;
 System.out.println("Player two has guessed " + guessp2);
 guessp3 = p3.number;
 System.out.println("Player three has guessed " + guessp3);
因此,基本上,指定的值根本不可用,但通常良好的做法是为变量设置默认值,以便在以后使用时,您可以确定是否已指定值或变量仍具有默认值

定义默认值有助于避免意外情况,在某些编程语言中,创建的对象如果未赋值或未设置为null,则根据它们引用的内存地址,可能会有任何垃圾数据


有些人使用像-1这样的值,期望只有正数,并通过询问默认值是否仍然存在来捕获没有赋值的情况。在你的例子中,默认值是0。

噢,所以一旦我用p1.number创建的数字覆盖它们,原始值就会丢失它的所有值,只用于执行打印命令?好的,所以我只是尝试和System.out.println(“玩家一猜到了”+p1.number);工作原理完全相同,无需猜测PP1.number;但是,您要说的是,这将取消我验证是否有输入的可能性?您可以将guessp1设置为-1,并检查行之间是否(guessp1!=-1)这意味着分配了值。
 guessp1 = p1.number;
 System.out.println("Player one has guessed " + guessp1);
 guessp2 = p2.number;
 System.out.println("Player two has guessed " + guessp2);
 guessp3 = p3.number;
 System.out.println("Player three has guessed " + guessp3);