for循环
语法
for(表达式1(参数初始化);表达式2(循环条件);表达式4(更新循环变量)){
表达式3;
循环操作;
}
代码实现
/**
* for循环语法
*/
public class ForDemo1 {
public static void main(String[] args) {
for (int i = 0; i <100 ; i++) {
System.out.println("第"+(i+1)+"遍好好学习");
}
}
}
输入成绩 ,计算平均分
/**
* 输入成绩,计算平均分
*/
public class ForDemo2 {
public static void main(String[] args) {
System.out.println("请输入学员姓名:");
Scanner input = new Scanner(System.in);
String name = input.next();
//总分
double sum =0;
for (int i =1;i<=5;i++){
System.out.println("请输入第"+i+"门的考试成绩:");
double score = input.nextDouble();
sum =sum+score;
}
System.out.println(name+"5门成绩的平均分为:"+(sum/5));
}
}
/**
* 加法
*/
public class ForDemo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入次数");
int val =input.nextInt();
for (int i = 0,j=val; i <=val ; i++,j--) {
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
/**
* 加法
*/
public class ForDemo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入次数");
int val =input.nextInt();
for (int i = 0; i <=val ; i++) {
System.out.println(i+"+"+(val-i)+"="+(i+(val-i)));
}
}
}
特点
- 参数初始化可以不写在for循环表达式里,如果用的该变量,应该在外边定义
- 循环条件可以不写,会造成死循环
- 表达式4也可以不写,如果要跳出循环,必须在循环体里面去改变参数
- 表达式 1,2, 4都可以不写,但两个分号必须要存在,-》执行死循环操作
求100以内不能被3整除数的和
/**
* 求100以内不能被3整除数的和
*/
public class ForDemo4 {
public static void main(String[] args) {
int sum =0;
for (int i = 0; i <100 ; i++) {
if(i%3!=0){
sum =sum+i;
}
}
System.out.println("100以内不能被3整除数的和为:"+sum);
}
}
求奇数之和
判断奇数方法
i%2==1 代表是奇数
计算客户比率
import java.util.Scanner;
/**
* 计算客户比率
*/
public class FroDemo5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("你准备录入多少客户:");
int count = input.nextInt();
//存放大于等于30的用户数
double age30 =0;
//存放小于30的用户数
double agex30 =0;
for (int i=1;i<=count;i++){
System.out.println("请录入第"+i+"的客户的年龄:");
int age = input.nextInt();
if (age<30){
agex30++;
}else {
age30++;
}
}
System.out.println("30以上的客户比率是:"+(age30/count)*100+"%");
System.out.println("小于30的客户比率是:"+(agex30/count)*100+"%");
}
}
break作用
跳出整个语句块,执行语句块后面的语句.
可以用作于switch语句块,while语句块do-while,for循环语句块
改变流程控制
在语句块中break下面的代码都不执行
Scanner input=new Scanner(System.in);
String name=input.next();
System.out.println("请输入成绩:");
double sum=0;
boolean isok=true;
for (int i = 1; i <= 5; i++) {
System.out.println("第"+i+"门考试成绩:");
double shur=input.nextInt();
if (shur<0) {
isok=false;
break;
}
sum=sum+shur;
}
if (isok) {
System.out.println("五门成绩和为:"+sum);
}else{
System.out.println("输入错误,程序结束!");
}
continue作用
跳出本次循环,执行下次循环。
只能在循环体内执行
和条件一起使用,加快循环
System.out.println("请输入班级总人数:");
Scanner input=new Scanner(System.in);
int count=input.nextInt();
double sum=0;
for (int i = 1; i <= count; i++) {
System.out.println("请输入第"+i+"几位学员的成绩:");
double cj=input.nextDouble();
if (cj<80) {
continue;
}
sum++;
}
System.out.println("80分以上的人数:"+sum);
System.out.println("80分以上占班级的比例是:"+(sum/count)*100+"%");
break和continue对比
-
break用在switch语句块和循环语句块
-
continue用在循环语句中
-
break是跳出整个语句
-
continue跳出本次循环,执行下次循环。
求10以内的偶数和
int sum=0;
for (int i = 1; i <= 10; i++) {
if (i%2==1) {
continue;
}
System.out.println(i);
sum=sum+i;
}
System.out.println("1-10的偶数和:"+sum);
总结
循环
-
while循环:先判断,再执行
-
do-while:先执行,再判断
-
for:先判断,再执行
循环要素
- 初始化参数
- 循环条件
- 循环操作
- 迭代次数
语法结构
while(循环条件){
循环操作
}
do{
循环操作
}while(循环条件);
for(int i=1;i<=10;i++){
循环操作
}
执行数序
固定次数用for循环
其它用while或do-while
跳出语句
-
break是跳出整个语句
-
continue跳出本次循环,执行下