-
2022-04-22 15:24:15
布尔型(Boolean)
是编程语言 pascal 、VB、 C++ 、Java等的一种类型变量类型。 布尔型的值只有两个:false(假)和true(真)。
而在Java中,0不表示假 , 1也不表示真 , 只有布尔类型可以表示真假。
那么什么是布尔表达式呢?
就是运算后结果为false 或者 true
比如 if(a>b),括号内的就是布尔表达式
,如果a真的大于b,那么括号内就等价于 ture
更多相关内容 -
Java如何正确定义布尔类型变量的命名
2021-02-26 10:29:02布尔类型变量命名success VS isSuccesssuccess & isSuccess 皆可,命名都不存在歧义性,但是建议不加is理由:1.防止部分框架解析会引起序列化错误 反例:定义为基本数据类型boolean isSuccess; 的属性,它的方法...布尔类型变量命名success VS isSuccess
success & isSuccess 皆可,命名都不存在歧义性,但是建议不加is
理由:
1.防止部分框架解析会引起序列化错误 反例:定义为基本数据类型boolean isSuccess; 的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,“以为”对应的属性名称是success,导致属性获取不到,抛异常
类型Boolean 属性success
类型Boolean 属性isSuccess
类型boolean 属性是isSuccess
类型boolean 属性是success
以上代码的setter/getter是使用Intellij IDEA自动生成的,仔细观察以上代码,发现以下规律:
基本类型自动生成的getter和setter方法,名称都是isXXX()和setXXX()形式的。
包装类型自动生成的getter和setter方法,名称都是getXXX()和setXXX()形式的。
setter/getter规范
序列化时出现状况:
情况一:
public class Person implements Serializable {
private static final long serialVersionUID = -7363494335098590947L;
private boolean isSuccess;
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
public String getName(){
return "4869";
}
}
//主类
public class PropertyNameTest01 {
public static void main(String[] args) throws Exception{
Person person = new Person();
person.setSuccess(true);
//使用fastjson序列化person成字符串并输出
System.out.println("Serializable Result With fastjson :" + JSON.toJSONString(person));
//使用Gson序列化person成字符串并输出
Gson gson =new Gson();
System.out.println("Serializable Result With Gson :" +gson.toJson(person));
//使用jackson序列化person成字符串并输出
ObjectMapper om = new ObjectMapper();
System.out.println("Serializable Result With jackson :" +om.writeValueAsString(person));
}
}
运行结果
结论
fastjson和jackson在把对象序列化成json字符串的时候,是通过反射遍历出该类中的所有getter方法,得到getName和isSuccess,然后根据JavaBeans规则,他会认为这是两个属性name和success的值。直接序列化成json:{"name":"4869","success":true}
Gson是通过反射遍历该类中的所有属性,并把其值序列化成json:{"isSuccess":true}
不同的序列化工具,在进行序列化的时候使用到的策略是不一样的,所以,对于同一个类的同一个对象的序列化结果可能是不同的。
情况二:
public class Person implements Serializable {
private static final long serialVersionUID = -7363494335098590947L;
private boolean isSuccess;
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
}
//主类
public class PropertyNameTest01 {
public static void main(String[] args) throws Exception{
Person person = new Person();
person.setSuccess(true);
//使用fastjson序列化person成字符串并输出
System.out.println("Serializable Result With fastjson :" + JSON.toJSONString(person));
//使用Gson序列化person成字符串并输出
Gson gson =new Gson();
System.out.println("Serializable Result With Gson :" +gson.toJson(person));
//使用jackson序列化person成字符串并输出
ObjectMapper om = new ObjectMapper();
System.out.println("Serializable Result With jackson :" +om.writeValueAsString(person));
}
}
运行结果
同一个对象 分别用fastjson & gson序列化出现情况
public class Person implements Serializable {
private static final long serialVersionUID = -7363494335098590947L;
private boolean isSuccess;
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
@Override
public String toString() {
return new StringJoiner(", ", Person.class.getSimpleName() + "[", "]")
.add("isSuccess=" + isSuccess)
.toString();
}
}
//主类
public static void main(String[] args) throws Exception{
Person person = new Person();
person.setSuccess(true);
Gson gson = new Gson();
System.out.println(gson.fromJson(JSON.toJSONString(person),Person.class));
}
}
运行结果
结果完全相反,原因是因为JSON框架通过扫描所有的getter后发现有一个isSuccess方法,然后根据JavaBeans的规范,解析出变量名为success,把person对象序列化城字符串后内容为{"success":true}。
根据{"success":true}这个json串,Gson框架在通过解析后,通过反射寻找Person类中的success属性,但是Person类中只有isSuccess属性,所以,最终反序列化后的Person类的对象中,isSuccess则会使用默认值false。
所以,在定义POJO中的布尔类型的变量时,不要使用isSuccess这种形式,而要直接使用success!
-
C语言之布尔类型
2021-07-06 22:48:23C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真 [案例] 但这种做法不直观,所以我们可以借助 C 语言的宏定义 。 C 语言标准(C99)提供了_Bool 型,_Bool 仍是整数类型,但与一般整型...布尔类型:boolean
1. 基本介绍
- C 语言标准(
C89
)没有定义布尔类型,所以 C 语言判断真假时以0
为假,非0
为真 - 但这种做法不直观,所以我们可以借助 C 语言的宏定义 。
- C 语言标准(
C99
)提供了_Bool
型,_Bool
仍是整数类型,但与一般整型不同的是,_Bool
变量只能赋值为0
或1
,非 0
的值都会被存储为1
,C99
还提供了一个头文件<stdbool.h>
定义了bool
代表_Bool
,true
代表1
,false
代表0
。只要导入stdbool.h
,就能方便的操作布尔类型了 , 比如bool flag = false;
- 条件控制语句;
if
- 循环控制语句; while …
2. 应用案例
- 案例1:
#include<stdio.h> void main(){ int isPass = -1; if(isPass){// 0表示假,非0表示真 printf("通过考试"); }else{ printf("没有通过考试"); } getchar(); }
- 案例2
#include<stdio.h> #define BOOL int #define TURE 1 #define FALSE 0 void main(){ //可以使用宏定义来完成 //定义一个布尔变量 BOOL isOK = TURE;//等价于 int isOK = 1 if(isOK){ printf("ok") ; } }
- C 语言标准(
-
【Flutter】Dart 数据类型 布尔类型 ( 布尔类型定义 | 逻辑运算 )
2020-03-17 20:34:51I . bool 类型定义 II . bool 类型逻辑运算 III . 代码示例
I . bool 类型定义
bool bool_1 = true; bool bool_0 = false; //打印结果 : bool_1 : true , bool_0 : false print("bool_1 : $bool_1 , bool_0 : $bool_0");
II . bool 类型逻辑运算
// 1 . 逻辑或运算 bool bool_2 = bool_0 || bool_1; // 2 . 逻辑与运算 bool bool_3 = bool_0 && bool_1; //打印结果 : bool_2 : true , bool_3 : false print("bool_2 : $bool_2 , bool_3 : $bool_3");
III . 代码示例
import 'package:flutter/material.dart'; class DartType_Bool extends StatefulWidget { @override _DartType_BoolState createState() => _DartType_BoolState(); } class _DartType_BoolState extends State<DartType_Bool> { @override Widget build(BuildContext context) { //调用 Demo 示例方法 _boolDemo(); return Container(child: Text('布尔数据类型'),); } /** * 布尔类型代码示例 */ _boolDemo(){ // I . 布尔类型定义 bool bool_1 = true; bool bool_0 = false; //打印结果 : bool_1 : true , bool_0 : false print("bool_1 : $bool_1 , bool_0 : $bool_0"); // II . 逻辑运算 // 1 . 逻辑或运算 bool bool_2 = bool_0 || bool_1; // 2 . 逻辑与运算 bool bool_3 = bool_0 && bool_1; //打印结果 : bool_2 : true , bool_3 : false print("bool_2 : $bool_2 , bool_3 : $bool_3"); } }
执行结果 :
bool_1 : true , bool_0 : false bool_2 : true , bool_3 : false
-
python中怎么定义一个布尔类型的变量?
2020-12-02 16:56:54展开全部直接定义a=True/False就行,来示例代码:源#定义布尔bai值类型du参zhi数a,b,值分别为daoTrue,Falsea=Trueb=Falseprinta,bprinttype(a),type(b)>>>True FalsePython中的布尔类型:Python的布尔类型... -
C++基础之布尔类型,什么是C++的布尔类型
2021-02-10 19:52:55Java、PHP、JavaScript 等也都支持布尔类型,但输出结果为 true 或 false,我武断地认为这样更科学。 你也可以使用 true 或 false 显式地对 bool 变量赋值,例如: #include using namespace std; int main(){ bool ... -
JavaScript类型系统之布尔Boolean类型详解
2020-11-22 07:18:55从某种意义上说,为计算机设计程序就是与布尔值打交道,作为最基本的事实,所有的电子电路只能识别和使用布尔数据。本文将介绍布尔Boolean类型 定义 布尔Boolean类型表示逻辑实体,它只有两个值,保留字true和... -
Python布尔类型详解
2021-09-07 16:22:42对于错、0和1、正与反,都是传统意义上的布尔类型。 但在Python语言中,布尔类型只有两个值,True与False。请注意,是英文单词的对与错,并且首字母要大写,不能其它花式变型。 所有计算结果,或者调用返回值是True... -
JavaScript数据类型之布尔类型(详细介绍)
2020-06-16 21:48:02// 布尔类型 boolean / bool // boolean类型往往是用来比较和判断结果 // boolean只有两个值: true false // true ----> 真 // false ----> 假 /* = 是将等号右侧的执行结果,赋值给等号左侧的变量存储 = ... -
c#入门-布尔类型
2022-01-21 10:14:04c# 布尔类型 -
C++ 布尔类型
2020-11-02 15:18:02布尔类型(bool) C++ 中布尔(bool)是基本数据类型, 专门表示逻辑值 布尔类型的字面值常量 ...任何基本类型都可以被隐式转换为布尔类型 非零即真, 零(NULL) 为假 #include <iostream> using name -
mysql 布尔类型
2021-02-07 06:18:07结果输出:function Boolean() { [native code] }定义和用法constructor 属性返回对创建此对象的 Boolean ...mysql 布尔类型boolean tinyint(1) mysql官方文档指出目前不支持boolean类型,需要使用的... -
Golang系列之布尔类型基本介绍
2022-01-22 17:06:13Golang系列之布尔类型基本介绍,go语言中的布尔类型,关键字为bool,布尔类型只有true或者false两种类型,占用1个字节,布尔类型适用于逻辑运算,一般在流程控制语句中,比如if条件、for循环等等 -
Java数据类型以及变量的定义
2021-02-26 10:29:41一:Java数据类型有基本数据...布尔类型:booleana.整数类型默认的类型是intb.定义long类型的数据,必须在后面加上l或Lc.浮点数类型,默认的数据是doubled.定义float类型的数据。必须要在数据加上F和fe.double的时候... -
python 布尔型的定义_布尔的定义
2020-09-14 03:33:49java布尔型数组的定义 Definition: 定义: Bool is a fundamental type in C, C++ and C# languages. Bool是C,C ++和C#语言的基本类型。 Variables of this type can only take two values- 1 and 0. In ... -
Java布尔类型变量命名与类型问题
2021-12-02 18:16:37Java布尔类型变量命名与类型问题1. Java变量命名与类型概述2. 使用isXXX来命名变量问题3. 基本类型与包装类选择问题 1. Java变量命名与类型概述 平时业务开发过程中,实体创建的时候很多同学习惯使用isXXX开头命名... -
POJO类中布尔类型的变量都不要加is前缀详解
2021-03-14 00:04:39【强制】 POJO类中布尔类型的变量都不要加is前缀,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型Boolean isDeleted; 的属性,它的方法名称也是 isDeleted(),RPC框架在反向解析的时候,“误以为”... -
Java 布尔型
2021-03-14 23:23:11Java 布尔型接下来,我们准备为大家介绍“布尔型”。"布尔型"——布尔型只有真或假,它是关系表达式的运算结果,真是true,而假是false,而这种类型主要用于控制语句,例如前面学习过的while循环、if语句等,所以,... -
C语言:布尔值、宏定义、类型定义
2020-12-31 17:14:32因为许多程序需要变量能存储真值或假值,所以C语言缺少适当的布尔类型可能会很麻烦。一直采用模拟布尔型变量的方法来解决麻烦,这种模拟的方法是先声明int型变量,然后将其赋值0或1。 int flag; flag = 0; ... flag ... -
【python教程入门学习】Python基本数据类型:布尔类型(Boolean)
2022-02-24 15:58:38另外Python还有一种数据类型叫做布尔类型(Boolean)。 布尔类型 布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是0和1。Python中的布尔类型只有两种值:True和False。(注意 -
POJO类中布尔类型属性的定义与命名
2020-10-03 14:08:27因为布尔类型属性的getter方法与其他类型的不一样,是isSuccess(),如果在变量名之前加上is的话,属性名与方法名就重名,就可能会导致在反序列化时就找不到名为success的属性。 布尔类型的属性应使用包装类型... -
javascript 布尔_Javascript布尔变量类型
2020-10-10 03:29:00javascript 布尔While making decisions we generally need some logic values. Logic values are generally trueand false. In Javascript these values are called as Booleantype. Boolean type variables holds.... -
JAVA中的布尔类型
2020-10-09 02:12:43布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量! 二、使用步骤 1.设置boolean变量 代码如下(示例): boolean b = true //定义布尔型变量b,并赋给初值true 2.带有boolean返回值方法 代码如下(示例... -
C语言没有布尔类型?
2022-03-30 19:41:47C语言数据类型只有以下几种,其中并没有布尔类型。 解决方法有以下两种: 借助 C 语言的宏定义,把 TRUE 定义为1,把 FALSE 定义为0。 C99还提供了一个头文件 定义了 bool 代表 _Bool,true 代表 1,false 代表 0。... -
【Java学习笔记之八】JavaBean中布尔类型使用注意事项
2021-03-14 22:49:43JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类。JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolean...但是如果test为一个布尔类型,那么其getter和sette... -
布尔类型的判断
2021-04-02 11:24:061、布尔类型在stdboll.h这个这个头文件里 2、布尔类型就是真与假,在判断非真是使用! 3、直接上程序 下面展示一些 内联代码片。 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> /... -
Java基本数据类型——布尔型详解
2022-01-13 17:25:29在 Java 语言中布尔类型的值只包括 true 和 false,没有其他值,不包括 1 和 0,布尔类型的数据在开发中主要使用在逻辑判断方面,例如:如果外面在下雨,我出门带一把雨伞。如果明天休息,咱们就一出去玩耍吧。请看... -
MySql数据库类型bit等与JAVA中的对应类型【布尔类型怎么存】
2021-01-19 04:13:39用char(1):可以表示字符或者数字,...总结:如果无扩展需求,仅仅表示2值逻辑的话, Bit 绝对是首选如果有扩展需求,以后可能多余2个值,就用 tinyintchar不考虑,写代码时要带单引号,超麻烦转:MySql数据库类型bit... -
C语言的布尔类型(_Bool)
2017-11-07 11:09:44也许很多人都和我一样,不知道现在的C语言已经有了...(这里我所说的“输入”,意思是:当在一个需要布尔值的地方,也就是其它类型转化为布尔类型时,比如 if 条件判断中的的条件;“输出”的意思是:程序的逻辑表达式 -
定义布尔型变量的关键字是_________。
2021-05-20 05:22:28相关题目与解析在C语言程序...下面语句中,可以使布尔型变量L的值为真的是()。设有如下变量声明语句:Dima,bAsBoolean则下面叙述中正确的是()。A.a和b都是布尔型变量###在VBA语言中,全局变量定义语句的开始关键字...