`

<转>利用位操作来进行状态操作

    博客分类:
  • JAVA
阅读更多
print?<SPAN style="BACKGROUND-COLOR: rgb(255,255,255); FONT-FAMILY: Arial, Helvetica, sans-serif; WHITE-SPACE: normal">以前经常看到关于位操作的代码嫌麻烦就掠过去不看,最近又看到了一段代码里面有关于位操作的,于是静下心来仔细看看,发现位操作不难掌握,而且感觉利用位操作控制食物的状态非常地好用。</SPAN>

以前经常看到关于位操作的代码嫌麻烦就掠过去不看,最近又看到了一段代码里面有关于位操作的,于是静下心来仔细看看,发现位操作不难掌握,而且感觉利用位操作控制食物的状态非常地好用。定义的状态都必须是0和2的幂方数,比如0,1,2,4,8,因为它们的二进制表示是0000,0001,0010,0100,1000,进行位操作时可以控制各个状态。下面举一个例子简单说明一下:

首先定义一些整型常量:




private static final int STATE_NONE = 0;
    private static final int STATE_REFRESHING = 1;      // 刷新中 
    private static final int STATE_LOADING_MORE = 2;    // 加载更多中 
    private static final int STATE_DRAGING = 4;         // 拖动中 
    private static final int STATE_MOTION_DOWN = 8;     // 按下


然后定义一个整型变量:



private int state = STATE_NONE;
通过对state进行操作来对状态进行操作。

比如


state &= ~STATE_REFRESHING;//状态中去掉STATE_REFRESHING状态 
state & STATE_MOTION_DOWN) == STATE_MOTION_DOWN;//判断当前状态有没有包含STATE_MOTION_DOWN状态 
state |= STATE_REFRESHING;//状态中添加 STATE_REFRESHING状态
分享到:
评论

相关推荐

    C#编程经验技巧宝典

    58&lt;br&gt;&lt;br&gt;0081 文本中首字母改为大写 59&lt;br&gt;&lt;br&gt;0082 C#随机数的产生 59&lt;br&gt;&lt;br&gt;0083 身份证从15位升至18位算法 60&lt;br&gt;&lt;br&gt;0084 十进制数转二进制数的算法 60&lt;br&gt;&lt;br&gt;0085 十进制数转八进制数的算法 61...

    C#.net_经典编程例子400个

    5&lt;br&gt;实例006 菜级联菜单 7&lt;br&gt;1.2 工具栏设计 7&lt;br&gt;实例007 带背景的工具栏 7&lt;br&gt;实例008 浮动工具栏 8&lt;br&gt;实例009 带下拉菜单的工具栏 9&lt;br&gt;实例010 具有提示功能的工具栏 9&lt;br&gt;1.3 状态栏设计 10...

    Delphi7 编程 100 实例

    ToolBar工具栏控件的使用&lt;br&gt;动态建立主菜单选项&lt;br&gt;窗口界面的动态分隔...位真彩转换到256色&lt;br&gt;调整图片的RGB对比度&lt;br&gt;实现图像的灰度级处理效果&lt;br&gt;3种像素历遍方法的比较和实现&lt;br&gt;实现屏幕拷贝&lt;br&gt;实现图像漫游...

    MYSQL培训经典教程(共两部分) 1/2

    MYSQL高级特性 81&lt;br&gt;4.1 集合函数 82&lt;br&gt;4.1.1 行列计数 82&lt;br&gt;4.1.2统计字段值的数目 82&lt;br&gt;4.1.3 计算字段的平均值 83&lt;br&gt;4.1.4 计算字段值的和 84&lt;br&gt;4.1.5 计算字段值的极值 84&lt;br&gt;4.1.6 总结 86&lt;br&gt;4.2 操作...

    MYSQL培训经典教程(共两部分) 2/2

    MYSQL高级特性 81&lt;br&gt;4.1 集合函数 82&lt;br&gt;4.1.1 行列计数 82&lt;br&gt;4.1.2统计字段值的数目 82&lt;br&gt;4.1.3 计算字段的平均值 83&lt;br&gt;4.1.4 计算字段值的和 84&lt;br&gt;4.1.5 计算字段值的极值 84&lt;br&gt;4.1.6 总结 86&lt;br&gt;4.2 操作...

    VB编程资源大全(源码 网络)

    i037_source.zip&lt;br&gt;一个邮件检测程序(6KB)&lt;br&gt;98,i036_liuliang.zip&lt;br&gt;INTETNET 流量管理系统 (303KB)&lt;br&gt;99,i035_fee.zip&lt;br&gt;东莞的一位网友编写的一个网络计费,需要您对它进行完善(76KB)&lt;br&gt;100,i034_0048831....

    Visual C++ 编程资源大全(源码 系统)

    COOL(29KB)&lt;END&gt;&lt;br&gt;33,FontsTest.zip&lt;br&gt;列举系统中的所有字体(41KB)&lt;END&gt;&lt;br&gt;34,memmap.zip&lt;br&gt;操作内存映像文件,提供的CMemMapFile功能强大(16KB)&lt;END&gt;&lt;br&gt;35,cfile64.zip&lt;br&gt;支持Win32 64位文件系统的一个类(15...

    VB编程资源大全(源码 控制)

    custmnu2.zip &lt;br&gt;又一个菜单的例子(5KB)&lt;br&gt;92,collSRC.zip &lt;br&gt;程序收集1.0版 (214KB)&lt;br&gt;93,countdown.zip &lt;br&gt;一个倒计时的程序(10KB)&lt;br&gt;94,00951404.zip &lt;br&gt;利用热键操作实现一键通(55KB)&lt;br&gt;95,system_v.zip...

    VB编程资源大全(控件 其它2)

    1,initoolseup.EXE &lt;br&gt;读写 INI 文件的控件(258KB) &lt;br&gt;2,djchart.ZIP&lt;br&gt;djchart(57KB)&lt;br&gt;3,indicator.ZIP&lt;br&gt;数据棒图控件(200KB)&lt;br&gt;4,xjtpripr.ZIP &lt;br&gt;打印预览控件(257KB) &lt;br&gt;5,trend.ZIP&lt;br&gt;趋势控件可...

    玩转校内&时间观念

    &lt;br&gt; 11、[Ver 1.1.0.3]&lt;br&gt;&lt;br&gt;玩转校内Ver 1.8.0.1&lt;br&gt; 1、功能完善中……&lt;br&gt; 2、这个版本对[Ver 1.0.0.0]版本代码进行了优化,加入部分注释说明,为后续查错纠错工作做好标记。&lt;br&gt; 3、开发时间为:2007年8月1日...

    玩转校内&时间观念(终结版Ⅱ)

    &lt;br&gt;11、[Ver 1.1.0.3]&lt;br&gt;&lt;br&gt;玩转校内Ver 1.8.0.1&lt;br&gt;1、功能完善中……&lt;br&gt;2、这个版本对[Ver 1.0.0.0]版本代码进行了优化,加入部分注释说明,为后续查错纠错工作做好标记。&lt;br&gt;3、开发时间为:2007年8月1日-...

    玩转校内[精简免安装版] Ver 2.4.27.95

    &lt;br&gt; 11、[Ver 1.1.0.3]&lt;br&gt;&lt;br&gt;玩转校内Ver 1.8.0.1&lt;br&gt; 1、功能完善中……&lt;br&gt; 2、这个版本对[Ver 1.0.0.0]版本代码进行了优化,加入部分注释说明,为后续查错纠错工作做好标记。&lt;br&gt; 3、开发时间为:2007年8月1日...

    delphi7编程百例

    &lt;br/&gt;ToolBar工具栏控件的使用&lt;br/&gt;动态建立主菜单选项&lt;br/&gt;窗口界面的...位真彩转换到256色&lt;br/&gt;调整图片的RGB对比度&lt;br/&gt;实现图像的灰度级处理效果&lt;br/&gt;3种像素历遍方法的比较和实现&lt;br/&gt;实现屏幕拷贝&lt;br/&gt;实现图像...

    94KKBBS v1.19 简体中文版

    论坛的安装步骤&lt;br&gt; &lt;br&gt; 将论坛代码压缩包解开包,保持文件的相对位置,将解压后得到的全部目录、文件包括所有空目录上传到你的服务器上,论坛基本上就可以使用了,您可以进入后台管理设置一些参数。&lt;br&gt; 默认的...

    计算机应用基础PPT-WORD2010-基本操作.pptx

    新键盘快捷方式 在功能区中按&lt;Alt&gt;键显示各选项卡的快捷键提示 按&lt;Esc&gt;键可退出快捷键提示状态,或从组快捷状态退回选项卡快捷状态 早期版本中按&lt;Ctrl&gt;+字母的快捷和按&lt;Alt&gt;+字母的快捷方式仍可使用 帮助 单击 按钮...

    海康视频卡动态库

    /// &lt;summary&gt; /// 板卡类型 /// &lt;/summary&gt; public enum BOARD_TYPE_DS : uint { DS400XM = 0, //M卡 DS400XH = 1, //H卡 DS4004HC = 2, //4004HC DS4008HC = 3, //4008HC DS4016HC = 4, //4016HC DS...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:&lt;#if (x&gt;y)&gt; ...

    js使用小技巧

    &lt;a href="javascript:function()"&gt;word&lt;/a&gt; 上一网页源 asp: request.servervariables("HTTP_REFERER") javascript: document.referrer 释放内存 CollectGarbage(); 禁止右键 document.oncontextmenu = ...

    Advanced Bash-Scripting Guide <>

    Checking a remote server for identd&lt;rojy bug&gt; 13-6. pidof 帮助杀掉一个进程 13-7. 检查一个CD 镜像 13-8. 在一个文件中创建文件系统 13-9. 添加一个新的硬盘驱动器 13-10. 使用umask 来将输出文件隐藏起来 13-...

Global site tag (gtag.js) - Google Analytics