【概述】

在if/条件语句中,我们已经谈及判断了,这次将详细讲讲一些逻辑判断

基本逻辑

&:且,And,需要二者均为True

|:或,Or ,需要二者其一为False即可

^:异或,XOE,两者结果不同为true,否则为false

!: 非,Not

短路

短路与 && 短路或 ||

简而言之,短路与或就是当“条件满足”就立刻执行,不会判断完所有条件,比如我们有两个boolean为A,B:

A&&B :如果A已经是false,则不去判断B;如果A是true,再去判断B

A||B :如果A是true,则直接执行,不判断B;如果A是false,再去检测B是否为true

短路与或不仅可以节省时间,在一些特殊情况有特殊作用

【运算顺序】

见下图

大部分情况下按着运算顺序写就好了,一般不会错

【转换】

转换有两种:显式转换 Narrowing or Explicit Conversion ,以及隐式转换 Widening or Automatic Conversion

隐式转换:一般是由低精度到高精度的转换,此时机器会帮助我们自动完成,比如(1 -> 1.0),一般在1.两种数据类型兼容且将较小数据类型的值分配给较大数据类型时进行。关于精度,见下表

     低 byte short int long float double 高 ,其中float和double会精确至小数

显式转换:与隐式相反,显式转换常常是把高精度向低精度转换的过程(1.0 -> 1),因此常常需要程序员去处理此事(指加代码)。在高转低的过程中,精度会丢失

使用方法是在要显式转换的数据前加上 (目标数据类型) ,比如

double a = 1.23456 ;
float b = (float)a ;
int c = (int)b ;

对于字符串中的数据转换,我们前一篇 https://www.cnblogs.com/RetenQ/p/14589583.html 已经提到了,那么如何将数值结果转为字符串呢,见下

Integer.toString(<int>)       //int转String
Byte.toString(<byte>) //byte转String
Short.toString(<short>) //short转String
Float.toString(<float>) //float转String
Boolean.toString(<Boolean>) //boolean转String
String.valueOf(<long>) //将long的值给予String
String.valueOf(<double>) //将double的值给予String
Character.toString(<char>) //char转换为String
<char> + "" //效果同上

另外,还有其它的一些小tips:

基本上每个字符char都有其ASCII值,当我们将char转换为int时,int将得到char的ASCII值

如果我们输入的char为数字(例如char ='1';),当我们将其转换为int时,返回值将不是1,则int将返回其ASCII值(比如这时候就是49)

类似于char转int,,现在我们有了int的ASCII值,char将返回其值(还是上一条的例子,这回是49变‘1’)

【Java】 5.0 判断与转换的更多相关文章

  1. JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较

    JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...

  2. Java 常用工具类---- 各种字符集编码判断与转换

    import java.io.UnsupportedEncodingException; /** * 判断字符编码 * * @author guyinyihun */ public class Cha ...

  3. Java中数组判断元素存在几种方式比较详解

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String contai ...

  4. Java+Windows+ffmpeg实现视频转换

    最近由于项目需要,研究了一下如何用Java实现视频转换,“着实”废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不知道从哪里入手.当然,这个解决,googl ...

  5. Spark2.0 特征提取、转换、选择之一:数据规范化,String-Index、离散-连续特征相互转换

    数据规范化(标准化) 在数据预处理时,这两个术语可以互换使用.(不考虑标准化在统计学中有特定的含义). 下面所有的规范化操作都是针对一个特征向量(dataFrame中的一个colum)来操作的. 首先 ...

  6. Java中的线程状态转换和线程控制常用方法

    Java 中的线程状态转换: [注]:不是 start 之后就立刻开始执行, 只是就绪了(CPU 可能正在运行其他的线程). [注]:只有被 CPU 调度之后,线程才开始执行, 当 CPU 分配给你的 ...

  7. Java中类型判断的几种方式

    1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...

  8. java integer对象判断两个数字是否相等

    java integer对象判断两个数字是否相等,不一定对 问题发生的背景:javaweb的项目,起先,因为在java中实体类中的int类型在对象初始化之后会给int类型的数据默认赋值为0,这样在很多 ...

  9. 使用json-lib进行Java和JSON之间的转换 [转]

    [转] http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html 1. json-lib是一个java类库,提供将Java对 ...

随机推荐

  1. DHCP (Dynamic Host Configuration Protocol )协议的探讨与分析

    DHCP (Dynamic Host Configuration Protocol )协议的探讨与分析 问题背景 最近在工作中遇到了连接外网的交换机在IPv6地址条件下从运营商自动获取的DNS地址与本 ...

  2. Java对象内存布局

    本文转载自Java对象内存布局 导语 首先直接抛出问题 Unsafe.getInt(obj, fieldOffset)中的fieldOffset是什么, 类似还有compareAndSwapX(obj ...

  3. springMvc+AJAX+JSON的增删改查

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. AWS Switching to an IAM role (AWS CLI)

    一,引言 今天额外分享一篇 AWS 的技术内容,需要在 EC2 切换到跨账号 IAM 角色(AWS CLI).假设我们使用两个 AWS 账户,A账号,B账号.我们希望允许 A 账号用于 "i ...

  5. Python3.x 基础练习题100例(41-50)

    练习41: 题目: 模仿静态变量的用法. 程序: def varfunc(): var = 0 print('var = %d' % var) var += 1 if __name__ == '__m ...

  6. virtualbox多个网卡添加(第5-8块儿)

    virtualbox多个网卡添加(第5-8块儿) virtualbox默认只能启用4块网卡,如果4块网卡不够则需要通过命令添加.最多可以增加至8块 创建一个文件run.bat,添加如下内容到文件中,然 ...

  7. 00.从0实现一个JVM语言系列

    00.一个JVM语言的诞生 由于方才才获悉博客园文章默认不放在首页的, 原创文章主要通过随笔显示, 所以将文章迁移到随笔; 这篇帖子将后续更新, 欢迎关注! 这段时间要忙着春招实习, 所以项目更新会慢 ...

  8. 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决

    树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...

  9. 2020年12月-第01阶段-前端基础-认识HTML

    1. HTML 初识 HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来描述网页的一种语言. HTML 不是一种编程语言,而是一种标记语言 (markup ...

  10. FreeBSD WIFI 配置详细介绍

    首先运行ifconfig,看看能不能找到你的网卡,如果能,那么你可以走了﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉运行sysctl net.wlan.devices,他可以告诉你,找到的无线网卡编辑/b ...