for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。
for循环语句格式:
for(初始化语句;判断条件;条件控制语句){
循环体语句;
}
执行流程:
1.执行初始化语句,整个循环中只执行一次。
2.执行判断条件
true:执行第三步
false: 循环结束
3.执行循环体语句
4.执行条件控制语句
5.回到2继续...
for循环注意事项:
1.for循环{}中定义的变量,在每一轮循环结束后,就会从内存中释放
2.for循环()中定义的变量,在整个循环结束后,会从梅村中释放
3.for循环()和{}之间不要写;
我们可以通过for完成许多有趣的实现,下面是一些循环的小练习可以拿来练习循环的使用和嵌套
1.
*****
*****
*****
*****
*****
2.
*
**
***
****
*****
public static void main(String[] args) {
/*
9.
*
**
***
****
*****
*/
//控制每列
for (int i = 0; i < 5; i++) {
//控制每行打印个数
for (int j = 0; j <= i; j++){
System.out.print("*");
}
System.out.println();
}
}
3.
*
***
*****
*******
*********
public static void main(String[] args) {
/*
*
***
*****
*******
*********
*/
for (int i = 1; i <= 5; i++){
//左边空白三角
for (int j = 0; j < 5 - i; j++){
System.out.print(" ");
}
//右边 * 三角
for (int k = 1; k < 2 * i;k++){
System.out.print("*");
}
System.out.println();
}
}
4.
*
***
*****
*******
*********
*******
*****
***
*
public static void main(String[] args) {
/*
*
***
*****
*******
*********
*******
*****
***
*
*/
//上半部分
for (int i = 1; i <= 5; i++){
//上半部分左边空白三角
for (int j = 1; j <= 5 - i; j++){
System.out.print(" ");
}
//上半部分* 三角
for (int k = 1; k < i * 2;k++){
System.out.print("*");
}
//打印上半部分
System.out.println();
}
//下半部分
for (int i = 4; i > 0; i--){
//下半部分左边空白三角
for (int j = 0; j <= 4 - i; j++){
System.out.print(" ");
}
//下半部分右边 * 三角
for (int k = 1; k < i * 2; k++){
System.out.print("*");
}
//打印下半部分
System.out.println();
}
}
5
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDCBA
ABCBA
ABA
A
public static void main(String[] args) {
/*
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDCBA
ABCBA
ABA
A
*/
//上半部分
for (int i = 1; i <= 5; i++) {
char c = 'A';
//打印上半部分左上角空格三角
for (int j = 1; j < 5 - i; j++) {
System.out.print(" ");
}
//打印上半部分字母三角
for (int k = 1; k < 2 * i; k++) {
if (k < i) {
System.out.print(c);
c += 1;
} else {
System.out.print(c);
c -= 1;
}
}
//打印上半部分
System.out.println();
}
//下半部分
for (int i = 4; i > 0; i--) {
char c = 'A';
//下半部分左边三角
for (int j = 0; j <= 4 - i; j++) {
System.out.print(" ");
}
//下半部分字母三角
for (int k = 1; k < 2 * i ; k++) {
if (k < i) {
System.out.print(c);
c += 1;
} else {
System.out.print(c);
c -= 1;
}
}
//打印下半部分
System.out.println();
}
}
6.
###*###
##*#*##
#*###*#
*#####*
#*###*#
##*#*##
###*###
public static void main(String[] args) {
/*
###*###
##*#*##
#*###*#
*#####*
#*###*#
##*#*##
###*###
*/
//上半部分
for (int a = 0; a < 4; a++) {
//上半部分第一个#三角
for (int i = 1; i <= 3 - a; i++) {
System.out.print("#");
}
//第一个*
System.out.print("*");
//上半部分中间的#三角
for (int j = 0; j < 2 * a - 1;j++){
System.out.print("#");
}
//第二个* 并判断是否需要打印
if (a > 0) {
System.out.print("*");
}
//上半部分后面的 # 三角
for (int x = 1; x <= 3 - a; x++){
System.out.print("#");
}
//打印上半部分
System.out.println();
}
//下半部分
for (int b = 1; b <= 3; b++) {
//下半部分左下角 # 三角
for (int y = 1; y <= b; y++) {
System.out.print("#");
}
//第一个*
System.out.print("*");
//下半部分中间 # 三角
for (int c = 0; c < 5 - 2 * b;c++) {
System.out.print("#");
}
//判断是否打印下半部分第二个 *
if (b < 3) {
System.out.print("*");
}
//下半部分右下角 # 三角
for (int d = 1; d <= b; d++) {
System.out.print("#");
}
//打印下半部分
System.out.println();
}
}
7.
自己完成一个爱心~~~~❥(^_-) ❥(^_-)❥(^_-)
public static void main(String[] args) {
/*
自己完成一个爱心~~~~❥(^_-) ❥(^_-)❥(^_-)
** **
**** ****
***********
*********
*******
*****
***
*
*/
//上半部分
for (int a = 1; a < 3; a++) {
//第一个空白小三角
for (int b = 1; b < 4 - a; b++) {
System.out.print(" ");
}
//第一个突出的三角
for (int c = 1; c <= 2 * a; c++) {
System.out.print("*");
}
//中间的空白倒三角
for (int d = 1; d <= 5 - 2 * a; d++) {
System.out.print(" ");
}
//第二个突出的三角
for (int c = 1; c <= 2 * a; c++) {
System.out.print("*");
}
System.out.println();
}
//下半部分倒立大三角
for (int e = 1; e <= 6 ; e++) {
//下半部分空白三角
for (int f = 1; f < e; f++) {
System.out.print(" ");
}
//下半倒立三角
for (int g = 1; g <= 13 - 2 * e; g++) {
System.out.print("*");
}
System.out.println();
}
}