Thinking in Java 4th chap2笔记(三)
ublic static void main(Stringargs)
{
int i = 0;
//label
OUTER:
while(true)
{
System.out.println("outter while loop");
while(true)
{
i++;
System.out.println("i = " + i);
if(i == 1)
{
out.println("continue");
continue;
}
//TODO 带标签的continue回达到标签的位置,然后并重新进入紧接在那个标签后面的循环
if(i == 3)
{
out.println("continue outer");
continue OUTER;
}
if(i == 5)
{
out.println("break");
break;
}
//TODO 带标签的break会中断并跳出标签所指的循环
if(i == 7)
{
out.println("break outer");
break OUTER;
}
}
}
}
}
package com.book.chap2.operator;
/**
*
*移位
*
* 1.左移<<,按照操作符右侧指定的位数将操作符左侧的操作数向左移动,低位补0
* 2.“有符号”右移>>,按照操作符右侧指定的位数将操作符左侧的操作数向右移动;“有符号”操作符>>使用符号扩展:若符号为正,则在高位插入0;若符号为负,则在高位插入1
* 3."无符号"右移,
Java新增,它使用零扩展,无论正负,都在高位插入0
*
*
*@since JDK1.6
*@version 1.0 2012-3-21
*
*/
public class ShiftBit
{
public static void main(Stringargs)
{
int j = 2;
//正-左移
System.out.println("before shift:"+ j + " " + Integer.toBinaryString(j));
int shitfJ1 = j << 5;
System.out.println("after shift:"+ shitfJ1 + " " + Integer.toBinaryString(shitfJ1));
int k = -2;
//负-左移
System.out.println("before shift:"+ k + " " + Integer.toBinaryString(k));
int shitfk1 = k << 5;
System.out.println("after shift:"+ shitfk1 + " " + Integer.toBinaryString(shitfk1));
int i = 128;
//正-右移
System.out.println("before shift:"+ i + " " + Integer.toBinaryString(i));
int shitfI1 = i >> 5;
System.out.println("after shift:"+ shitfI1 + " " + Integer.toBinaryString(shitfI1));
//负-右移,符号为负,右移的时候,高位插入1
int m = -128;
System.out.println("before shift:"+ m + " " + Integer.toBinaryString(m));
int shitfm1 = m >> 5;
System.out.println("after shift:"+ shitfm1 + " " + Integer.toBinaryString(shitfm1));
int n = 128;
//正-无符号右移,无论正负,高位均插入0
System.out.println("before shift:"+ n + " " + Integer.toBinaryString(n));
int shitn1 = n >>> 5;
System.out.println("after shift:"+ shitn1 + " " + Integer.toBinaryString(shitn1));
//负-无符号右移,无论正负,高位均插入0-->这样一个负数就变成了正数
int o = -128;
System.out.println("before shift:"+ o + " " + Integer.toBinaryString(o));
int shitfo1 = o >>> 5;
System.out.println("after shift:"+ shitfo1 + " " + Integer.toBinaryString(shitfo1));
}
}