Java 语言基础之运算符
使用运算符之后,肯定有返回结果.
六种运算符:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三元运算符
1. 算术运算符
加(+), 减(-), 乘(*), 除(/), 取余(%), 自增(++), 自减(--)
注意:
- 2%5 = 2;
- 字符串与数字用加号连接: 3 + "2", 结果为 32;
- 字符与数字用加号连接: 3 + 'a' = 100, 字符 a 默认转换为 ASCII 字码表对应值 97;
- 自增:
int a = 3, b;
b = a++; // b = 3;
b = ++a; // b = 4;
2. 赋值运算符
=, +=, -=, /=, %=
3. 比较运算符
>, <, >=, <=, ==, !=, instanceof(指出对象是否是特定类的一个实例,返回布尔类型值)
4. 逻辑运算符
- 用于连接两个 boolean 类型的表达式;
- 逻辑与 "&" 运算规律: 表达式两边只要有一个为 false, 结果肯定是 false. 只有两边都为 true, 结果才是 true;
- 逻辑或 "|" 运算规律: 表达式两边只要有一个为 true, 结果肯定是 true. 只有两边都为 false, 结果才是 false;
- 逻辑异或 "^" 运算规律: 表达式两边结果相同(同为 true 或 false), 最终结果为 false. 如果不同, 结果为 true;
- 逻辑非 "!" : 判断事物的另一面;
- 短路与 "&&" 运算规律: 和 & 的运算结果一样,但是运算过程有区别
& : 无论左边的运算结果是什么, 右边都参与运算
&& : 当左边为 false 时, 右边不参与运算 - 短路或 "||" 运算规律: 和 | 的运算结果一样,但是运算过程有区别
| : 无论左边的运算结果是什么, 右边都参与运算
|| : 当左边为 true 时, 右边不参与运算
5. 位运算符
- 直接对二进制进行运算,效率高
- & 运算: 6 & 3 = 2; (见下图)
- | 运算: 6 | 3 = 7; (见下图)
- ^ 运算: 一个数异或同一个数两次, 结果还是这个数. 例 6 ^ 3 ^ 3 = 6
- 左移位 << 运算: 左移几位就是该数据乘以 2 的几次方, 换句话说, 左移位可以完成 2 的次幂运算
- 右移位 >> 运算: 右移几位就是该数据除以 2 的几次幂, 对于高位出现的空位, 原来高位是什么就用什么补足
- 无符号右移 >>> 运算: 数据进行右移时, 高位出现的空位, 无论原高位是什么,空位都用 0 补
练习: 对两个整数变量的值进行互换
方式一: 使用第三方变量 (开发时使用, 阅读性强)
方式二: 使用位运算 (面试时使用, 但阅读性差). 例
int a = 3, b = 5;
a = a ^ b;
b = a ^ b; //b = (a ^ b) ^ b, 即 b 的值为 a
a = a ^ b; //a = (a ^ b) ^ a, 即 a 的值为 b
方式三:
int a = 3, b = 5;
a = a + b;
b = a - b;
a = a - b;
6. 三元运算符
- 格式: 条件表达式 ? 表达式1 : 表达式2;
- 条件为 true, 返回表达式1; 反之, 返回表达式2;
- 与 if 语句的区别: if 语句没有返回值, 三元运算符肯定有返回值;
参考资料:
JavaSE 基础视频(毕向东)
Java 语言基础之运算符的更多相关文章
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- day03<Java语言基础+>
Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ...
- day02<Java语言基础+>
Java语言基础(常量的概述和使用) Java语言基础(进制概述和二,八,十六进制图解) Java语言基础(不同进制数据的表现形式) Java语言基础(任意进制到十进制的转换图解) Java语言基础( ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- 第二十二节:Java语言基础-详细讲解位运算符与流程控制语句
位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = ...
- 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符
Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
随机推荐
- win7系统如何配置JAVA环境变量
1.在“计算机”右击选择“属性” 2.点击“高级系统设置” 3.点击“环境变量” 4.点击系统变量下面的“新建” (1)新建->变量名:JAVA_HOME变量值 C:\Program Files ...
- CCNA2.0笔记_路由相关
路由器的工作内容 -路由器知道目标地址 -发现到达目标地址的可能的路由 -选择最佳路径(路由表) -维护路由信息 路由的来源 直连路由:直接连到路由器上的网络 -初始化情况下,路由器所知的网络,只有其 ...
- Unix系统编程()open,read,write和lseek的综合练习
需求:程序的第一个命令行参数为将要打开的文件名称,余下的参数则指定了文件上执行的输入输出操作.每个表示操作的参数都以一个字母开头,紧跟以相关值(中间无空格分隔). soffet:从文件开始检索到off ...
- regcomp/regexec/regfree--POSIX regex functions
语法 #include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *rege ...
- U盘工作原理(转)
u盘工作原理 一. U盘基本工作原理 通用串行总线(Universal serial Bus)是一种快速灵活的接口, 当一个USB设备插入主机时,由于USB设备硬件本身的原因,它会使USB总线的数据信 ...
- IT 服务管理工具 iTop
iTop,作为全面支持ITIL流程的一款ITSM工具,具有强大的ITSM功能,开源免费.简单易用. iTop,即IT运营门户(IT Operation Portal),是一个开源web应用程序,用于I ...
- php调用C代码的实现方法
在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用2 由于php的性能问题,需要用C来实现部分功能 针对第一种情况,最合适的方法是用system调用,把现有C代 ...
- Java Drp项目实战——Web应用server
引言 Web应用server如今非常多人都在用,但是究竟什么是Web应用server呢,它与Webserver有什么关系,它与应用server又是什么关系,它是他们两种中的当中一种,还是简单的两种se ...
- jQuery-对Select的操作集合[终结篇]
jQuery获取Select选择的Text和Value: 请选择 C# Javascript jQuery C++ Java VB 选择一项试试看语法解释:1. $("#select_id ...
- inux redis 安装配置, 以及redis php扩展
一,什么是redis redis是一个key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset ...