java流程控制03:循环结构
-
while循环
-
do...while循环
-
for循环
-
while循环
先判断再执行
是最基本的循环,它的结构为:
while(布尔表达式){
//循环内容
}-
只要布尔表达式为true,循环就会一直执行。
-
大多数情况让循环停止,需要有一个让表达式失效的方式来结束循环。
-
举例:输出1-100
public class whileDay1 {
public static void main(String[] args) {
//输出1-100
int i = 0;
while (i<100){
i++;
System.out.println(i);
}
}
}
-
计算1+2+3+...+100=?
public class WhileDay1_1 {
//计算1+2+3+...+100=?
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i<=100){
sum = i+sum;
i++;
}
System.out.println("1+2+3+...+100="+sum);
}
}
结果:1+2+3+...+100=5050
-
do...while循环
-
do...while循环至少执行一次,先执行后判断
-
语句:
do{
//代码语句
}while(布尔表达式);-
计算1+2+3+...+100=?
public class WhileDay1_1 {
//计算1+2+3+...+100=?
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = i+sum;
i++;
}while (i<=100);
System.out.println("1+2+3+...+100="+sum);
}
}
-
-
-
do...while与while的不同
-
while先判断再执行
-
do...while循环至少执行一次,先执行后判断
-
代码分析:
public class WhileDay1_1 {
//判断do...while与while的不同
public static void main(String[] args) {
int i = 0;
while (i<0){
System.out.println(i);
i++;
}
System.out.println("---------------------------------------");
do {
System.out.println(i);
i++;
}while (i<0);
}
}
-
-
for循环(重要!)
-
for循环是支持迭代的一种通用结构,是最有效最灵活的循环结构
-
for循环的执行次数在执行前就确定
-
for循环语法格式:
for(初始化;布尔表达式;更新){
//代码语句
}-
掌握for循环与while循环的区别
public class ForDay1 {
public static void main(String[] args) {
int a =1;//初始化条件
while (a<=10){//条件判断
System.out.println(a);//循环体
a++;//迭代
}
System.out.println("while循环结束");
//初始化//条件判断//迭代
for (int i=1;i<=10;i++){
System.out.println(i);//循环体
}
System.out.println("for循环结束");
}
}-
关于for循环的说明:
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。再次检测布尔表达式,循环执行上面的过程。
-
练习;
-
计算0-100之间技术和偶数的和
public class ForDay2 {
public static void main(String[] args) {
//计算0-100之间技术和偶数的和
int oddsum = 0;//奇数的和
int evensum = 0;//偶数的和
for (int i = 0; i < 100; i++) {
if (i%2!=0){ //奇数
oddsum+=i;
}else {
evensum+=i;//偶数
}
}
System.out.println("奇数的和:"+oddsum);
System.out.println("偶数的和:"+evensum);
}
}
-
-
-
-
-
用while或for循环输出1—1000能被5整除的数,并且每行输出3个
public class ForDay2 {
public static void main(String[] args) {
//用while或for循环输出1—1000能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){ //每行输出3个
System.out.println();
// System.out.print("\n");
}
}
//println 输出完会换行
//print 输出完不会换行
}
}
3.打印九九乘法表
public class ForDay2 {
public static void main(String[] args) {
//打印九九乘法表
//1.先打印第一列
//2.把固定的1再用一个循环包起来
//3.去掉重复项,i<=j
//4.调整样式
for (int j = 0; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j+"*"+i+"="+(j*i) + "\t");
}
System.out.println();
}
}
}
-
增强for循环
主要用来遍历数组和集合
-
语法格式:
for(声明语句 : 表达式){
//代码句子
}举例
public class ForDay2 {
public static void main(String[] args) {
int[] numbers = {1,2,3,4,5};//定义一个数组
for (int i = 0;i<5;i++){ //遍历数组元素
System.out.println(numbers[i]);
}
System.out.println("--------------------------");
for (int x :numbers){ //遍历数组元素
System.out.println(x);
}
}
} -
-
break 与 continue
2.continue用在循环语句体中,用于终止某次循环即跳过循环体中尚未执行的语句,接着进行下次是否执行循环的判定
-
打印三角形
public class ForDay2 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >=i ; j--) {
System.out.print(" ");
}
for (int j = 1; j <=i ; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
本文来自博客园,作者:Joan鑫,转载请注明原文链接:https://www.cnblogs.com/jiaxinxin/p/15553064.html