为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码的boolean类型用法不是很清楚,能请教一下吗?

这段代码的boolean类型用法不是很清楚,能请教一下吗?

qq_自由之翼_3 2016-03-12 14:33:30
在控制台输入一个数,判断它是否在给定的数组中,代码如下: import java.util.Scanner; public class Caicaikan2 { public static void main(String[] args) {  int a[]={123,101,92,68};  Scanner s=new Scanner(System.in);  System.out.println("请输入一个数字");  int num=s.nextInt();  boolean flag=true;  for (int i = 0; i < a.length; i++) {   if(num==a[i])   {    System.out.println("猜对啦!数字为:"+num);    flag=false;    break;   }  }  if(flag)   System.out.println("-_-。sorry!猜错啦!"); } } 1、请告诉我,boolean flag=true在整个代码中的作用 2、在for循环中,当flag=false时循环结束,输出“num在数组中”这一结果。那为什么在循环外if(flag)时,flag=true,输出的却是“num不在数组中”
查看完整描述

1 回答

已采纳
?
HansonQ

TA贡献223条经验 获得超56个赞

这个很好理解,你在上面定义了一个标志,当你输入的和数组里面存在的才会走到for循环里面的判断语句。而且当相同的时候for循环会终止此时还会把flag的值变成flase,这样的话你for循环外面的if语句是不会走的。if语句后面的表达式只有为true的时候才会执行里面的内容。

查看完整回答
1 反对 回复 2016-03-13
  • 1 回答
  • 1 关注
  • 1820 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信