java流程控制(二)
8.For循环详解
9.打印九九乘法表
10.增强for循环
11.break和continue使用
12.打印三角形和Debug
For循环详解
虽然所有循环都可以用while或do-while表示,但java提供了另一种语句——for循环,使一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
for循环执行的次数是在执行前就确定的,语法结构如下
for(初始化;布尔表达式;更新){
//代码语句
}
/*关于for循环有以下几个说明:
最先执行初始化语句,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
然后检测布尔表达式的值。如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句。
再次检测布尔表达式。循环执行上面的过程*/
public class ForDemo01 {
public static void main(String[] args) {
int a = 1;//初始化条件
while (a<=100){//条件判断
System.out.println(a);//循环条件
a+=2;
}
System.out.println("While循环结束!");
//初始化//条件判断//迭代(更新)
for (int i=1;i<=100;i++){
System.out.println(i);
}
System.out.println("For循环结束!");
/*
关于for循环有以下几个说明:
最先执行初始化语句,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
然后检测布尔表达式的值。如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句。
再次检测布尔表达式。循环执行上面的过程
*/
//死循环
for (; ;){
}
}
public class ForDemo02 {
public static void main(String[] args) {
//练习题1:计算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);
}
}
public class ForDemo03 {
public static void main(String[] args) {
//练习题2:用while或for循环输出1———1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if (i % 5 == 0) {
System.out.print(i+" ");
}
//每第三个数都能被15整除,所以到了能被15整除的数,就println换行!
if (i % (5*3) == 0) {//每行
System.out.println();
//System.out.println("/n");
}
}
//println 输出完换行
//print 输出完不会换行
int i = 0;
while (i<1000){
i++;
if (i%5==0){
System.out.print(i+" ");
}
if (i%15==0){
System.out.println();
}
}
}
}
打印九九乘法表
/**
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
* Created by Godwin on 2020/12/24.
*/
public class ForDemo04 {
public static void main(String[] args) {
//打印九九乘法表
//1.我们先打印第一列
//2.我们把固定的1再用一个循环包起来
//3.去掉重复项,i<=j
//4.调整样式
for (int j = 1; j<=9;j++){
for (int i=1;i<=j;i++){
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();
}
}
}
增强For循环
这里先简单了解,等之后数组再重点使用
java5引入了一种主要用作数组或集合的增强型for循环
语法:
for(声明语句:表达式){
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
public class ForDemo05 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};
for (int i = 0; i < 5; i++) {
System.out.println(numbers[i]);
}
System.out.println("==========");
//遍历数组的元素
for (int x:numbers
) {
System.out.println(x);
}
}
}
breakhe和continue的使用
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch中使用)
continue语句在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
打印三角形
这个练习题不知初学者会懵,工作了一两年的也会懵,因为涉及到逻辑思维方面,所以敲一下,理解不了就过,不需要深究!
如果你是初学者看到了着,建议第一遍先囫囵吞枣把基础过一遍,然后跟着demo敲,最后默写,不要一开始一个地方不懂,非要搞懂!这样只会耽误时间!因为java随便一个点,往下深挖都能秃头!搞明白我们学习JAVA,是把它当作一个工具用来解决工作中的实际问题!而不是做研究!所以这个地方也无需要理解多透彻。把实现的代码放到下边,不懂的可以去B站看下视频
public class Test01 {
public static void main(String[] args) {
//打印三角形 5行
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();
}
}
}
java复习笔记,学习视频来自B站UP主:狂神说