當(dāng)然實(shí)現(xiàn)的方法是比較多的,這里給出一種:
成都創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國電信/網(wǎng)通/移動(dòng)機(jī)房,綿陽電信機(jī)房服務(wù)有保障!
//arr循環(huán)左移times次
function shiftArr(arr, times){
times = times%(arr.length);//考慮times大于等于length的情況
return arr.slice(times).concat(arr.slice(0, times));
//取出兩個(gè)子數(shù)組然后連接
}
其他的思路有刪除arr前若干個(gè)元素并添加到其末尾等(參考Array對(duì)象的方法)。
如有問題歡迎繼續(xù)交流!
1)比如你有三個(gè)類,并打開了這三個(gè)類,名字暫且就叫A.java,B.java,C.java。這時(shí)你想快速在這三個(gè)文件間切換。
按ctrl+E,然后如果想到C.java,就再打個(gè)c,再回車一下就行了,其它同理。
2)自動(dòng)補(bǔ)全。我自己的習(xí)慣是設(shè)置成Alt+/。在window(窗口)——preferences(首選項(xiàng))——keys中搜索下Content Assist就知道它默認(rèn)是什么了。
3)自動(dòng)導(dǎo)入包。ctrl+shift+o。然后選擇正確的包,雖然用2的方法也能導(dǎo)入,但是2的方法導(dǎo)的包可能不是你所想要的。
4)如果有紅線,即ecliepse提示你有錯(cuò)誤,按ctrl+1。比如上面的未導(dǎo)包,就會(huì)提示錯(cuò)誤,這時(shí)也可以通過這個(gè)方法導(dǎo)包。
1.左移運(yùn)算符
左移運(yùn)算符用“”表示,是將運(yùn)算符左邊的對(duì)象,向左移動(dòng)運(yùn)算符右邊指定的位數(shù),并且在低位補(bǔ)零。其實(shí),向左移n 位,就相當(dāng)于乘上2 的n 次方,例如下面的例子。
public class data17
{
public static void main(String[] args)
{
int a=2;
int b=2;
System.out.println("a 移位的結(jié)果是:"+(ab));
}
}
運(yùn)行結(jié)果
a 移位的結(jié)果是:8
分析上面的程序段:
首先從本質(zhì)上來分析,2 的二進(jìn)制是00000010,它向左移動(dòng)2 位,就變成了00001000,即8。如果從另一個(gè)角度來分析,它向左移動(dòng)2 位,其實(shí)就是乘上2 的2 次方,結(jié)果還是8。
2.右移運(yùn)算符
右移運(yùn)算符用符號(hào)“”表示,是將運(yùn)算符左邊的對(duì)象向右移動(dòng)運(yùn)算符右邊指定的位數(shù),并且在高位補(bǔ)0,其實(shí)右移n 位,就相當(dāng)于除上2 的n 次方。
public class data18
{
public static void main(String[] args)
{
int a=16;
int b=2;
System.out.println("a 移位的結(jié)果是:"+(ab));
}
}
運(yùn)行結(jié)果
a 移位的結(jié)果是:4
分析上面的程序段:從本質(zhì)上來分析,16 的二進(jìn)制是00010000,它向右移動(dòng)2 位,就變成了00000100,即4。如果從另一個(gè)角度來分析,它向右移動(dòng)2 位,其實(shí)就是除以2 的2 次方,結(jié)果還是4。
3.帶符號(hào)的右移運(yùn)算符
帶符號(hào)的右移運(yùn)算符用符號(hào)“”表示,是將運(yùn)算符左邊的運(yùn)算對(duì)象,向右移動(dòng)運(yùn)算符右邊指定的位數(shù)。如果是正數(shù),在高位補(bǔ)零,如果是負(fù)數(shù),則在高位補(bǔ)1,先看下面一個(gè)簡單的例子。
public class data19
{
public static void main(String[] args)
{
int a=16;
int c=-16;
int b=2;
int d=2;
System.out.println("a 的移位結(jié)果:"+(ab));
System.out.println("c 的移位結(jié)果:"+(cd));
}
}
運(yùn)行結(jié)果
a 的移位結(jié)果:4
c 的移位結(jié)果:-4
分析上面的程序段:
a 的值是16,轉(zhuǎn)換成二進(jìn)制是00010000,讓它右移兩位成00000100 即4。
c 的值是-16,轉(zhuǎn)換成二進(jìn)制是11101111,讓它右移一位成11111011 即-4。
不是java任何語言都沒有, 位運(yùn)算中左移跟符號(hào)沒有關(guān)系的, 因?yàn)樽罡呶痪褪欠?hào)位
例如8位的byte中最高位如果是 1那就表示負(fù)數(shù) 如果是左移一位, 那么最高位就會(huì)丟掉, 最低位補(bǔ)0 1111 1111 1 就會(huì)變成 1111 1110