【Java】 5.0 判断与转换
【概述】
在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 判断与转换的更多相关文章
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...
- Java 常用工具类---- 各种字符集编码判断与转换
import java.io.UnsupportedEncodingException; /** * 判断字符编码 * * @author guyinyihun */ public class Cha ...
- Java中数组判断元素存在几种方式比较详解
1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String contai ...
- Java+Windows+ffmpeg实现视频转换
最近由于项目需要,研究了一下如何用Java实现视频转换,“着实”废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不知道从哪里入手.当然,这个解决,googl ...
- Spark2.0 特征提取、转换、选择之一:数据规范化,String-Index、离散-连续特征相互转换
数据规范化(标准化) 在数据预处理时,这两个术语可以互换使用.(不考虑标准化在统计学中有特定的含义). 下面所有的规范化操作都是针对一个特征向量(dataFrame中的一个colum)来操作的. 首先 ...
- Java中的线程状态转换和线程控制常用方法
Java 中的线程状态转换: [注]:不是 start 之后就立刻开始执行, 只是就绪了(CPU 可能正在运行其他的线程). [注]:只有被 CPU 调度之后,线程才开始执行, 当 CPU 分配给你的 ...
- Java中类型判断的几种方式
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- java integer对象判断两个数字是否相等
java integer对象判断两个数字是否相等,不一定对 问题发生的背景:javaweb的项目,起先,因为在java中实体类中的int类型在对象初始化之后会给int类型的数据默认赋值为0,这样在很多 ...
- 使用json-lib进行Java和JSON之间的转换 [转]
[转] http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html 1. json-lib是一个java类库,提供将Java对 ...
随机推荐
- CORS OPTIONS
CORS OPTIONS A CORS preflight request is a CORS request that checks to see if the CORS protocol is u ...
- 第6章 for循环
目标 掌握for循环的使用方法 理解for循环的嵌套 在第3章中,我们学习了times循环.times循环可以让一段代码重复执行指定的次数. 本章我们将学习另一种循环结构--for循环.它同样能让一段 ...
- js的基本数据类型与引用数据类型
基本数据类型与引用数据类型 基本数据类型有五种 /* 基本数据类型有: - String - Number - Boolean - Null ** typeof null === 'object' 这 ...
- while、do...while和for循环
一.循环 1.1 定义 当满足一定条件的时候,重复执行某一段代码的操作 while和for和do...while是java中的循环 二.while循环 2.1 定义 int i = 0: 初始化值 w ...
- 破解 Android 上 airpods 连接软件的pro版
0x00 起因 起因是在Android上用了一段时间的AndPods觉得不太好用之后,换到了另一个Play商店推荐的App.动画.连接和电量提示都用的很满意,就是每次连接的弹窗和APP里面都有广告,就 ...
- c#(NPOI)DataTable导出execl,execl(支持解析公式)导入DataTable
NPOI(C#)DataTable导出execl using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserMod ...
- salesforce零基础学习(一百零一)如何了解你的代码得运行上下文
本篇参考:https://developer.salesforce.com/docs/atlas.en-us.228.0.apexcode.meta/apexcode/apex_enum_System ...
- 关于 FreeBSD 老版本如何安装软件
关于 FreeBSD 不被支持版本如何安装软件: ALLOW_UNSUPPORTED_SYSTEM=yes写到/etc/ make.conf 如果提示没有make.conf 请手动新建一个文 ...
- DDD实战课--学习笔记
目录 学好了DDD,你能做什么? 领域驱动设计:微服务设计为什么要选择DDD? 领域.子域.核心域.通用域和支撑域:傻傻分不清? 限界上下文:定义领域边界的利器 实体和值对象:从领域模型的基础单元看系 ...
- 【odoo14】第十三章、网站开发(对外服务)
本章我们将介绍一些关于odoo web服务方面的基础知识.进阶的内容,将在第十四章介绍. odoo中的web请求是由python的werkzeug库驱动的.odoo为了操作方便,对werkzeug进行 ...