下面代码中,第10行if语句里面并没有明确表示(!f == true) ,为何也能正常输出呢?我试了一下,用(!f == true),程序的运行结果是一样的,难道if语句条件下布尔类型为true时才执行{}里面的内容吗?问题有点蠢,但只是想确认一下,谢谢查看和回答的大哥大姐们~public class Test{
public static void main(String []args) {
for (int i=101 ; i<200 ; i+=2) {
boolean f = true;
for (int j=2 ; j<i ; j++)
if(i % j == 0) {
f = false;
break;
}
if (!f == true) {continue;}
System.out.print(" "+i);
}
}
}

解决方案 »

  1.   

    好像有点理解了,比如 if ( x<10 ) { }  这行代码,假如 x<10 成立的话就是true,不成立的话就是flase。true就执行{ }里面的程序,flase就不执行{ }里面的程序。....这样理解有问题么?
      

  2.   

    ! 是取反, f == false的时候加 ! 等于 f == true, 当 if( true == true){} 的时候就会执行大括号中的内容
      

  3.   

    if(!f){}当f为false才执行括号里面的,这种写法if(!f==true){} "==true"是多余的,因为if()里面表达式整体取值判断为 true就执行大括号里面的流程
      

  4.   

    if 或 while 等判断语句,()内填的是布尔数值 或者 布尔表达式,根据布尔值或者布尔表达式算出的布尔值 来进行判断执行语句