首页 文章 精选 留言 我的

精选列表

搜索[特殊字符],共10011篇文章
优秀的个人博客,低调大师

Java特殊符号>>,<<,>>>

Java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 >>> : 无符号右移,忽略符号位,空位都以0补齐 image.png 前面两个<<,>>容易理解一些,一般我们都可以直接得出结果,最后一个忽略符号位是什么意思呢? 最大的正整数 我们知道Java中Interger占用4个字节,其中最高位为符号位: 所以Integer能表示的最大正整数为: 2^31 - 1 = 0111 1111 1111 1111 1111 1111 1111 1111 2^31 = 2147483648 = 1000 0000 0000 0000 0000 0000 0000 0000 所以最大的正整数为: 2147483647 最小的负数 Java中的负数是用补码来表示的。 补码 = 负数的反码 + 1 负数: -1 1000 0000 0000 0000 0000 0000 0000 0001 反码: 1111 1111 1111 1111 1111 1111 1111 1110 补码: 1111 1111 1111 1111 1111 1111 1111 1111 负数:-0 (计算机中只有 +0 而不存在 -0的说法,因为-0是完全没有意义的存在) 1000 0000 0000 0000 0000 0000 0000 0000 反码: 1111 1111 1111 1111 1111 1111 1111 1111 补码: 1000 0000 0000 0000 0000 0000 0000 0000 其真实身份为:-2147483648 正0表示为:0000 0000 0000 0000 0000 0000 0000 0000 >>>的意思 知道了Interger在Java中的表示方法,我们就可以理解>>>的意思了。 因为正数的符号位为0,所以正数的 >>> 等同于 >> 负数的符号位为1,右移之后会有变化: 如: -10: Java中-10表示为: 11111111111111111111111111110110 -10 >> 2为,带符号右移: 11111111111111111111111111111101 = -3 -10 >>> 2为,无符号右移: 00111111111111111111111111111101 = 1073741821 额外: -10 << 2, 11111111111111111111111111011000 = -40 最后 有些新手在对<<,>>,>>>的意思,一只半解,这里讲解一下。

优秀的个人博客,低调大师

android 动态渐变 字符效果

public class GradientView extends View { private String TAG = " GradientView " ; private Handler mTimeTickHandler; private int mIndex = 190 ; private Shader mShader; private Bitmap mBitmapBg; private Bitmap mBitmapWord; private int mMinWidth = 190 ; private int mMaxWidth ; private int mUpdateStep = 20 ; private Paint mPaint = new Paint(); public GradientView(Context context) { super (context); } public GradientView(Context context, AttributeSet attrs) { super (context, attrs); mTimeTickHandler = new Handler(); setFocusable( true ); InputStream is = context.getResources().openRawResource(R.drawable.sliding_channel_background); mBitmapBg = BitmapFactory.decodeStream(is); mMaxWidth = mBitmapBg.getWidth(); mBitmapWord = Bitmap.createBitmap(mBitmapBg.getWidth(), mBitmapBg.getHeight(), Bitmap.Config.ALPHA_8); drawIntoBitmap(mBitmapWord, context); mTimeTickHandler.post(mTimeTickRunnable); } private void drawIntoBitmap(Bitmap bm, Context context) { float x = bm.getWidth(); float y = bm.getHeight(); Canvas c = new Canvas(bm); Paint p = new Paint(); p.setAntiAlias( true ); p.setColor(Color.WHITE); p.setTextSize( 45 ); p.setTextAlign(Paint.Align.CENTER); c.drawText(context.getResources().getString(R.string.slide_unlock), x / 2 + 10 , y / 2 , p); } @Override protected void onDraw(Canvas canvas) { // canvas.drawBitmap(mBitmapBg, 0, 0, p); mPaint.setShader(mShader); canvas.drawBitmap(mBitmapWord, 50 , 13 , mPaint); } public void removeHandlerGradient(){ mTimeTickHandler.removeCallbacks(mTimeTickRunnable); } private Runnable mTimeTickRunnable = new Runnable(){ public void run() { mIndex += mUpdateStep; if (mIndex >= mMaxWidth){ mIndex = mMinWidth; } mShader = new LinearGradient( 0 , 150 , mIndex, 150 , new int [] { Color.GRAY,Color.GRAY,Color.GRAY, Color.GRAY, Color.WHITE }, null , Shader.TileMode.MIRROR); postInvalidate(); mTimeTickHandler.postDelayed(mTimeTickRunnable, 100 ); } }; } 本文转自wanqi博客园博客,原文链接: http://www.cnblogs.com/wanqieddy/archive/2011/07/11/2103301.html 如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册