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 ...
随机推荐
- Flink学习(十五) 滑动事件时间窗口加上水位线开始窗口时间如何确定?(底层源码)
先看上一节的代码程序 package com.wyh.windowsApi import org.apache.flink.streaming.api.TimeCharacteristic impor ...
- DeepSeek满血版测试
技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ...
- Vulnhub-Zico2靶机-漏扫弱口令数据库+文件包含反弹shell+zip,tar提权
一.靶机搭建 选择扫描虚拟机 选择路径即可 二.信息收集 官方信息 先看一下官网的信息 级别:中级 目标:获取root并读取标志文件 说明: Zico正试图建立自己的网站,但在选择使用什么CMS时遇到 ...
- ubuntu apt 安装报错:Media change: please insert the disc labeled 'Ubuntu 20.04.5 LTS Focal Fossa - Release amd64 (20220831)' in the drive '/cdrom/' and press [Enter]
前言 如果你在 Ubuntu 上使用 apt 安装软件包时遇到 "Media change: please insert the disc labeled ..." 的错误消息,这 ...
- Laravel admin 用户头像显示不出的原因及解决方法
已经使用命令 php artisan storage:link 创建过软链接了,头像仍然不显示. 发现链接显示的是 http://localhost/storage/images/b6f0ad07b9 ...
- SpringBoot应用调用Linkis进行任务调度执行SQl;进行数据质量分析
基于Linkis的Rest-API调用任务 官网示例:"https://linkis.apache.org/zh-CN/docs/1.3.2/api/linkis-task-operator ...
- Delphi 模糊查询和字段查询
procedure TFrmain.scGPEdit1Change(Sender: TObject); var ASql, AKey: string; //模糊查询和字段查询 const vsql1: ...
- 【Markdown】简明语法手册
Cmd Markdown 简明语法手册 标签: Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体. 示例: 这是 *斜体*,这是 **粗体** 这是 斜体,这是 粗体. ...
- Superfetch/SysMain
卡的不要不要的 Windows 服务中有一个叫 Superfetch. 现在换了个马甲叫 SysMain 本意是好的,超级预读功能可以帮助大型软件极大提升启动加载时间,但是经常抽风至少我觉得 导致磁盘 ...
- Windows 系统授权服务信息
cmd 中输入命令 slmgr.vbs /dlv 后查看输出信息 据说,OEM和RETAIL可以正常升级到Windows10,并永久激活