java从小白到老白③
PS:①小陌笔记中蓝色紫色等一切花哨字体皆用来引入知识点(废话流),可忽略不计 。
②黑字正文小陌竭力向言简意赅靠近再靠近。
③红色字体小陌觉得重要的地方
- 老规矩,题目引入:
int a = 1;
int b = 2;
System.out.println(++a == 1 && ++b == 2);
System.out.println(a);
System.out.println(b);
int x = 1;
int y = 2;
System.out.println(++x == 1 & ++y == 2);
System.out.println(x);
System.out.println(y);
以上代码有何不同?
这还不简单,第二段漏了个&对不对!
让我们先看输出结果:
①false
2
2
②false
2
3
对照结果会发现,&&操作中没有接着执行后面的判断,直接判定为false
虽然&与&&的最终结果一样,但是&&具有短路功能,左边一方为false,直接判为false,不再执行右边。
而|与||同理,因为&&与||的相对高效率,所以我们常用的逻辑运算符是&&和||这俩成双成对的,而不是那种光棍吧唧的死脑筋~
好叭,需要承认,小陌这种单身猿,之所以单身,像&和|不被多用一样,应该也是有理由的
位运算
^异或,同则1,不同则0
~按位取反,1变0,0变1
①一个数据对另一个数据位异或^两次,该数本身不变
<<左移运算符 左边最高位丢弃,右边补齐0
>>有符号位右移运算符 最高位是0,左边补0;最高位是1,左边补齐1
>>>无符号位右移运算符 不管最高位0还是1,左边补齐0
eg1:3<<2 等价于 3*2^2
8>>2 等价于 8/2^2
但是对于>>与>>>往往需要严格按照位运算进行
eg2: -10的右移操作
System.out.println(-10>>>3);//536870910
System.out.println(-10>>3);//-2
原码:10000000 00000000 00000000 00001010
反码:11111111 11111111 11111111 11110101
补码:11111111 11111111 11111111 11110110
>> 11111111111 11111111 11111111 11110(110)补码
11111111111 11111111 11111111 11101反码
10000000000 00000000 00000000 00010原码
System.out.println(-10>>3);//-2
>>> 00011111111 11111111 11111111 11110(110)原码//注意哦( • ̀ω•́ )✧原码既然是正数,则原反补相同
System.out.println(Integer.parseInt("11111111111111111111111111110", 2));//536870910
(既然是位运算,记得把数据转化为二进制再进行相应运算,注意操作的是补码,如果是负数记得还原为原码)
java从小白到老白③的更多相关文章
- Java SpringMVC小白的成长(一)
如果你是一个小白,请跟着我走,我会让你少走弯路,如果你是大牛,那么多谢大牛可以给我提提建议. 说实话,来公司这么久,一直在做的是维护与修改bug.(我的语言是php,来公司才开始接触java). 要毕 ...
- CDH搭建Hadoop分布式服务器集群(java新手小白)
1首先对于一个java还白的小白,先理解CDH与Hadoop的关系 一.Hadoop版本选择. Hadoop大致可分为Apache Hadoop和第三方发行第三方发行版Hadoop,考虑到Hadoop ...
- 1、JAVA的小白之路
大学的时光过得很快,转眼我已经大二了,在大一时,学习了C\C++,对于语言有一定基础,在未来的道路上,我需要攒足干劲,积累足够的知识和技能,去走上社会. 我的第一任大学班主任告诉我:“作为程序员,你至 ...
- java从小白到架构师大牛必看书籍
一.基础类 1.<ThinkingJava>,入门第一位是建立正确的概念. 2.<Core Java>,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁. ...
- java技术小白的入门
一.入门书籍 1,疯狂java讲义 2,java编程思想 3,Maven权威指南 4,Spring 3.0就是这么简单 5,Spring技术内幕 6,Spring实战 7,Maven实战 二.入门业务 ...
- 小白学Java:奇怪的RandomAccess
目录 小白学Java:奇怪的RandomAccess RandomAccess是个啥 forLoop与Iterator的区别 判断是否为RandomAccess 小白学Java:奇怪的RandomAc ...
- 大学四年,总结一套适合小白的Java自学路线和方法
前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不 ...
- java面试入门总结
最近正好有时间空下来,前一段时间本来打算呢,写一写阶段的总结,今天就来谈谈吧.作为一个java入门小白,之前就职于浙江大华,是通过大华10月份秋季招聘通过大华的面试. 浙江大华校招采用模式是先笔试.再 ...
- Java内部类的一些总结
作为刚入门Java的小白,这两天看到内部类,这里做一个总结,若有错误,欢迎指正~ 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. 内部类分为: 成员内部类.局部内部类.静态嵌套类. ...
- Java中String、StringBuffer、StringBuilder和toString的介绍
作为一个刚接触java的小白,觉得字符串是个比较大的知识点,所以我把自己整理的一点笔记写成随笔,与园友一起分享,也请园友多多指出意见. 一.String类 1.字符串长度——length() Stri ...
随机推荐
- NolanPro 详细部署教程
自己想办法去弄授权,只提供部署教程 服务器搭建教程 1 诺兰群里找 @NolanNarkbot 点击start 2 群里发送 /check@NolanNarkbot 再找 @NolanNarkbot ...
- docker - [08] Portainer可视化面板安装
Docker图形化界面管理工具 一.运行容器 同时下载和使用镜像运行容器 docker run -d -p 8088:9000 \ --restart=always -v /var/run/docke ...
- win11 输入法自定义短语输出日期时间变量
自定义短语中输入%yyyy%-%MM%-%dd% %HH%:%mm%:%ss%
- 「二」移动光标、vim进入与退出、文本编辑之删除、插入、添加、编辑、光标移动、撤销
移动光标 h:向左移动 j:向下移动 k:向上移动 l:向右移动 vim进入与退出 按鍵, 确保处于正常模式 輸入:q! <回车>(丢弃所做的任何改动) 文本编辑之删除 在正常模式下修改命 ...
- 【MATLAB习题】工程测试时域、频域分析
代码: classdef App_uoye < matlab.apps.AppBase % Properties that correspond to app components proper ...
- pycharm debug调试【Mute Breakpoints】【Run to Curson】按钮
1.Debug 调试时,红色妞变为灰色怎么办 Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序.再次点击,断点变为红色,有效.如果只想使某 ...
- ITIL4 变更管理核心流程笔记
- python xlrd xlwr函数 读取excel好文总结
https://www.cnblogs.com/python-robot/p/9958352.html 官网: http://www.python-excel.org/ 好文: https://www ...
- k8s dial tcp 127.0.0.1:6443: connect: connection refused排查流程及解决思路
前言 k8s 集群中,使用 kubelet 报错,如下: The connection to the server 127.0.0.1:6443 was refused - did you speci ...
- npm淘宝镜像证书过期
前言 使用 npm 报错: npm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate ha ...