[菜鸟笔记--Java的进阶之路三]

时间:2021-09-25 13:14:39

循环语句

此系列文章是本人的学习笔记,专业术语不精还望见谅,在学习过程中自己遇到的问题可能会是很多小伙伴刚刚学习的时候遇到的问题,此类型文章仅供个人理解学习,不会涉及到每一个Java细节,不供专业参考

在介绍循环之前给大家安利一个小技巧,实现两个数字交换不引入第三个变量

//定义两个变量
int a = 10;
int b = 5;
//一般的我们是想两个数字交换会使用第三个变量实现交换
//现在只是用两个数字交换
a = a+b;//此时a的值是15,b的值是5;
b = a-b;//此时a的值是15,b的值是10;
a = a-b;//此时a的值是5,b的值是10;

循环语句主要有三大类
while循环/do…while循环/for循环
while循环语法:先判断后运行(可能会一次都不运行)
while(循环条件){
执行体
}
例子:

int a =10;
while (a>1){
System.out.println("此时a的值"+a);
a--;
}

do…while循环语法:先运行后判断,至少运行一次
do{
执行体代码
}while(循环条件)
例子:

int a = 10;
do {
System.out.println("Hello World!");
} while (a > 20);

很显然上面的例子放在while循环中本应该是不能运行的,但是这是do…while循环会先运行一次,所以打印一句话

int a = 20;
do {
System.out.println("Hello World!");
a--;
} while (a > 10);

会打印十遍

for循环语法:
for(int i =0;i<=10;i++){
}
如果for后面的()里不满足三个条件,也要带上;
for(int i=0;i<=10; ){
}
例子1:

//重复执行一段代码,重要的快递来三遍
for (int i = 1; i<4; i++){
System.out.println("顺丰快递来了~~~");
}

例子2:

//1+.....+100=5050
//求和
int sum = 0;
for (int i=1;i<=100;i--){
sum+=i;
}
System.out.println(sum);

嵌套for循环
例子3:

//打印三角
*
**
***
****
*****

for(int i=0;i<5;i++){
for(int j=0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
//打印正三角(说白了就是两个三角形拼起来了)
####*
###***
##*****
#*******
//这样展示出来可能就会很容易理解的多了.
//首先先要打印出来左边的倒三角,那就是参照上一个例子的正三角
****
***
**
*
for(int i=1;i<5;i++){
for(int j=5;j>i;j--){
System.out.print("*");
}
System.out.println();
}
//====================================
//然后发现正三角是1/3/5/7
*
***
*****
*******

for (int i = 1; i < 5; i++) {
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
//=======================
//然后拼在一起就好了,把倒三角的#换成" "空白字符串就好了
*
***
*****
*******
for(int i=1;i<5;i++){
for(int j=5;j>i;j--){
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}

这样菱形啊什么的就都可以了,
拓展(之后还会遇到一个循环叫做增强for循环)


能力不高,水平有限,大家多包涵