`

Java使用位移运算记录多状态

 
阅读更多
	@Test
	public void 状态位 (){
		int 数学 = 1;
		int 语文 = 1<<1;
		int 化学 = 1<<2;
		int 物理 = 1<<3;
		int 所有科目 = 数学+语文+化学+物理;
		
		int 小明的科目 = 数学+物理;
		
		//判断小明所选科目
		if ((小明的科目&数学) == 数学){
			System.out.println("小明选择了数学");
		}
		if ((小明的科目&语文) == 语文){
			System.out.println("小明选择了语文");
		}
		if ((小明的科目&化学) == 化学){
			System.out.println("小明选择了化学");
		}
		if ((小明的科目&物理) == 物理){
			System.out.println("小明选择了物理");
		}
	}

 

分享到:
评论

相关推荐

    JAVA加密MD5源代码

    这些变换包括逻辑运算、位移等,并且会利用到不同的辅助函数来增强安全性。具体来说,MD5算法主要包含以下几个步骤: 1. **初始化**:设置四个用于保存中间结果的变量A、B、C、D。 2. **填充**:将原始数据填充至...

    基于智能图像识别算法的三维膨胀指示器位移在线监测系统技术探究.docx

    本项目旨在解决火电厂锅炉汽机膨胀指示器多采用人工抄表记录的问题,提出了采用一台监控摄像机进行视频采集,利用智能图像识别算法分析视频数据获得锅炉膨胀三维位移数据的方案。 智能图像识别算法是人工智能的重要...

    好玩的java 程序

    ### 好玩的Java程序:理解JavaScript动画脚本 #### 概述 本文将详细介绍一个有趣的JavaScript程序,该程序可以在浏览器地址栏直接运行,并产生动态的视觉效果。通过解析这个脚本,我们将深入理解其背后的原理和...

    深入浅出ReentrantReadWriteLock源码解析.docx

    通过位运算来判断和更新读写锁的状态: - `SHARED_SHIFT`:读锁状态的位移量。 - `SHARED_UNIT`:读锁的基本单位,用于加减读锁计数。 - `MAX_COUNT`:读锁的最大值,超过这个值意味着读锁计数溢出。 - `EXCLUSIVE_...

    2021-2022计算机二级等级考试试题及答案No.18661.docx

    15. 位移运算:在C语言中,a&gt;&gt;1表示将变量a的值右移一位,等同于a除以2,所以当a=6时,a&gt;&gt;1的结果是3。 16. CSS样式:CSS样式主要由选择器(Selector)和声明(Declaration)组成,声明又包含字段(Property)和值...

    java代码-任意给出一个十进制整数,将十进制整数转换为二进制数。

    而二进制则是一种只有两个符号(0和1)的数制,它是计算机内部运算的基础,因为计算机电路通常只有开和关两种状态。 转换方法有两种主要策略:除2取余法和位移法。 1. **除2取余法**: 这是最直观的方法,通过...

    2009年9月全国计算机等级考试二级笔试试卷[含参考答案

    15. **位运算**:位移运算符如`&gt;&gt;`、`&gt;&gt;&gt;`、`用于进行二进制位的操作,例如`8&gt;&gt;1`相当于`8/2`,结果为4;`4&gt;&gt;&gt;2`为无符号右移,结果也为1。 16. **无限循环**:`for(;;){}`是典型的无限循环结构,没有退出条件,会...

    2021-2022计算机二级等级考试试题及答案No.4144.docx

    10. 位移运算: - 右移运算符`&gt;&gt;`将一个整数的二进制位向右移动指定的位数。对于正数,右移一位相当于除以2,因此a&gt;&gt;1等于a/2,初始值为6的a右移一位后为3,所以答案是B。 11. 鼠标事件处理: - MouseListener...

    2021-2022计算机二级等级考试试题及答案No.13058.docx

    - **知识点**:死锁是指两个或多个进程互相等待对方释放资源而无限期地处于等待状态的现象。 - **详细解释**:题目中的代码片段展示了一个简单的递归函数,通过使用`lock`关键字确保线程安全。由于`int`类型是按值...

    2021-2022计算机二级等级考试试题及答案No.17127.docx

    位移运算 - 表达式`a &gt;&gt; 1`表示将`a`的二进制表示向右移动一位,相当于将`a`除以2。因此,对于`int a = 6;`,其值为3。 #### 22. 循环语句执行次数 - 循环语句执行的次数取决于循环条件的设置。对于标准的for...

    JogoDaVelha:在不使用if的情况下建立井字游戏

    7. **测试与调试**:编写单元测试确保所有功能正确工作,使用断言或日志记录来帮助调试。 8. **代码组织**:遵循良好的编程习惯,如单一职责原则,使代码易于理解和维护。 这个项目对于学习Java编程和理解如何在...

    J2ME考试复习试题

    - 64除以4的最快运算方法通常是使用位移操作,即`64 &gt;&gt; 2`。 - `==`与`equals()`的区别在于,前者比较的是两个对象的引用是否相同,后者比较的是两个对象的内容是否相等。 - 实现`CommandListener`接口需要实现`...

    大学生周记10.docx

    - **位运算基础知识**:文档详细解释了位运算中的左移操作,并通过实例展示了如何将十进制数转换为二进制数再进行位移操作。这一过程涉及二进制与十进制之间的转换,以及位运算的基本原理。 - **补码的概念**:文档...

    2021-2022计算机二级等级考试试题及答案No.10142.docx

    - **复合运算**:可以包含多个数学运算、函数调用等。 ### 19. 数据结构 **知识点**:线性结构与非线性结构的区别。 - **线性链表**:是一种线性表的链式存储结构。 ### 20. 查找函数 **知识点**:查找函数的...

    2021-2022计算机二级等级考试试题及答案No.18424.docx

    24. 文件读取:在Java中,使用`BufferedReader`类读取文本文件时,需要指定文件路径。例如,`new BufferedReader(new FileReader("c:\\my\\1.txt"))`。 以上是部分计算机二级等级考试题目的解析,涵盖了数据库管理...

    2021-2022计算机二级等级考试试题及答案No.11212.docx

    24. GROUP BY语句用于对SQL查询结果进行分组,配合聚合函数使用,WHERE子句用于筛选记录,不应在GROUP BY之后直接使用非聚合函数。 25. 微机中的西文字符编码通常采用ASCII码,它是最早的广泛使用的字符编码标准。 ...

    ru.dk.MGP:材料重力粒子

    为了分析和验证模拟结果,系统可能具备记录粒子状态并在后续时间回放的功能。这可以通过保存和加载粒子的位置、速度等信息来实现。 9. **教育与研究应用**: ru.dk.MGP项目不仅可用于科研,也适用于教育场景。它...

    fastser-util:常用工具类

    在Java编程中,工具类(Utility Class)通常包含一组静态方法,这些方法执行特定的功能,但不维护任何状态或实例变量。它们是不可实例化的,以防止在不适当的情况下创建对象。例如,`java.util.Arrays`和`java.util....

    2021-2022计算机二级等级考试试题及答案No.170.docx

    10. **位运算**:左移运算符(`)将操作数的每一位向左移动指定的位数,相当于乘以2的位移次数幂,所以左移两位相当于乘以4。 11. **窗口移动**:描述是正确的,但这里属于基础的Windows操作系统知识,而非特定的编程...

    汇编语言复习提纲

    标志寄存器包含多种标志位,用于记录运算结果的状态信息: - **CF (Carry Flag)**:进位标志,用于表示算术运算时是否有进位。 - **ZF (Zero Flag)**:零标志,用于表示运算结果是否为零。 - **SF (Sign Flag)**:...

Global site tag (gtag.js) - Google Analytics