1、循环结构特点:循环条件,循环操作。
2、运算符:
一元运算符:i++//先使用后对自身+1,++i//先对自身+1再使用;
二元运算符(两个操作数):+,-,*,/;
三元操作符(三个操作数):
if(a>100){
c=200;
}else{
c=500;
}<=>等价于int a=100;
int c=a>100 ? 200:500;
3、while循环(先判断再执行)
while(循环条件){
循环操作
}
4、实例
①累加求和(1+…100=?):
import java.util.*;
public class cs {
public static void main(String[] args) {
int i=1;
int sum=0;
while(i<=100) {
sum=sum+i;
i++;
}
System.out.println("1+....100="+sum);
}
}
②学生平均成绩:
import java.util.*;
public class cs {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入学生人数");
int person=in.nextInt();
int i=1;
int sum=0;
while(i<=person) {
System.out.println("请输入第"+i+"个学生成绩");
int grade=in.nextInt();
sum=sum+grade;
i++;
}
double avg=sum/person;
System.out.println(person+"个学生的平均成绩为"+avg);
}
}
5、do-while循环
do{循环操作}while(循环条件);
实例:(猜数字游戏)
import java.util.*;
public class cs {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Random number=new Random();
int A=number.nextInt(110);
int peoplenumber;
do {
System.out.println("小白请猜一下系统输出数字为多少?");
peoplenumber=in.nextInt();
if(peoplenumber<A) {
System.out.println("小了");
}else if(peoplenumber>A) {
System.out.println("大了");
}
}while(peoplenumber!=A);
System.out.println("恭喜小白猜对了");
}
}
6、for循环结构。
1.语法
for(表达式1(参数初始化);表达式2(条件判断);表达式3(更新循环变量)){
循环操作;}
2.实例(循环输入5名同学成绩,并求出平均分):
import java.util.*;
public class cs {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int sum=0;
for(int i=1;i<=5;i++) {
System.out.println("请输入第"+i+"个同学的成绩");
int grade=in.nextInt();
sum=sum+grade;
int avg=sum/i;
System.out.println("平均成绩为"+avg);
}
}
}
3.实例(输入一个数,并以这个数生成加法表):
import java.util.*;
public class cs {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner in = new Scanner(System.in);
int number=in.nextInt();
for(int i=0,j=number;i<=j;i++,j--) {
int sum=i+j;
System.out.println(i+"+"+j+"="+sum);
}
}
}
7、continue语句。(只能用在循环里)
作用:跳过循环中的语句而执行下一次循环。
8、break语句。(跳出)
实例:(检测密码)
import java.util.*;
public class cs {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(true) {
System.out.println("请输入你的密码");
int password=in.nextInt();
if(password!=123456) {
continue;
}
break;
}
System.out.println("密码正确!");
}
}
9、循环结构总结。
区别①语法
区别②执行顺序:
while循环,先判断再执行。
do-while循环,先执行再循环。
for循环,先判断,再执行。
区别③适用情况:
循环次数确定通常用for。
循环次数不确定用while和do-while。
10、实例(算术乘法表):
import java.util.*;
public class cs {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"x"+i+"="+i*j+"\t");
}
System.out.println("");
}
}
}
11、实例(日历的制作)
import java.util.*;
public class cs{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
int sum=0;
for(int i=1900;i<=year;i++){
if(i%4==0&&i%100!=0||i%400==0){
sum+=366;
}else {
sum+=365;
}
}
for(int i=1;i<=month;i++){
if(i==2){
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
}else if(1==4||1==6||1==9||1==11){
sum+=30;
}else{
sum+=31;
}
}
sum+=1;
int kl;
if(month==2){
if(year%4==0||year%100!=0||year%400==0){
kl=29;
}else{
kl=28;
}
}else if(month==4||month==6||month==9||month==11){
kl=30;
}else{
kl=31;
}
int weeken=sum%7;
System.out.println("一\t二\t三\t四\t五\t六\t日");
for (int i=1;i<=weeken;i++){
System.out.print("\t");
}
for (int d=1;d<=kl;d++){
if(sum%7==6){
System.out.print(d+"\n");
}else{
System.out.print(d+"\t");
}
sum++;
}
}
}