while:先判断后执行
do…while语句:先执行,后判断
public class Ex3_4{public static void main (String args[]) {long a,n,m=0;a= Long.parseLong(JOptionPane.showInputDialog("输入整数"));n=a;while(a>0) {m += a%10; //累加计算各位数字a = a/10;}System.out.print(n+"的各位数字之和="+m);}}
int x=23659;String m="result=";while (x>0) {m = m + x%10;x = x/10;}System.out.println(m);过程(0) m=“result=”,x=23659开始循环(1) m=“result=9”,x=2365(2) m=“result=95”,x=236(3) m=“result=956”,x=23(4) m=“result=9563”,x=2(5) m=“result=95632”,x=0结束循环运行结果: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; i
}
运行结果:
0,10
1,9
2,8
3,7
4,6
import javax.swing.*;public class Ex3_7 {public static void main(String args[]){int score = 0;for (int i=0;i<10;i++) {int a = 10 + (int)(90*Math.random());int b = 10 + (int)(90*Math.random());String s=JOptionPane.showInputDialog(a+"+"+b+"=? ");int ans = Integer.parseInt(s);if (a + b == ans)score = score + 10 ; //每道题10分}JOptionPane.showMessageDialog(null, "your score= "+score);}}产生[a,b]随机整数: a+(int)(Math.random()*(b-a+1))
