java 布尔类型_Java的布尔类型基本介绍
Java 有一种表示逻辑值的简单类型,称为布尔型。它的值只能是真或假这两个值中的一个。它是所有的诸如a下面的程序说明了布尔类型的使用:
// Demonstrate boolean values.
class BoolTest {
public static void main(String args[]) {
boolean b;
b = false;
System.out.println("b is " + b);
b = true;
System.out.println("b is " + b);
// a boolean value can control the if statement
if(b) System.out.println("This is executed.");
b = false;
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 false
b is true
This is executed.
10 > 9 is true
关于这个程序有3件有趣的事情要注意。首先,你已经看到,当用方法println ( ) 输出布尔的值时,显示的是“true ”或“false”。第二,布尔变量的值本身就足以用来控制if语句。没有必要将if语句写成像下面这样:
if(b == true) ...
第三,关系运算符(例如9 的显示值是“true”。此外,在表达式10>9 的两边额外的加上括号是因为加号“+”运算符比运算符“>”的优先级要高。
JAVA布尔类型进行逻辑运算和按位运算的区别从结果上,2种运算结果都是一样,但逻辑运算会有“短路”现象,按位的没有,而按位又比逻辑运算多了“异或”功能。
短路现象
class br {
static boolean f1() {
return false;
}
static boolean f2() {
return true;
}
static boolean f3() {
return true;
}
}
boolean f_1 = br.f1()&&br.f2()&&br.f3();
结果为false,当因为f1()就为false,那么后面的&&运算不用进行都知道结果了,JAVA就会发生“短路”对后面的运算乎略,性能提高。
boolean f_2 = br.f2()||br.f1()||br.f3();
结果true,同样f2()为true,后面一样不用再运算了。
好像很方便又高效,但还是有缺点。
boolean f_3 = br.f2()||br.f3()&&br.f1();
结果就变成true,正确应该是false,这就是“短路”造成的错误了,想获得正确的答案就需要加括号:
f_3=( br.f2()||br.f3())&&br.f1();
按位运算提供逻辑没有的异或功能:
boolean f = true^true;
结果f = false;
java 布尔类型_Java的布尔类型基本介绍相关推荐
- java 基本变量类型_Java自学-基本变量类型
Java中的基本变量类型 一个变量的类型,决定了该变量可以包含什么样的值. Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字. 这八种基本类型分别是: 整型 (4种) 字符型 (1 ...
- java 的分类_java的基本类型(转)
java的基本类型 java的基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte.short.int.long.float.double.数值类型又可以分为整数类型by ...
- java的类型_Java的基本类型
一.Java的基本类型主要分为整数型,浮点型,字符型,布尔型. 整数型:byte,short,int,long: 浮点型:float,double 布尔型:boolean 字符型:char 二.基本类 ...
- java 泛型 擦除_Java泛型和类型擦除
一 前言:初识泛型 废话不说,先来看一段代码: public class Holder { private Object data; public Holder(Object data ){ this ...
- java解包_Java的原始类型自动包装与解包机制
java5之后对原始数据类型如int.char.long等基本数据类型有自动打包成相应的复合类型Integer.Character.Long等的机制:也可以将复合类型自动转换为原始类型. 这取决于程序 ...
- java jceks 密钥_Java中不同类型的密钥库(Keystore) – 概述
阅读: 877 密钥库是用于存储加密密钥和证书的存储工具 ,最常用于SSL通信,以证明服务器和客户端的身份.密钥库可以是文件或硬件设备.有三种类型的条目可以存储在密钥库中,取决于密钥库的类型,这三种类 ...
- java原始类型_Java的原始类型(Primitive Type) | 学步园
我们知道,在Java中,变量有两种类型,一种是原始类型,一种是引用类型. 原始类型一共有8种,它们分别是char,boolean,byte,short,int,long,float,double.在J ...
- java lambda函数_Java SE 8新功能介绍:使用Lambda Expression进行函数式编程
java lambda函数 " Java SE 8新功能浏览 "系列的这篇文章将深入了解Lambda表达式 . 我将向您展示Lambda表达式的几种不同用法. 它们都具有功能接口的 ...
- java加载声音文件类型_java读取各种类型文件
用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...
最新文章
- VS2010使用Skin++
- 【Rsync + inotify】 实时同步远程服务器目录文件
- ASP.NET4.5Web API及非同步程序开发系列(3)
- RocketMQ核心概念
- 飞龙的程序员书单 – Linux
- Docker中配置国内镜像
- 安卓下最强的3款pdf阅读器测评
- Arcgis地籍图河流注记字体批量修改
- 软件封装-单文件打包
- crm系统是什么很棒ec实力_哪个CRM系统好
- 工业界中NLP(自然语言处理)算法工程师的核心竞争力是什么?
- 我的世界1.19.2最终优化模组推荐:这60个优化模组让你的体验更好
- 详解VMware CentOS网络配置
- new open SQL ABAP语法错误,逗号和转义符变量 when escaped, all host variables must be escaped using@
- html5 canvas爆炸,html5 canvas彩色爆炸的小球动画特效
- PHP单例模式与常驻内存(总结)
- 面经系列:2020年联发科技数字IC设计岗
- 位运算 - 位运算基本操作
- windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)
- 算法分析与设计|主要内容整理
热门文章
- linux 内核 ramdisk,Ramdisk根文件系统启动Linux(单独的ramdisk镜像)
- feign:hystrix:enabled:true无效解决
- Shell学习六:awk的用法
- 【Mac】你的Mac屏幕居然是Ipad Pro?
- 微信转服服务器,王者荣耀qq转移到微信可以吗 跨平台转区规则介绍
- 乔布斯的成功说明了什么
- HTML-视频和音频
- Photoshop视频
- elementaryOS(基于Ubuntu16.04.5 LTS)耳机没有声音的解决之路
- 官网下载不同版本的AndroidStudio