Java 我们不能把int降到boolean吗?

Java 我们不能把int降到boolean吗?,java,Java,根据我的理解,在第1行中,默认情况下0被视为int。这就是为什么将int赋值给boolean会产生编译时错误的原因。对吗?另外,为什么它在第2行中给出编译错误,即使在显式向下转换时也是如此 public class HelloWorld { public static void main(String[] args) { boolean b = 0; //1.compile time error boolean b = (boolean)0;//2.st

根据我的理解,在第1行中,默认情况下0被视为int。这就是为什么将int赋值给boolean会产生编译时错误的原因。对吗?另外,为什么它在第2行中给出编译错误,即使在显式向下转换时也是如此

public class HelloWorld
{
   public static void main(String[] args)
  {
    boolean b = 0;         //1.compile time error
    boolean b = (boolean)0;//2.still compile time error
    System.out.print(b);
  }
}

Java不支持从int到boolean的转换。这是因为布尔值在Java中不是数字类型

惯用的方法是编写表单的代码

布尔b=n!=0;

其中n是数字类型

这包括在:

整数或浮点表达式x可以通过表达式x转换为布尔值,遵循C语言的约定,即任何非零值都为true=0

布尔值可以转换为布尔、布尔或对象类型§5.5。不允许对布尔类型执行其他强制转换


Java不支持从int到boolean的转换。这是因为布尔值在Java中不是数字类型

惯用的方法是编写表单的代码

布尔b=n!=0;

其中n是数字类型

这包括在:

整数或浮点表达式x可以通过表达式x转换为布尔值,遵循C语言的约定,即任何非零值都为true=0

布尔值可以转换为布尔、布尔或对象类型§5.5。不允许对布尔类型执行其他强制转换


Java不是C/C++,数字也不是布尔值。因此,没有强制转换。如果您真的想转换它们,那么编写一个快速方法来为您转换并不困难。Java不是C/C++,数字也不是布尔值。因此不需要强制转换。如果您真的想转换它们,那么编写一个快速方法来为您转换并不困难。这与字符串基本相同:您不能将数字强制转换为字符串,反之亦然,因为您需要更改值的类型,而不仅仅是精度/表示形式,例如将int强制转换为double。要做到这一点,您需要使用一个显式表达式/方法来告诉编译器该转换是什么样子的,很像x=0. - 可以说可以将int转换为char,但也可以说char只是一个数字的不同表示形式,例如,字符的代码点。这与字符串基本相同:您不能将数字转换为字符串,反之亦然,因为您需要更改值的类型,而不仅仅是精度/表示形式,例如将int转换为double。要做到这一点,您需要使用一个显式表达式/方法来告诉编译器该转换是什么样子的,很像x=0. - 可以说允许将int转换为char,但也可以说char只是数字的不同表示形式,即字符的代码点。