-isbuy:android boolean true=true方法怎么写

Java中的boolean怎么用?
Java中的boolean怎么用?
public class Test{ public static void main(String []args){
boolean b =
if(b){//b为true
System.out.println("b is true");
if(!b){//!b为true
System.out.println("b is false now");
其他回答 (2)
和int char一样啊。假如
f = if(!f)....只不过他要不是ture,要不就是flase
Boolean是Java一种数据类型。官方的说明:The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined.
在每种编程语言中,不可避免的会出现关于是和否的逻辑判断,比如,变量x的值是否大于变量y的值等,在Java里,我们使用布尔值来反映这些值。我们在数据类型介绍部分介绍了Java中的8种基本类型,其中我们注意到第四类就是布尔值。布尔值的基本类型在字面值有true和false,它的数据类型为boolean。
在Java里,对于每种基本的数据类型都有相对应的包装类型(Wrapper Type)。这里的原因为使用包装类型可以用面向对象的方式进行代码的编写,关于面向对象,我在后面会讲到。对于布尔类型,Java中提供了java.lang.Boolean作为布尔类型的包装类型。在Java中,我们可以使用一个布尔值或字符串值来构造一个Boolean对象。下面是Boolean类的构造方法:Java代码
public Boolean (boolean value)
public Boolean (String value)
作为讲解,我们下面给出一段构造Boolean对象的代码: Java代码
Boolean b1 = new Boolean (false);
Boolean b2 = new Boolean ("true");
这里我们使用一个boolean的字面值和一个字符串值来构造了两个Boolean对象b1,b2。注意,这里我只是为了演示方便而简单的将变量命名为b1、b2,在实际的编程中,请尽量给变量取一个有意义的名字。
在得到一个Boolean对象后,如果我们想使用boolean基本类型的话,可以通过Boolean提供的方法booleanValue,该方法的方法签名为:Java代码
public boolean booleanValue()
下面给出一段代码,我们构造两个Boolean对象,然后调用其booleanValue方法来输出boolean值到控制台: Java代码
public class MainClass {
public static void main(String[] args) {
Boolean b1 = new Boolean(false);
Boolean b2 = new Boolean("true");
System.out.println(b1.booleanValue());
System.out.println(b2.booleanValue());
这里细心的读者可能已经发现,我们用了System.out.println输出了不同类型的数据到控制台,String、数字、boolean值。这是因为该方法被重载过,可以接受不同类型的参数。下面是该程序的输出结果:
falsetrue布尔值的字面值
字面值的概念,我们前面已经提到过了。对于布尔值,它有两个字面值:true、false。true表示真,而false代表假。
下面给出一段代码,代码中定义了一个布尔变量includeSign并将字面值true赋值给它:Java代码
public class MainClass {
public static void main(String[] args) {
boolean includeSign =
System.out.println(includeSign);
上面的代码对大家来说应该比较熟悉了,这里不多做解释了。使用布尔变量
这里我们首先介绍几种可以生成布尔值的操作,首先我们可以以声明的形式来定义布尔变量并给它赋值。另外我们可以用像=、&,&=,!=之类的操作符来产生一个布尔值,这些在以后将会讲到。我们给出一个例子来看看实际中的布尔值的使用:Java代码
public class MainClass {
public static void main(String args[]) {
System.out.println("b is " + b);
System.out.println("b is " + b);
// a boolean value can control the if statement
if(b) System.out.println("This is executed.");
if(b) System.out.println("This is not executed.");
// outcome of a relational operator is a boolean value
System.out.println("10 & 9 is " + (10 & 9));
我们鼓励大家动手自己来实践代码。今天遇到一个朋友问为什么不是视频教程,我觉得视频教程和文本教程的区别不是很大。下面是这段程序的执行结果:
b is falseb is trueThis is executed.10 & 9 is truevalueOf方法
这里介绍下Boolean的静态方法valueOf。之前我们提过静态方法指的是不用实例化类就可以调用的方法,静态方法也被称为类方法。Boolean提供了valueOf的方法,它的作用是将一个字符串值转换为一个Boolean对象,它的方法签名如下:Java代码
public static Boolean valueOf (String string)
从方法签名我们可以看出,它接收一个String参数,返回一个Boolean对象,它是静态的。
下面给出一段代码,这段代码希望大家自己去执行下,看看实际结果:Java代码
public class MainClass {
public static void main(String[] args) {
Boolean b = Boolean.valueOf("true");
System.out.println(b);
toString方法
valueOf方法可以将一个字符串值转换为一个Boolean对象,那么如果我们有一个Boolean对象,想要转换为String值,我们该如何处理呢?Boolean对象为我们提供了toString方法,用于产生一个对应的String对象。以后的学习,我们会直达toString方法是在根类Object类定义的。Boolean类的toString方法签名如下:Java代码
public String toString ()
下面给出一段代码,来演示下这个方法: Java代码
public class MainClass {
public static void main(String[] args) {
Boolean b = Boolean.valueOf("true");
System.out.println(b.toString());
代码相对简单,但是希望自己能动手试一下。
相关知识等待您来回答
编程领域专家关于Java的Boolean.getBoolean方法 - 不积跬步无以至千里不积小流无以成江海
- 博客频道 - CSDN.NET
1086人阅读
关于Java的Boolean.getBoolean方法
Boolean.getBoolean(String name)这个方法经常误导使用者,使用者经常会以为是通过一个String的"true"转换为Boolean的true,但结果却不是这样的.
看一下API的解释:
英文的API:----------------------------------------------------------------------------------------------------public static boolean getBoolean(String name)Returns true if and only if the system property named by the argument exists and is equal to the string "true". (Beginning with version 1.0.2 of the JavaTM platform,
the test of this string is case insensitive.) A system property is accessible through getProperty, a method defined by the System class.&If there is no property with the specified name, or if the specified name is empty or null, then false is returned.
Parameters:&name - the system property name.&Returns:&the boolean value of the system property.&See Also:&System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)
中文的API:----------------------------------------------------------------------------------------------------public static boolean getBoolean(String name)当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true。(从 JavaTM 1.0.2 平台开始,字符串的测试不再区分大
小写。)通过 getProperty 方法可访问系统属性,此方法由 System 类定义。&如果没有以指定名称命名的属性或者指定名称为空或 null,则返回 false。
参数:name - 系统属性名。&返回:系统属性的 boolean 值。另请参见:System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)
这里需要注意的是&系统属性&,也就是说getBoolean是用于访问Java系统属性的方法,与将字符串"true"转成boolean的true没有任何关系。换句话说这个getBoolean不是转换方法,而是获取Java系统属性的方法。
以下是Boolean.getBoolean的正确用法:
public class TestGetBoolean{
public static void main(String[] args){
/**当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true*/
//大写的true返回为false,必须是小写的trueString s1 = "true";
String s2 = new String("true");
//这里将s1存放到Java系统属性中了.System.setProperty(s1,"true");
System.setProperty(s2,"true");
//这里从系统属性中获取s1,所以获取到了。System.out.println(Boolean.getBoolean(s1));//true
System.out.println(Boolean.getBoolean(s2));//true
String s3 = "true";
//很明显s3并没有存放到系统属性中所以返回false。System.out.println(Boolean.getBoolean(s3));//false
//这个更是错的了,呵呵。System.out.println(Boolean.getBoolean("true"));//false}
以下是将字符串"true"转成boolean的true的正确用法:
正确用法:boolean repeatIndicator = Boolean.valueOf("true").booleanValue();&& 或者也可以使用Boolean.parseBoolean()方法,但此方法是jdk1.5以后推出的。
Java在将字符串的值转换为相应的类型时,需要多使用parse开头的方法,或者是valueOf之类的方法。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:171925次
积分:3432
积分:3432
排名:第4236名
原创:143篇
转载:345篇
评论:18条
(1)(27)(10)(5)(1)(1)(17)(1)(1)(6)(2)(5)(3)(14)(6)(1)(69)(72)(25)(11)(182)(23)(3)Java中对应 if(true==a) 和 if(a==true) 区别的代表性回复 - EasonX专栏
- 博客频道 - CSDN.NET
2441人阅读
对于Java,两种书写方式都是不推荐的,sun编码规范里 if (condition) { } 以及 while (condition) { } 才是标准的书写方式, 另外尽可能少的使用Boolean.在大多数情况下boolean基本类型就足够.如果一定要使用Boolean,那么请注意初始值和空值问题. 一旦Boolean型对象的值为null,三种书写方式都会抛出NullPointerException.实际上某猫工作一年多,从没碰上必须使用Boolean的情况,假如碰上了,请注意if(
a!=null && a ),并且针对null做处理. Java和js以及c++不同,在js和c++里任何值都可以做条件表达式的结果,哪怕是undefined. 但是Java的语法严格限制:条件表达式的结果必须是true或者false,因此没必要加上==ture,==false的判断. 在推荐贴if(true==a) 和 if(a==true) 的区别里,很多回复的朋友都没有注意遵循通常的编码规范,所以单发这一贴说明一下. 这是个人的理解,以交流为目的,不是高考标答,也许会有错误,如果有说错的地方欢迎大家指出.
这里选了一些有代表性的回复:
1.if(true==a)是两个变量之间的比较,if(a==true)是变量a是否为真的判断!不知这样说可否.. true是关键字,不是变量,不存在&两个变量&
2.根据java代码的编写规则 是不允许写if(a==true)这样的代码的。 正确:if(a) or if(!a). 编码规范都推荐的if(a)或者if(!a)的方式,无论是sun还是IBM
3.以我在项目中经验,这两个区别我们在项目中推荐使用true==a,是为了防止有人漏写一个=号,做这种判断时定值放在前面少写=号会报编译错,而反过来写就不会,导致结果出错后还不容易调试出来。 老大要是看到某在公司里这么写Java代码,就离裁员不远了
4.效果上没区别 只是 a==true, 常会被误写成 a=true (赋值表达式),从而导致bug,并且不容易看出来 所以一般写程序的时候,是把常量写在前面的, 即 true==a 如果错写成true=a(赋值表达式)的话,是编译不过的 只是利用编译器,避免一些低级bug而已 写为if(a)就不会漏写=了---压根不去写它,当然不会写漏.如果是其他类型比较,比如a是一个int,错写为if(a=1)会因为值不为布尔类型而无法通过编译.
5.一般来说 a ==b 和b==a 结果程序肯定会认为是一致的 这个要求用户自己实现objet父类中的equals方法 而这个方法要求用户实现时必须满足等价关系,这个属于等价关系中的 自反性 ==比较与任何方法或对象无关,它是由JVM完成的,注意不要和equals之类的方法调用混淆了
6.我也是慢慢地习惯&abc&==a 这种写法了,字符串内容比较请使用equals
7.在写代码的时候为了避免手误,把“==”(判等)敲成“=”(赋值)引起错误,推荐采用 if(常量 == 变量) 的模式。 但这个模式一般不用在 java 中,而是在 C++ 或 c 中。因为 java 中如果用IDE的话,会直接给出提示,没有用IDE也会在编译时报错。 非常同意喵.Java的使用者也许对c++陌生,但是js应该熟悉吧,js里使用if(true==a)或者if(true===a).这个习惯貌来自c,不过对于Java,if(a)足够了
8.尚学堂在讲这个问题的时候的确讲的是对的,楼主不去听听看看,就胡下定论。记住:科学是严谨的,就算有培训的地方有错误也很是正常,如果没错误,还要我们这些程序员干嘛! sxt没看过,但是同意&记住:&之后的话,不但是培训,百度,论坛,blog,甚至文档里都可能有错.幸可音佳娃一文刚面世,被网络上的朋友挖出了一摩尔的bug,用作者的话就是&指出了许多文章中的问题
9.if(true==a)有时候这种判断之所以把变量放后面是为了防止空指针异常,因为如果a为null的话把a放前面就会报空指针异常,而放后面不会。代码是从前往后执行的 假如a为Boolean类型并且值为null,那么就算竖着写也避免不了NullPointerException,必须写为if( a!=null && a ),所以Boolean包装类极为少见
10.我认为还是有区别的,就像 if(null!=a){}和if(a!=null){} 这个真没什么区别.如果a是基本类型,两种顺序都通不过编译,如果a是对象,两种顺序都不影响结果
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26610次
排名:千里之外
(1)(2)(2)(3)(2)(2)(1)(2)(1)Vb中关于sub子过程的题如题:Private Sub procl(a as integer, b as string,Optional x as boolean)...end sub正确调用此过程的是:A: Call procl(5)
B: Call procl(5,&abc&,False)C: procl(12,&abc&,True) D:procl 5,&abc&答案选 D
为什_百度作业帮
拍照搜题,秒出答案
Vb中关于sub子过程的题如题:Private Sub procl(a as integer, b as string,Optional x as boolean)...end sub正确调用此过程的是:A: Call procl(5)
B: Call procl(5,"abc",False)C: procl(12,"abc",True) D:procl 5,"abc"答案选 D
Vb中关于sub子过程的题如题:Private Sub procl(a as integer, b as string,Optional x as boolean)...end sub正确调用此过程的是:A: Call procl(5)
B: Call procl(5,"abc",False)C: procl(12,"abc",True) D:procl 5,"abc"答案选 D
为什么啊???(答案不排除是错的,我的盗版书)谢谢大家1楼说的,我点都没听懂啊?
B、D都可以。子过程的两种调用方式:一、子过程名 [参数列表]
子过程名(参数列表)optional 是在定义参数时表明该参数可选。所以B、D都可以。
没错啊,答案就是D啊,这是一种子程序或者过程的调用方法。A的话看似是对的,但是它只提供了一个参数,所以是错的B的话这样调用貌似也没有问题C的话就不行的,这样的调用也是要出错的D就是正常的调用方法了答案是D没错
我认为除了A其他都是对的。A选项没有提供第二个必选参数B、C、D的话,VB6语法相对宽松,有没有Call、有没有括号都是可以的。c==true和true==c的区别(其中c为boolean类型0
[问题点数:40分,结帖人zgpinguo]
c==true和true==c的区别(其中c为boolean类型0
[问题点数:40分,结帖人zgpinguo]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2008年10月 Java大版内专家分月排行榜第三
2008年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 boolean flag true 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信