invader的java学习第五天基础篇(持续更新中…)

一、位运算符

  • ^、&、|、~、>>、<<、>>>,位运算符就是基于二进制直接进行运算(0为false,1为true)
①两个相同的数字进行^(异或)运算时,其结果一定为0(可以用同性相斥、异性相吸助记)
②0和任何数进行^运算,其结果就是该数字
③两个变量在互相^三次后,两个变量的值可以交换,如下代码:(结果输出应为num1=20;num2=10)
int num1=10;
int num2=20;
num1=num1^num2;
num2=num1^num2;
num1=num1^num2;
System.out.println("num1="+num1+"num2="+num2);

tip:在逻辑运算符中只能接boolean类型的值(true或false),在位运算符中的是接数的,其实意思一样只是体现方式不一样

  • 按位左移(<<)(转换成二进制运算,左移相当于左边抹去三个0再把后面缺的位数用0补充,不管是正数还是负数,都用0补充)
System.out.println(2<<3);//输出结果是16;运算规律:2*2^3=16
System.out.println(-2<<3);//输出结果是-16;同上但它是负数
注意:当一个数字左移N位,而且N超过了数字类型的取值范围,相当于左移 num<<(N%32)
  • 按位右移(>>)(和左移原理差不多,但它是用符号位补位,也就是正数就用0补,负数就用1补)

    System.out.println(8>>2);//输出结果是2;运算规律:8/2^2(相当于*2^-2)=2
    System.out.println(-8>>2);//输出结果是-2;同上但它是负数
    
  • 无符号按位右移(>>>)(一律用0填补)

    ①当一个正数进行无符号右移操作时和右移操作的结果是一样的

    ②当一个负数进行无符号右移操作时得出的结果一定是一个正数

二、条件运算符(?: 用法:表达式①?“表达式②”:“表达式③”)

☆表达式①的值一定是boolean类型;用法:当表达式①结果为true时,该式结果为表达式②,相反为false则为表达式③
☆条件运算符是java中唯一的三目运算符,可以连接三个操作数
import java.util.Scanner;
public class FinalVarTest{public static void main(String[] args) {Scanner input=new Scanner(System.in);System.out.println("==请输入用户名===");int uname = input.nextInt();int regUname = 123;String msg = uname==regUname?"恭喜登录成功":"用户名或者密码错误";System.out.println(msg);//最后两步可以直接改成一步:System.out.println(uname==regUname?"恭喜登录成功":"用户名或者密码错误");}
}
注意:条件运算符最后一定有个结果,该结果要么要用一个变量来存然后输出该变量,要么直接输出,否则会报错
另:条件运算符在一定程度上帮助解决流程控制的问题,可以代替一部分if语句

三、运算符优先级

①有括号的,括号是老大(最主要的)
②单目运算符>双目>三目(++、–比+、-优先)

四、流程控制结构

在编程语言中,程序在运行期间可以用如下流程进行控制:

invader的java学习第五天基础篇相关推荐

  1. invader的java学习第三天基础篇

    invader的java学习第三天基础篇 一.整数的取值范围表 类型名称 数据类型 所占空间 表数范围 字节型 byte 1字节 -128-127 短整型 short 2字节 +-3w(-2^15-2 ...

  2. invader的java学习第四天基础篇

    invader的java学习第四天基础篇(持续更新中-) 一.类型转换 自动转换(数值之间在进行四则运算时,数据类型会自动向大类型靠拢) byte num=10; short a=num; Syste ...

  3. 【Java学习笔记】【基础篇】07.JavaDoc以及两种使用方式

    JavaDoc 1.介绍 JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了. JavaDoc是Sun公司提供的一个技术,它从程序源代码中抽取类 ...

  4. invader的java学习第一天基础篇

    invader的java学习第一天基础篇 一.java主要历史 ①java是Sun公司的产品,09年被Oracle公司收购. ②java语言之父:詹姆士高斯林 二.jdk.jre.jvm三者关系 jd ...

  5. invader的java学习第二天基础篇

    invader的java学习第二天基础篇 一.深入了解第一个Hello World程序 public class Hello World{ public static void main(String ...

  6. Java学习笔记(五):一张图总结完JVM8基础概念

    Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...

  7. java学习笔记:零基础java学习路线+配套资料+书籍推荐

    公众号菜鸟名企梦2018年,精品文章汇总: 01 我的秋招 我的秋招offer 我的offer选择 秋招全面总结-必读宝典 求职必读 02 零基础学习路线 零基础-java学习路线(上) 零基础-ja ...

  8. JAVA学习笔记五---函数

    JAVA学习笔记五---函数 5.1 方法的学习 编写一个程序,求圆的周长和面积. package practice; /*** 编写一个程序,求圆的周长和面积.* @author iszhangyo ...

  9. Java学习记录五(多线程、网络编程、Lambda表达式和接口组成更新)

    Java学习记录五(多线程.网络编程.Lambda表达式和接口组成更新) Java 25.多线程 25.1实现多线程 25.1.1进程 25.1.2线程 25.1.3多线程的实现 25.1.4设置和获 ...

最新文章

  1. (转载)从无知到有知
  2. GetLastError编号解释
  3. Please use new-style autograd function with static forward method
  4. sql 发送邮件网络附件_利用VBA发送附件电子邮件
  5. fopen、_wfopen临时
  6. html页面取js里面的值,如何在javascript中获取HTML元素的样式值?
  7. 定义动画名字html,CSS3 animation-name属性怎么用?
  8. KeyShot 10最新版发布 支持big sur KeyShot 10 Pro for Mac新功能
  9. 智能实验室服务器,阿里巴巴机器智能实验室线下智能团队三年工作总结
  10. 深入Redis持久化
  11. 优化算法——差分进化算法(DE)
  12. 什么是存储过程?有什么优点?
  13. 【银河麒麟V10】【桌面】火狐浏览器设置主页不生效
  14. 2014年大数据解决方案提供商面临三大挑战
  15. AI智能润色改写,伪原创写作工具,毕业论文必备工具
  16. html 3d坐标,CSS3三维变形,transform,3D,视角知识
  17. BSN-DDC基础网络的DID功能设计
  18. csv和json文件
  19. CentOS7 DNS 设置
  20. 《深入理解计算机系统》读书笔记

热门文章

  1. win10系统让任务栏变透明的方法
  2. 机器学习中原始数据处理的常用数据变换方法整理汇总
  3. 四级真题图表作文计算机,2017年12月英语四级作文框架:图表作文
  4. Linux的一些命令行总结(1)
  5. Notepad++下载及中文转换
  6. 爬取新浪微博数据+新浪微博模拟登录+mysql+python
  7. 要实践不要忽悠的“云计算应用创新推进大会”
  8. 【渝粤教育】国家开放大学2018年春季 0691-21T物理化学及实验 参考试题
  9. TikTok投4.2亿欧元在爱尔兰开建首个欧洲数据中心,海外总部也设于英国伦敦
  10. 'Microsoft.DataTransformationServices.Wizards' error in VS 2017