循环结构
算术运算符的分类
一元运算符
- i++: ===》i=i+1,先使用后再对自身加一 int i =1; int b=i++; b=1, i=2
- ++i:===》i=i+1,先对自身加一在使用 int i=1; int b = ++i; b=2, i=2
- i--:====》i=i-1,先使用再对自身减一
- --i:====》先对自身减一,再使用
二元运算符
+ - * %
a+b
a-b
a%b
while循环语句
i = 1; //1.循环变量初始化
while(i <=8){ //2.循环的判断条件
执行这些语句;
i++; //3.循环体中改变循环变量的值
}
循环的3要素:
循环例子:
public class while1{
public static void main(String[] args){
int i = 1; //循环变量初始化
int sum = 0;
while(i <= 1000){ //循环的判断条件
sum = sum + i;
i++; //循环体中改变循环变量的值
System.out.println("1+2+...+1000="+sum);
}
System.out.println("循环结束啦!");
}
}
求学生的平均分:
import java.util.*;
public class avgScore{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("input student number");
int person = in.nextInt(); //总人数
int sum = 0; //总分
int i =1; //第i个人
double avg; //学生的平均分
while(i <= person){
int score ; //循环里面定义的变量是局部变量,不能被循环外面调用的。
System.out.println("请输入第"+i+"个学生成绩。");
score = in.nextInt();
sum = sum +score;
i = i+1;
}
avg = sum/person;
System.out.println("avg = "+avg);
}
}
注意点:循环体里面定义的变量是局部变量,只能在循环里面被调用,循环外面使用循环内定义的变量,会报错的。所以定义变量尽量在循环外面。do..while循环语句
do{执行语句}while(循环条件);
先执行后判断,至少执行了一次;
import java.util.*;
public class doWhile{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String answer;
do{
System.out.println("input y/n");
answer = in.next(); //变量声明在循环体内是局部的
}while(!answer.equals("y")); //注意分号,字符串作比较使用equals()
System.out.println("777777777");
}
}
猜数字游戏
import java.util.*;
public class numberGame{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int person;
int computer = (int)(Math.random()*100);
do{
System.out.println(" inpnt number (0-100)");
person = in.nextInt();
if(person == computer){
System.out.println(" you are right!!");
//break;
}else if(person < computer){
System.out.println("little !!");
}else{
System.out.println("big !!");
}
}while(person != computer);
}
}
程序调试
程序提调试的步骤:
- 1.选中断点,程序运行到断点会自动停止的;双击某一行代码,就能设置断点了!
- 2.点击Debug按就开始调试程序,程序执行到断点会自动停止;
- 3.点击F6运行下一步代码,可以在其他窗口看到运行的结果;
- 4.点击右上角的“Java”按钮,可以退出调试模式;
程序调试的主要方法:
- 1.猜猜出错地方,设置断点;
- 2.单步执行,观察变化;
- 3.修改问题,重新运行
for 循环语句
注意问题:
- 声明循环初始变量时,多个需要用逗号隔开,不是分号;
- 必须声明循环初始变量;
- 循环条件也要有;
- 循环变量需要有变化;
- 循环体内声明的变量是局部变量,在循环外面是不能应用的;
for (int i =1,j=1010;i<100,j--;i++){ //声明循环变量,多个时需要用逗号隔开;
循环体。。。。
}
package xunHuan;
public class forTest1 {
public static void main(String[] args){
//1+2+3+...+100=?
int sum = 0;
for(int i=1;i <= 100;i++){
sum = sum + i;
}
System.out.println("1+2+3+...+100="+sum);
}
}
求100个随机数的平均数:随机数、循环
package xunHuan;
import java.util.*;
public class forTes3 {
public static void main(String[] args){
int number;
int sum = 0;
double avg;
for(int i=1;i <= 1000;i=i+1){
number = (int)(Math.random()*1000);
sum = sum +number;
//System.out.println("第"+i+"随机数是:"+number);
}
avg = sum/1000;
System.out.print("100个随机数的平均数是:"+avg);
}
}
死循环:
break语句:终止循环,跳出循环;
package xunHuan;
import java.util.*;
public class deathXunhuan {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入y/n");
String ok = in.next();
for(;;){
if(ok.equals("y")){
System.out.println("888888888888");
}else{
break; //循环终止
}
}
}
}
continue语句:只能用在循环语句里面;用来结束本次循环;
//密码正确执行后面语句;验证密码
package xunHuan;
import java.util.*;
public class continueTest {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
for(;;){
System.out.println("请输入密码:");
int pwd = in.nextInt();
if(pwd != 123456){
continue; //密码不正确跳出这次循环,循环重新执行
}else{
break; //密码正确结束循环
}
}
System.out.println("欢迎进入系统!!!");
}
}
嵌套循环
package xunHuan;
public class qianTaoXh {
public static void main(String[] args){
int i =1;
while(i <= 3){
System.out.println("喂奶第"+i+"次");
int j=1;
while(j <=3){
System.out.println("宝宝吃奶第"+j+"次");
j++;
}
i++;
}
}
}
九九乘法表:
package xunHuan;
public class jiuJiuTest {
public static void main(String[] args){
for(int i=1;i <= 9;i=i+1){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
System.out.print("九九乘法表已完成输出。");
}
}