Java基础系列(12)- 运算符
运算符
- 算数运算符:+ - * / % ++ --
- 赋值运算符:= += -= *= /=
- 关系运算符:> < >= <= == != instanceof
- 逻辑运算符:&& || !
- 位运算符:& | ^ ~ >> << >>>
- 条件运算符?:
自增理解
int a = 3;
int b = a++; // 先赋值,再自增,相当于在后面执行一句a = a + 1
//a = a + 1
System.out.println(a); // 4
// a = a + 1
int c = ++a;// 先自增,再赋值,相当于在前面执行一句a = a + 1 System.out.println(a); // 5
System.out.println(b); // 3
System.out.println(c); // 5
注意点:
short a = 10;
a = a + 1; // 编译报错
a = (short)(a + 1); // 成功
a++; // 成功,自增不会改变原来的数据类型
位运算
A = 0011 1100
B = 0000 1101
A&B= 0000 1100 与,位都为1,才为1
A|B= 0011 1101 或,有一个为1,则为1
A^B= 0011 0001 异或,位相同则为0,不同则为1 公式:m = (m^n)^n
~B = 1111 0010 非,取反
// << 左移 在一定范围内(如果1移动到符号位,即最高位,就变成负数了,所以说一定范围内),相当于*2,右边移动之后空出来的地方用0补齐
// >> 右移 在一定范围内相当于/2,如果是正数,左边移动之后空出来的地方用0补齐;如果是负数,左边移动之后空出来的地方用1补齐;
// >>> 无符号右移 在一定范围内相当于/2,左边移动之后空出来的地方用0补齐;
0000 0000 0
0000 0001 1
0000 0010 2 1左移一位<< 就是4
0000 0011 3
0000 0100 4 1左移一位<< 就是8
0000 1000 8
0001 0000 16
字符串连接
int a = 10;
int b = 20; System.out.println(a+b+""); // 30
System.out.println(""+a+b); // 1020
三元运算符
// x?y:z
// 如果x为真,则y,否则z
int score = 59;
String type = score>60 ? "及格":"不及格";
System.out.println(type);
优先级

Java基础系列(12)- 运算符的更多相关文章
- 夯实Java基础系列12:深入理解Java中的反射机制
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- Java基础系列--02_运算符和程序的语句
运算符: (1)算术运算符: +,-,*,/,%,++,--(加.减.乘.除.取余.自增,自减) ++和--的注意事项: a:他们的作用是自增或者自减 b:使用 1.单独使用 放在操作数据的前面和后面 ...
- Java工程师学习指南第1部分:夯实Java基础系列
点击关注上方"Java技术江湖",设为"置顶或星标",第一时间送达技术干货. 本文整理了微信公众号[Java技术江湖]发表和转载过的Java优质文章,想看到更多 ...
- 2015年12月28日 Java基础系列(六)流
2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流
- Java基础系列-二进制操作
原创文章,转载请标注出处:<Java基础系列-二进制操作> 概述 Java源码中涉及到大量的二进制操作,非常的复杂,但非常的快速. Java二进制表示法 首先了解下二进制,二进制是相对十进 ...
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
- Java基础系列-ArrayList
原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...
- Java基础系列-Collector和Collectors
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一.概述 Collector是专门用来作为Stream的coll ...
- Java基础系列-Comparable和Comparator
原创文章,转载请标注出处:<Java基础系列-Comparable和Comparator> 一.概述 Java中的排序是由Comparable和Comparator这两个接 ...
- Java基础系列--HashMap(JDK1.8)
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是 ...
随机推荐
- 【笔记】偏差方差权衡 Bias Variance Trade off
偏差方差权衡 Bias Variance Trade off 什么叫偏差,什么叫方差 根据下图来说 偏差可以看作为左下角的图片,意思就是目标为红点,但是没有一个命中,所有的点都偏离了 方差可以看作为右 ...
- vue cli中的env详解
前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...
- Spring源码浅析之bean实例的创建过程(一)
在之前的文章内容中,简单介绍了bean定义的加载过程,下面这篇的主要内容就是bean实例的创建过程. bean实例的创建方式 ApplicationContext context = new Clas ...
- uwp 之多媒体开发
xml code ----------------------------------------------------- <Page x:Class="MyApp.MainPage ...
- The Programmer's Oath程序员的誓言----鲍勃.马丁大叔(Bob Martin)
In order to defend and preserve the honor of the profession of computer programmers, I Promise that, ...
- air530GPS数据通过air202上传阿里云
写硬件博客真是太难了 GPS/北斗 导航模块 Air530开发板G1学习日记 上面这个博客详细介绍了如何测试使用Air530模块根据稳重[Air530 和Air 202 进行配合使用,实现2G GPR ...
- C语言格式化输出语句
%d:带符号十进制整数 : %c:单个字符: %s:字符串: %f:6位小数:float; %.2f表示小数点后精确到两位 %lf:6位小数:double;
- servlet中servletContext的五大作用(二)
1. 获取web的上下文路径 2. 获取全局的参数 3. 作为域对象使用 4. 请求转发 5. 读取web项目的资源文件 package day10.about_serv ...
- Windows10下MySQL的安装
简单介绍一下MySQL的安装 官方网址:https://www.mysql.com/downloads/ 1.找到MySQL Community Edition (GPL) (注:GPL版本为开源,非 ...
- Git&Github介绍
git&github 什么是GIT 是一个源代码管理工具 源代码为什么要管理起来? 你写的东西就叫源代码,第三方的库和框架都不算. 让源代码可以被追溯,主要记录每次变更了什么,谁主导这次变化. ...