对课程3-4里的案列里,对最后一步布尔值不理解
package com.imooc.method;
import java.util.Scanner;
public class ArraySearch {
//查找数组元素值的方法
public boolean search(int n,int[] arr){
boolean flag=false;//默认是没找到
for(int i=0;i<arr.length;i++){
if(arr[i]==n){
flag=true;//找到了
break;
}
}
return flag;
}
public static void main(String[] args) {
int[] arr1={10,20,30,40,50,60};
Scanner sc=new Scanner(System.in);
System.out.println("请输入要查找的数据:");
int n1=sc.nextInt();
ArraySearch as=new ArraySearch();
boolean flag=as.search(n1, arr1);
if(flag){------------------------------------------就是这里不理解,search方法返回的布尔值也许是true,也许是false。利用flag接收返回值。可老师直接把flag返回的值默认为是true了,为什么?
System.out.println("找到了!");
}else{
System.out.println("没找到!");
}
}
}
正在回答
同学理解的不错,根据Java语法的规定,if()判断,如果括号中的结果是true,就执行if后的语句,否则执行else语句。如果想先执行flag=false的语句,就写为if(flag==false),flag为false,和false相等,就会返回一个true值,将会执行if后的语句。flag=true将会执行else语句。if(true)执行if后的语句是Java语法的规定。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星