while:先判断后执行
do…while语句:先执行,后判断

  1. public class Ex3_4{
  2. public static void main (String args[]) {
  3. long an,m=0;
  4. a= Long.parseLong(JOptionPane.showInputDialog("输入整数"));
  5. n=a;
  6. while(a>0) {
  7. m += a%10; //累加计算各位数字
  8. a = a/10;
  9. }
  10. System.out.print(n+"的各位数字之和="+m);
  11. }
  12. }
  1. int x=23659;
  2. String m="result=";
  3. while (x>0) {
  4. m = m + x%10;
  5. x = x/10;
  6. }
  7. System.out.println(m);
  8. 过程
  9. (0) m=“result=”,x=23659
  10. 开始循环
  11. (1) m=“result=9”,x=2365
  12. (2) m=“result=95”,x=236
  13. (3) m=“result=956”,x=23
  14. (4) m=“result=9563”,x=2
  15. (5) m=“result=95632”,x=0
  16. 结束循环
  17. 运行结果:
  18. result=95632

for语句:

【说明】
(1)初始化、循环条件以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。
for (;;) System.out.println(“hello”);
例如,求长整数的各位数字之和改用for循环
long a,n,m=0;
n=a= Long.parseLong(JOptionPane.showInputDialog(“输入整数”));
for ( ; a>0; a = a/10) {
m += a%10; //累加计算各位数字
}
System.out.print(n+”的各位数字之和=”+m);
(2)在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。所谓逗号语句是用逗号分隔的语句序列。
例如: 
for( int i=0, j=10; iSystem.out.println(i+”, “+j);
}
运行结果:
0,10
1,9
2,8
3,7
4,6

  1. import javax.swing.*;
  2. public class  Ex3_7 {
  3. public static void main(String args[]){
  4. int score = 0;
  5. for (int i=0;i<10;i++) {
  6. int a = 10 + (int)(90*Math.random());
  7. int b = 10 + (int)(90*Math.random());
  8. String s=JOptionPane.showInputDialog(a+"+"+b+"=? ");
  9. int ans = Integer.parseInt(s);
  10. if (a + b == ans)
  11. score = score + 10 ; //每道题10分
  12. }
  13. JOptionPane.showMessageDialog(null, "your score= "+score);
  14. }
  15. }
  16. 产生[a,b]随机整数: a+(int)(Math.random()*(b-a+1))