一.实例一:
1.需求:以二进制形式输出一个十进制数,要求利用while循环和移位以及&运算。
2.分析:
拿十进制数2举例,十进制整数2占32个bit位,首先让这个十进制整数右移31位,得到0,定义一个整形变量k去接收它,k&1仍然为0。同样,让这个十进制整数右移30位,得到的结果用整形变量k接收后还是0,k&1仍然为0。依次类推,一直循环下去,即可得到结果。
3.实例:
public class Demo1 {
public static void main(String[] args) {
int num = 2;
int i = 31;
while(i>=0){
int k = (num>>i);
k= k&1;
System.out.print(k);
i--;
}
System.out.println();
}
}
4.运行结果如下图所示:
二.实例二:
1.需求:分别使用while/do/for循环实现1*2*3*4*5*6*7*8*9*10。
2.实例:
public class Demo2 {
public static void test1(){ //while循环
int i=1;
int sum = 1;
while(i<=10){
sum*=i;
i=i+1;
}
System.out.println(sum);
}
public static void test2(){ //do-while循环
int sum=1;
int i=1;
do{
sum*=i;
i=i+1;
}while(i<=10);
System.out.println(sum);
}
public static void test3(){ //for循环
int sum=1;
for(int i = 1;i <= 10;i++){
sum*=i;
}
System.out.println(sum);
}
public static void main(String[] args) {
test1();
test2();
test3();
}
}
3.运行结果如下图所示: