在Java中,如果进行在if语句内判断条件中进行赋布尔值操作的话,赋值操作是无效的,
这种情况也大多数会出现在进行书写判断条件时少写了一个等号,但在考试里也经常会出现这种题目以下面程序为例
package play;
import java.util.Scanner;
/**
* @author lee
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
boolean a=sc.nextBoolean();
sc.close();
if (a=false)
System.out.println("赋值成功");
System.out.println("赋值失败");
进行执行后你会发现不管怎样都是输出的赋值失败,原因就在于在if写条件时候,赋值操作无效,将if语句值直接给了false,所以只会执行else语句。这种写法会出现bug,但不会报错,但是其他类型就完全不同,进行赋值操作会直接报错。
在Java中,如果进行在if语句内判断条件中进行赋布尔值操作的话,赋值操作是无效的, 这种情况也大多数会出现在进行书写判断条件时少写了一个等号,但在考试里也经常会出现这种题目以下面程序为例package play;import java.util.Scanner;/** * @author lee */public class test { public static void main(String[] args) { Scanner sc=new Scann.
我们习惯了向if里面传递布尔值,如果为true就进入if语句块中;或者传入一个判断语句(表达式a==表达式b);或者传入数值,0为false,其他都为true。等等
初学者很容易在传入判断语句的时候将==写成=,而导致代码失误,这时会有什么情况发生呢?
编译器在编译代码的时候是不会报错的,程序可正常运行
程序如何运行
来看一下这段代码:
#include<stdio.h>
int ...
if (!element)
只要element不是0,null,false,就是true
element可以是数组,只要数组有东西,不是null,可以是数字字符串,只要不是0,null就行
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
boolean类型:
boolean flag ;
flag = true; //或者flag=false;