运算符

首页要知道计算机最基本的功能就是执行数学运算,那Java中有那些现实中的加,减,乘,除呢

算术运算符

假设A=10,B=5

+ 加法 A+B=15

- 减法 A-B=5

乘法,不像现实中的x,因为x就程序语言就是个字母或者字符 A*B =50

/ 除法

% 求余

++ 自增 A++或者++A=11,但是有些区别,后面讲到

-- 自减 A--或者--A=9,同样也是有区别的

关系运算符

就是比较你跟它的关系,然后返回给你真还是假

假设A=10,B=5

== 比较两个值是否相等 如A==B,判断A等于B嘛?明显不等,返回的是false

!= 比较两个是否不相等,不相等返回true

> 大于

< 小于

>= 大于或者等于

<= 小于或者等于

逻辑运算符

假设布尔A为true,B为false

&& 逻辑与运算,当且仅当两个都为真,才为真 A&&B 为false

|| 逻辑或运算,有一个为真即为真 A||B 为true

! 逻辑非运算,做反转操作 !true = false,!false = true,如!(A&&B)=true

这里说下如果多个&&和多个||是如何判断流程的呢

如A=10,B=8,C=5;

AC = false ,但是里面它只运行了AC,准确说它认为没必要再运行B>C是不是真。在真正开发中,判断顺序很重要,一般只有前面成立,才进行第二个

||也同理,如果前面为true了,就不会进行后面的判断

条件表达式

1、if 和if else

if(){}

if(){

}else{

}

2、switch case

3、三目运算符

操作符是?: 它就是?前是true就执行?后的语句,如果false就执行:后的语句

示例 a=10

b=(a>5)?15:10 b= 15

类型转换

开发中经常要进行不同的基础数据之间的相互转换。如字符串的数字转为基本类型的数字,小数转为整数等

有两种类型转换方式

1、自动类型转换

就是系统自动把它转给另一个变量,如int转float

前提:范围小的数值给范围大的变量,你就想小桶的水倒给大桶的水容器,自然就可以的。

示例代码:

public static void main(String[] args) {

//自动转换

//整型转为浮点型 int ==> float

int a = 10;

float b = a;

//打印出来b = 10.0

System.out.println(b);

}

2、强制类型转换

同样的,小桶里的水可以倒到大桶里面,难道大桶里面的水不能够到进入小桶里面吗?正所谓艺术源于生活,代码何尝不是,只要是大桶里面的水没有超过小桶的容积,就可以到进去。所以,java引入了强制转换的概念

强制转换的语法格式是:(targetType)value,强制转换的运算符是圆括号(())

注意点:

把一个浮点数强制转换为整数时,java会直接截断浮点数的小数部分

float c =10.5f;

int d = (int)c;

//打印的是10,小数点后的直接截断了

System.out.println(d);

基本数据类型转字符串

//基本数据类型转字符串

int i = 10;

//一种方式String.valueOf

String str1 = String.valueOf(i);

//直接加双引号

String str2 = i+"";

字符串转基本数据类型

通常情况下,字符串不能直接转换成基本类型,但是可以通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

java为8种基本类型都提供了对应的包装类:boolean 对应 Boolean 、byte 对应 Byte、short 对应 Short、int对应Integer 、 long 对应 Long、char 对应 Character 、float对应Float 、double 对应 Double

如Double.parseDouble(str)

//字符串转数据类型

String numStr = "100";

int j = Integer.parseInt(numStr);

如果不知道numStr是整数还是小数可以用Double来先接收

3、表达式类型自动提升

一种隐性的方式--表达式类型转换。表达式归根到底属于自动类型转换的范畴之中

表达式类型转换的自动提升规则:

所有的byte类型、short类型将被提升到int类型

整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型

下面列子细细品

byte b1 = 10;

byte b2 = 20;

//错误: 不兼容的类型: 从int转换到byte可能会有损失

//否则,两个操作数都将转换为int类型。

byte b3 = b1 + b2; //错误,b1+b2是int类型,java的整数默认类型为int,b3是byte类型,二者类型不同,所以出错

byte b4 = (byte)(b1 + b2); //正确

short s1 = 10;

s1 = s1 + 12; //错误

s1 = (short)(s1+12); //正确

short s2 = 10;

s2 += 12; //正确 s2 = (short)(s2 + (short)12)

java条件运算符类型转换_Java运算符,条件表达式,类型转换相关推荐

  1. java块语句_Java运算符、表达式、语句块

    一.运算符 在java中用于程序计算的操作i发统称为运算符,运算符分为如下几类: 1.算术运算符 算术运算符 说明 + 加号两边是数值,可以运算,如果一边存在字符串,则当作连接符 a+b - 两个数相 ...

  2. java 类型转换方法_Java中的实用类型转换的方法

    Java中的实用类型转换的方法 1,              类型转换 JAVA中常用数据类型转换函数 虽然都能在JAVA API中找到,整理一下做个备份. string->byte Byte ...

  3. java 布尔逻辑运算符_Java运算符

    Java语言提供许多操作符.操作符是特殊的符号(symbol),它对一个或者两个.三个的操作数进行运算,然后返回一个结果,最简单的就像我们一年级学到的+ -号.一般地,可以将运算符分为四大类:算数运算 ...

  4. java 逻辑运算符优先级_Java运算符及运算符的优先级

    介绍 Java语言中提供了很多运算符来操作变量,现总结以下七种: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算符 三目运算符 instanceof运算符 一.赋值运算符 赋值符号 " ...

  5. java多态强制类型转换_java多态和强制类型转换

    子类可以赋值给超类,称之为向上转型,这个是自动的. 超类不可以赋值给子类,这个是向下转型,需要我们手动实现. 赋值给超类的子类引用在运行期间将表现出不同的特性,这就是多态. 小类型    可转换为   ...

  6. java加法运算表达式_java运算符和表达式

    1. 算术运算符与算术表达式(1) 加减运算符 +,-.例如 2+39,908.98-23等. 加减运算符是双目运算符,即连接两个操作元的运算符.加减运算符的结合方向是从左到右.例如: 2+3-8,先 ...

  7. delphi与java 类型转换_java中的数据类型转换

    转换原则 从低精度向高精度转换 byte .short.int.long.float.double.char 注:两个char型运算时,自动转换为int型:当char与别的类型运算时,也会先自动转换为 ...

  8. Java讲课笔记05:运算符与表达式

    文章目录 零.本讲学习目标 1.掌握Java中各种运算符的使用 2.掌握如何正确书写Java表达式 一.算术运算符(Arithmetic Operator) 1.分类说明表 2.注意事项 3.案例演示 ...

  9. java lambda使用_Java 8 Lambda表达式的使用

    lambda表达式允许你通过表达式来代替功能接口.lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块). Lambda表达式还增 ...

最新文章

  1. 【spring】p命名空间的使用
  2. Webpack学习-工作原理(上)
  3. node 命令行升级版本
  4. FLV封装格式分析器
  5. Django(part4)--练习及re_path方法
  6. 【HNOI2013】数列
  7. 10 亿元赌约“揭盅”!董明珠与雷军这五年变得更像对方了
  8. matplot画图控制marker点的个数_专刊主编述评 中药质量标志物(Qmarker):提高中药质量标准及质量控制理论和促进中药产业科学发展...
  9. wps怎么下载仿宋gb2312_仿宋gb2312字体官方下载
  10. 游戏公司2022秋招记录
  11. vsftpd安装包下载
  12. 南京邮电大学c语言实验报告4,南京邮电大学软件设计实验报告..doc
  13. 深圳Python培训:100天从新手到Python大师
  14. html预览页面做成a4纸,如何在A4纸张尺寸页面制作HTML页面?
  15. 李小龙传奇一生的资料(多图)
  16. 【小程序】开发需要注意的地方(二)
  17. 云服务器和独享虚拟主机的区别,云服务器和独享虚拟主机的区别
  18. Google Play 上架总结(二)Google账户关联详解
  19. 龙门阵179期实录:技术专场之Android安全现状
  20. 分享一些酷酷的特效,希望你也能够喜欢

热门文章

  1. 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
  2. 动态规划之KMP字符匹配算法
  3. 【城市沙龙】LiveVideoStack Meet|杭州:多媒体新黄金时代
  4. 【今晚七点半】:5G时代的云游戏还缺什么?
  5. AV1解码器dav1d性能提升100%
  6. LeetCode——数学
  7. 《视频直播技术详解》系列之六:延迟优化
  8. 开源系统管理资源大合辑
  9. Linux 运维工具
  10. 数据库为什么不适合搜索引擎的底层存储?