【概述】

在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. H5 & animation

    H5 & animation https://m.tb.cn/h.VYB7BAx?sm=51fda6 UA checker webp image & css animation CDN ...

  2. dart 匹配基本map

    var map_start = RegExp(r'^\s*\{\s*'); var map_end = RegExp(r'^\}\s*(,)?\s*'); var hasComma = true; M ...

  3. Git 学习相关笔记

    Git Bash 相关命令学 基础概念 参考: https://www.cnblogs.com/gaoht/p/9087070.html https://www.runoob.com/git/git- ...

  4. Windows 常用命令与快捷键

    1.自选区截图Shift+win+s 2.全屏截图Prtsc 3.活动窗口截图Alt+Prtsc 4.新建文件夹Ctrl + Shift + N 5.返回上级目录Alt + 上方向键 6.后退到上一次 ...

  5. MySQL 修改数据表

    修改数据表: 创建数据表 更改表明 更改字段数据类型 更改字段名称 更改字段名称和数据类型 为表添加新字段 将字段顺序改为第一位 将字段顺序改为另一个字段之后 删除字段 1 use test; 2 3 ...

  6. 保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤

    保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤 为保障汽车软件质量,使软件开发符合ISO 26262功能安全标准,需要我们对开发流程做出改进,并与2018年的更新同步. 本视频课 ...

  7. OAuth2.0安全设计之Authorization Code

    OAuth 2.0 有 4 种认证流程: 授权码模式(authorization code) 简化模式(implicit) 密码模式(resource owner password credentia ...

  8. Wayland architecture

    Introduction Motivation Most Linux and Unix-based systems rely on the X Window System (or simply X) ...

  9. 清除浏览器默认样式的reset.css(转载于reset.css的官方)

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0-modified | 20110126 License: none (public domain) ...

  10. Java 基础加强 02

    基础加强·反射 和 枚举 类的加载概述和加载时机 * A:类的加载概述 * 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化来实现对这个类的初始化 * 加载 * 就是指 ...