java布尔值问题
您好!如你上次所说:因为每次循环的时候,bool被赋值为true了啊,看for循环里的,booleanbool=true;但是booleanbool=true;是再外循环...
您好!如你上次所说:因为每次循环的时候,bool被赋值为true了啊,看for循环里的,boolean bool = true;
但是boolean bool = true;是再外循环被赋值为true的,而判断是不是质数是在内层循环操作的。外层if(bool)是怎么拿到质数的 展开
但是boolean bool = true;是再外循环被赋值为true的,而判断是不是质数是在内层循环操作的。外层if(bool)是怎么拿到质数的 展开
2个回答
展开全部
因为默认为true,就是默认所有的数就是质数啊,你说的内循环,是用来过滤那些不是质数的数据的,此时bool被赋值为false,下面的if判断就会为false,从而跳过消息打印
至于什么时候被赋值为false,在内循环里面,当i%j==0的时候,就代表这个数可以被之前的数整除,比如4可以被2整除,9可以被3整除,这时候,就把bool赋值为false。
当i=7,并且j=7的时候,bool为true。这时候,又和上面不一样,因为j=7的时候,会跳出内循环,所以不会判断if(i%j==0),但是在j=2,3,4,5,6的时候,还是判断了if语句的
至于什么时候被赋值为false,在内循环里面,当i%j==0的时候,就代表这个数可以被之前的数整除,比如4可以被2整除,9可以被3整除,这时候,就把bool赋值为false。
当i=7,并且j=7的时候,bool为true。这时候,又和上面不一样,因为j=7的时候,会跳出内循环,所以不会判断if(i%j==0),但是在j=2,3,4,5,6的时候,还是判断了if语句的
追问
差不多明白了,就是if(bool)值为真我才打印,是假就不打印。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询