Java学习日记-2.1 运算符
1. 赋值运算符
赋值运算符是有值的
int i;
System.out.println(i = 5); //输出5
正因为赋值运算符有值,所以可以可以连等地赋值
int j,k,l,m,n;
j = k = l = m = n = 5;
System.out.println(""+j+k+l+m+n);//输出55555
2. 位运算符
2.1 非~
举例:~-5
-5的原码:1000_0000_0000_0000_0000_0000_0000_0101
-5的反码:1111_1111_1111_1111_1111_1111_1111_1010
-5的补码:1111_1111_1111_1111_1111_1111_1111_1011
-5取非后:0000_0000_0000_0000_0000_0000_0000_0100(也就是4)
非运算连带符号位一起取非
2.2 带符号右移>>
左边的空位用原来的符号位补充
2.3 无符号右移>>>
左边的空位用0补充
2.4 左移<<
右边的空位用0补充
注:移位准则
a. 低于int类型的(byte、short、char)的操作数总是先自动类型转换为int类型后再移位
b. int类型的数移的位数超过32的话,先对移的位数用32求余,然后用移动余数位
c. long和int类似,只是用64求余
(移位只是生成了一个新的数,不会对源操作数产生影响)
3. 比较运算符
3.1 等于==
基本数据类型直接比;如果比较的是引用类型,则只有当两个引用类型相同,或者具有继承关系时才能编译通过,只有两个引用指向的是同一个对象时才返回true,两个对象值相等也不行。
4. 逻辑运算符
4.1 与
短路与&& 与&
4.2 或
短路或|| 或|
短路与或在判断前一个表达式的逻辑结果就能决定整个表达式时,不执行后面那个表达式。
4.3 三目运算符
expression ?if-true:if-false
5. 运算符的结合性
大部分运算符是从左往右结合的,但是单目运算符(++、--、~、!)、赋值运算符(=、+=、-+、*=等)和三目运算符(?:)除外
Java学习日记-2.1 运算符的更多相关文章
- Java学习日记基础篇(八) —— 二进制、位运算、位移运算
二进制 二进制是逢2进位的进位置,0,1是基本算符 原码反码补码 在基本数据类型那里,有详细解释 二进制的最高位数是符号位:0表示整数,1表示负数 正数的原码,反码,补码都一样 负数的反码 = 它的原 ...
- Java学习日记——基础篇(三-上)基本语法之运算符和流程控制
运算符 算术运算符 听其名而知其意,就是用于计算的,java中常用的是: + 加 - 减 * 乘 / 除 % 取模,取余——%可以用来得到两个数相除的余数 小练习——写一个ja ...
- Java学习日记-2 零零碎碎
一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...
- java学习阶段三:运算符和结构学习
import java.util.Scanner;/* * JAVA中运算符的学习: * 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. * 赋值运算符:=.+=.-=.*=./=. ...
- Java学习笔记三:运算符
1.算术运算符: GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac01.java + - * / ...
- java学习(二)运算符
一.运算符 赋值运算符:= += -= *= /= %= 算术运算符:+ - * / % ++ -- int x = 3; int y = 4 int c = x*1.0 ...
- java学习笔记之位运算符
java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如 3&5=1 ...
- java 学习第二篇关系运算符和布尔值
关系运算符,顾名思义.用来看什么关系.(也就是用来比较) 看下表 JAVA 关系运算符 a=6,b=5 关系运算符 举例 值 解释 > a>b true a大于b < a<b ...
- Java学习日记基础篇(六)—— 抽象类、接口、final
抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...
随机推荐
- zabbix图中出现中文乱码问题
我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下 1. ...
- Day9 - Python 多线程、进程
Python之路,Day9, 进程.线程.协程篇 本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线 ...
- AS 2.0新功能 Instant Run
Instant Run上手 作为一个Android开发者,很多的时候我们需要花大量的时间在bulid,运行到真机(虚拟机)上,对于ios上的Playground羡慕不已,这种情况将在Android S ...
- 什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
Advanced Audio Coding(高级音频解码),是一种由MPEG-4标准定义的有损音频压缩格式,由Fraunhofer发展,Dolby, Sony和AT&T是主要的贡献者. 在使用 ...
- cogs 53 多人背包
/* 要求每个最优 即累加前k优解 注意不用去重 */ #include<iostream> #include<cstdio> #include<cstring> ...
- Notification封装(没做从网络下载)
1.Notification作为消息通知,这里简单封装了使用 建立一个bean package com.jcut.view; /** * Author:JsonLu * DateTime:2016/2 ...
- JS 点击事件失效
有时候,会发现js失效 ,代码如果是如下的时候 <input type="button" onclick="change()"value="変更 ...
- RoadTrip 学习笔记
#RoadTrip 学习笔记 本篇是在Cmd Markdown中写完粘贴来的. RoadTrip介绍 RoadTrip 项目地址:https://github.com/romainguy/road-t ...
- Python Function Note
Python Function Note #汉诺塔问题Python实现 def my_move(n, a, b, c): if n == 1: print(a + ' --> ' + c) el ...
- cmakelists 语法学习
1.项目最外层cmake编写:----------用于kdevelop编译器 project(filtering) cmake_minimum_required(VERSION 2.8) ————必须 ...