Java中关于 boolean flag=fase 相关的语句。

作者&投稿:中钥 (若有异议请与网页底部的电邮联系)
Java编程问题,boolean语句"boolean flag = true"的位置不同导致的程序结果不同,请高手指导说明!~

单就作用域而言:
上面的代码和下面的代码是不一样的。
上面的代码:flag写在外面,所有的数字都是用这一个flag。当i=4的时候,因为你是先做的输出,所以4是true,然后紧接着后面的判断,因为此时i和j都是2,满足条件,flag就变成false。而你的代码里又没有将flag改回true的地方,所以后面不管i是几都会输出false。
下面的代码,因为你的flag是写在for里面,所以每次的flag其实都是一个新的变量。同样,因为你先做的输出,所以不管数字是几,都会输出true,就算后面改了,因为作用域的问题,这个被修改过的flag还没被使用就被遗弃了,所以你下面这段代码的if语句其实是废的。

这个我在一开始也有误解,老是觉得自己在一开始设定了Boolean flag=false;然后if(flag)中的flag就应该按false来判断,就会觉得if(flag)的意思就是“如果为假”。
这样的认为是错误的,if(flag){}.....if(!flag) 是java中的固定语法,你在开始设置的值只是作为这个判断语句判断的依据罢了。你设置的flag=false,在判断语句中一经判断不是真,就直接执行if(!flag){...code...},因为“如果为假”满足已设置的Boolean flag=false;的要求。

你这不是while,而是do while 你看看他俩有啥区别。
do while的用法是先执行do里边的 也就是无论后边是while(true) 还是while(false),
前边do里的都会执行
flag 是true或false ,也是就是while(true) 或while(false)。
如果是while(true) ,do的方法体会再执行一次 flag如果还是true 那do再接着执行一次,直到flag为false否则会一致执行下去死循环

首先这是一个do while 循环
do while 循环的意思是 do{ } 大括号里的代码至少执行一次
它和while 的区别是while先判断while()括号里的条件是否成立

也就是说 当你这个程序 输入的数字 小于10 那么这个程序就可以继续执行
如果输入的大于10 程序只会执行一次 就不再执行了,就结束了

你可以这样理解 flag是来控制程序是否继续执行的外部变量

当然不一样,但falg=false的时候,也就是你输入的num不小于10的时候,就不会再执行这个do while循环了。do while循环不论条件成不成立,都执行一次。所以你才可以执行:“请输入数据:”这句话,while(flag)就相当于while(flag==true)。

1、纠错是boolean flag = false;初始化
2、可以用来作为一个标志判断
3、比如判断是否为素数,是否符合条件等等

这里,wihile(!flag)比较合理,如果不这样的话,只要输入的值小于10,就一直提示让你输入,但它下面又说,你输入正确,显然不太合理,


米易县14715023950: 对JAVA中的布尔常量老是搞不清楚,求指教 -
暴桦拜复: boolean类型很简单,就是两个结果,一个true,一个false,f=flase;break;break是终止循环,如果不加if(!f),那么这个循环只循环一次就不再循环了,if(!f)的意思就是如果f=flase时,就跳过这次循环,继续下一次循环.你理解的误区就是把!f理解为非false了,其实!f是非true,是false的意思.不知道你能不能看懂,反正我知道意思,但是表达的不是很清楚

米易县14715023950: 利用Java判断一个数是否是素数的算法 -
暴桦拜复: //利用Java判断一个数是否是素数的算法 boolean f(int a){boolean ean = true;for(int i=2;i< Math.sqrt(a);i++){ //Math.sqrt 是调用Math类中的sqrt方法,求一个数的平方根if(a%i==0){ean = false;break;}} return ean; }

米易县14715023950: JAVA中浮点和true是什么意思 -
暴桦拜复: 除了main函数的static拼错了以外,没有错. 输出: happy new year 234浮点就是浮点数字,也就是人们知道的实数(real),当计算的表达式有精度要求时被使用.可以参考百度百科.java里一般用float、double等数据类型表示.true是...

米易县14715023950: Java中的boolean怎么用? -
暴桦拜复: Boolean是Java一种数据类型.官方的说明:The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't ...

米易县14715023950: Java中的boolean怎么用?
暴桦拜复: public class Test{ public static void main(String []args){ boolean b = true; if(b){//b为true b = false; System.out.println("b is true"); } if(!b){//!b为true System.out.println("b is false now"); } } }

米易县14715023950: java 布尔常量! -
暴桦拜复: public class VariableLiteral {public static void main(String[] args){//声明变量,并用文字常量初始化boolean isTrue=false;char c1='A';char c2='\u0038';char c3=0x45; //十六进制byte b=12;short s=012; //八进制int i=0x48bF;long l1=0X...

米易县14715023950: 布尔类型到底怎么使用 -
暴桦拜复: 需要准备的工具:电脑,Eclipse软件. 1、首先点击箭头所指的Eclipse这个软件的图标,打开Eclipse软件. 2、右击点击箭头所指的这个loop项目这个文件夹(loop就是英文“循环”的意思). 3、在弹出的下拉列表菜单中,点击箭头所指...

米易县14715023950: java中的布尔型这样判断对错可以吗 如果不可以应该怎么用? -
暴桦拜复: 可以的,boolean有两个值,真或假,左边是声明a,右边是逻辑判断,也就是true false,两边可以相等,所以可以

米易县14715023950: Java 分解质因数 -
暴桦拜复: import java.util.Scanner;public class test{ public static void main(String []args){10 int n,m=0; Scanner sc = new Scanner(System.in); System.out.print("input your number:...

米易县14715023950: 关于JAVA的问题:int x=4,int y=5,int z=6,Boolean f=true.写出下列各逻辑表达式的值. 5) !(x+y -
暴桦拜复:[答案] 先计算x+y=9,然后比较9与z的大小,结果是false,false进行!运算,结果是true,然后与f进行&&运算 结果是true

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网