文档章节

Java基础

凯哥学堂
 凯哥学堂
发布于 2017/07/15 21:40
字数 521
阅读 10
收藏 0
点赞 0
评论 0

一、位运算符

位运算符就是把数值的二进制里面的位上面的0和1来比较或运算。0为false,1为true。

&(与) |(或) ~(非) ^(异或) <<(向左位移) >>(向右位移) >>>(无条件向右位移)

&(与) 两边位数都为1(true)则给1(true),不用则给0(false) 例如:56&98

56 0111000 & 98 1100010

结果 0100000

|(或) 两边有一边为1(true)就给1(true),否则给0(false) 例如56|98

56 0111000 | 98 1100010

结果 1111010

~是取反的意思,在二进制里每一位都取反值:

例如98的二进制为:

00000000000000000000000001100010

每个位上取反值:

11111111111111111111111110011101

System.out.println(~98);

结果为:-99

^异或就是不等于的意思,判断两个数值在位上不相同则给1,相同给0.

例如:98^56

98 1100010

^

56 0111000

结果1011010

<<(向左位移)数值的二进制高位删除,低位补零.结果和乘法相似。 例如:98<<4

00000000000000000000000001100010

高位删除四个 地位添加4个零

00000000000000000000011000100000

(>>)(向右位移)高位如果是1 就补1 高位如果是0 就补0低位删除。

例如:98>>4

00000000000000000000000001100010

因为高位是0 所以高位加的就是0

00000000000000000000000000000110

例如:-98>>4

11111111111111111111111110011110

因为高位是1 所以高位加的就是1

11111111111111111111111111111001

(>>>)(无条件向右位移)不管高位上是0还是1,高位只加0低位删除。

-98>>>4

11111111111111111111111110011110

高位上只加零

00001111111111111111111111111001

位运算符的用处:

1.用于加密

2.用于不可解密的加密

3.减少储存空间等

2.运算符的优先级 ()

! ++ --

  • / %
  •  
    •  
  •  

<< >> >>>

< <= >= >

== !=

^

|

&&

||

+= -= *= /= %= =

优先级排序从上到下。

二、条件分支语句

1.三元运算符:

条件?值:值

image

2.if else 语句 image

例如1

if(条件){

结果为true,运行

}else

{

结果为false,运行

}

例如2

if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}

附加知识点:在控制台输入数值给到指定的变量。

image

还可以这样写:

Import java.util.Scanner;
//省略
Scanner input=new Scanner(System.in);
//省略
Int shu=input.nextInt();

© 著作权归作者所有

共有 人打赏支持
凯哥学堂
粉丝 10
博文 287
码字总数 257252
作品 0
东城
程序员

暂无相关文章

Spring表达式语言(SpEL)

1、SpEL引用 Spring EL在bean创建时执行其中的表达式。此外,所有的Spring表达式都可以通过XML或注解的方式实现。下面将使用Spring表达式语言(SpEL),注入字符串,整数,Bean到属性。 SpEL的...

霍淇滨 ⋅ 15分钟前 ⋅ 0

Gradle使用阿里云镜像

gradle 生命周期中有一个初始化( Initialization )的过程,这个过程运行在 build script 之前,我们可以在这个地方做一点系统全局的设置,如配置仓库地址。 你可以在以下几个位置实现仓库地址...

明MikeWoo ⋅ 23分钟前 ⋅ 0

appium+python3.6

1.安装jdk1.8(不知道为啥只识别1.8,1.10不识别,所以为了少折腾,迁就安装1.8) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 配置 JAVA_HOME:...

Kampfer ⋅ 41分钟前 ⋅ 0

详解Apache 日志分割教程

一、日志切割 安装cronolog CentOS 5.3中编译安装Apache日志默认是不切割的,需要用用工具Cronnolog进行日志切割。 1.下载及安装 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz ...

dragon_tech ⋅ 44分钟前 ⋅ 0

Keepalived介绍

负载均衡器(Load Balancer, LB )是一组能够将IP数据流以负载均衡形式转发到多台物理服务器的集成软件。有硬件负载均衡器和软件负载均衡器之分,硬件负载均衡器主要是在访问网络和服务器之间...

寰宇01 ⋅ 44分钟前 ⋅ 0

java8-Collections and Streams

stream和集合的区别是什么? 1.在计算的时候处理不同, 2.every element should be computed in the memory and then to be part of collections stream Stream apis filter with a predica......

writeademo ⋅ 49分钟前 ⋅ 0

Confluence 6 重新获得附件指南

每一个文件在恢复上传到 Confluence 的时候必须单独重命名,你可以通过下面说明的 3 个方法中选择一个进行操作: 选择 A - 通过文件名恢复附件 如果你知道你需要恢复的每一个文件名,尤其是你...

honeymose ⋅ 今天 ⋅ 0

【每天一个JQuery特效】根据状态确定是否滑入或滑出被选元素

主要效果: 本文主要采用slideToggle()方法实现以一行代码同时实现以展开或收缩的方式显示或隐藏被选元素。 主要代码如下: <!DOCTYPE html><html><head><meta charset="UTF-8">...

Rhymo-Wu ⋅ 今天 ⋅ 0

度量.net framework 迁移到.net core的工作量

把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾...

李朝强 ⋅ 今天 ⋅ 0

请不要在“微服务”的狂热中迷失自我!

微服务在过去几年一直是一个非常热门的话题(附录1)。何为“微服务的疯狂”,举个例子: 众所周知,Netflix在DevOps上的表现非常棒。Netfix可以做微服务。因此:如果我做微服务,我也将非常...

harries ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部