**
移位运算
**
" >> ":右移运算符,将左操作数向右移动,移位个数由右操作数决定
" << ":左移运算符,将左操作数向左移动,移位个数由右操作数决定
" >>> ":无符号左移位运算符
a>>b通用公式: a/(2^b%32)
移位运算符性质
适用数据类型:byte、short、char、int、long,对低于int型的操作数将先自动转换为int型再移位
对于int型整数移位a>>b,系统先将b对32取模,得到的结果才是真正移位的位数
对于long型整数移位时a>>b ,则是先将移位位数b对64取模
例子如:
**
字符串连接
**
double x = 9.987;
double y = 1;
double t = x+y;
String s = "Price is:"+x;//3个字符串常量对象“price is”、”9.987”、“price is 9.987”
String st = "Total Price is:"+t;//3个字符串常量对象分别是 "Total Price is:"、
“10.987”、"Total Price is:10.987 "
System.out.println(s);
System.out.println(st);
System.out.println(""+x+y);//5个对象,分别是“”、”9.987”、“9.987”、”1.0”、 “9.9871.0”
System.out.println(x+y+"");//3个对象 分别是“10.987”、 “”、“10.987”
**
流程控制
**
顺序
分支语句
1.If,else
例:
if (i < 50){
System.out.println("* The input number is less than 50! *");}
else if(i==50){
System.out.println("* The Input number is equal to 50! *");}
else{
System.out.println("*The input number is greater than 50*");}
(谁成立就输出谁)
2.Switdh(里面不能为long,这里只能放byte,short,char,int类型)
例:
Switch(int)://不能是long
Case 1: break;
Case2: break;
Default .....
循环语句
Java中的循环语句:for、dowhile、while
while和do while区别:wihle是只要符合条件就执行,dowhile是至少执行一次,先执行一次在判断是否符合条件
Breake 和continue:breake是跳出本层循环,continue是跳出本次循环进行下一次循环
break语句和标签(label)的结合可以用来指定从多个嵌套循环的某个循环中跳出。
例子:
outer:
for(int i = 0;i<10;i++)
{
System.out.println("Outer loop:");
inner:
while(true)
{//从键盘缓冲区读取一个字符的ascii码
int k = System.in.read();
System.out.println("Inner Loop:"+k);
if(k=='b') break inner;//跳出inner所标记的循环
if(k=='q') break outer;//跳出outer标记的循环
}
}
**
注意:
**
·For:先判断,后执行
·While:先判断,后执行(for的简写)
·Dowhile:先执行,后判断(在循环条件一开始为真时,while和dowhile是一样的,若循环条件一开始为假,while一次都不执行,dowhile 会执行一次)
·Break:跳出当前循环
·Continue:循环不结束,只是跳出本次循环
·Break+标签label:跳出label所标识的那层循环,注意非正常出口