Java語法基礎for語句練習
Java語法基礎for語句練習
控制語句——for練習
語句的巢狀應用
累加求和,計數器
迴圈巢狀
一、語句的巢狀應用
語句巢狀形式。其實就是語句中還有語句。形式多種多樣,沒有固定的格式和套路。
1、列印偶數
for(int x=1;x<=10;x++)
{ if(x%2==1)
continue;
System.out.prinln(“x=”+x);
}
二、累加求和,計數器
1、獲取1~10的和,並列印。
思路://1,定義變數用於儲存不斷變化的和。
int sum = 0;
//2,定義變數,記錄住不斷變化的被加的數。
int x = 1;
//3,定義迴圈,重複加法的過程。
用while來體現
while(x<=10)
{
sum = sum + x;
x++;
}
System.out.println("sum="+sum);
迴圈注意:
一定要明確哪些語句需要參與迴圈,哪些不需要
複製程式碼 程式碼如下:
class ForTest2
{
public static void main(String[] args)
{
//用for來體現。
int sum = 0;
for(int x=0; x<=10; x++)
{
sum += x;
}
System.out.println("for sum = "+sum);
}
}
小例子的小小總結:其實這就是累加思想。
原理:透過變數記錄住每次變化的結果。
透過迴圈的形式,進行累加動作。
2、1~100之間 7的倍數的個數。並列印。
思路:
1,先對1~100進行迴圈(遍歷)透過迴圈的形式。
2,在遍歷的過程中,定義條件。只對7的倍數進行操作。
3,因為7的倍數不確定,只要符合條件,就透過一個變數來記錄住這個變化的次數。
步驟:
1,定義迴圈語句,選擇for語句。
2,在迴圈中定義判斷。只要是7的倍數即可。使用if語句。條件:7的.倍數 x%7==0;
3,定義變數,該變數隨著7的倍數的出現而自增。
複製程式碼 程式碼如下:
class ForTest3
{
public static void main(String[] args)
{
int count = 0;
for(int x=1; x<=100; x++)
{
if(x%7==0)
//System.out.println("x="+x);
count++;
}
System.out.println("count="+count);
}
}
小小示例的總結:
這就是計數器思想。透過一個變數記錄住資料的狀態變化。也許透過迴圈完成。
三、迴圈巢狀。
1,列印一個長方形。
複製程式碼 程式碼如下:
class ForForDemo
{
public static void main(String[] args)
{
/*
****
****
****
*/
for(int x=0; x<3; x++)//
{
for(int y=0; y<4; y++)
{
System.out.print("*");
}
System.out.println();//只有一個功能就是換行。
}
System.out.println("-------------------");
}
}
****
****
****
對於列印長方形總結:外迴圈控制的行數。內迴圈控制的是每一行的列數。也就是一行中元素的個數。
2,列印一個直角三角形,腳尖朝下。
複製程式碼 程式碼如下:
class ForForDemo
{
public static void main(String[] args)
{
/*
*****
****
***
**
*
發現圖形有很多行,每一個行有很多列。
要使用巢狀迴圈。原理:形象說法:大圈套小圈。
*/
//int z = 5;
for (int x=0; x<5 ;x++ )//x<5:因為外迴圈控制行數。一共5行。
{
for (int y=x; y<5 ;y++)
{
System.out.print("*");
}
System.out.println();
//z++;
}
}
}
透過該示例小小總結:發現圖形有很多行,每一個行有很多列。
要使用巢狀迴圈。原理:形象說法:大圈套小圈。
3,列印正三角、楊輝三角、九九乘法表
/*
*
**
***
****
*****
1
12
123
1234
12345
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
複製程式碼 程式碼如下:
class ForForTest
{
public static void main(String[] args)
{
/*
*
**
***
****
*****
*/
for (int x=0; x<5 ;x++ )
{
for (int y=0 ; y<=x ; y++ )
{
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------------");
/*
1
12
123
1234
12345
*/
for (int x=1; x<=5; x++)
{
for (int y=1; y<=x;y++ )
{
System.out.print(y);
}
System.out.println();
}
System.out.println("----------------------");
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
for (int x=1; x<=9 ; x++)
{
for (int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"t");
}
System.out.println();
}
}
}
透過正三角、楊輝三角、九九乘法表得出一些不是規律的規律:
所謂不是規律的規律:
尖朝上,可以改變條件。讓條件隨著外迴圈變化。
尖朝下,可以初始化值,讓初始化隨著外迴圈變化。
4,列印菱形(◇)或稱為金字塔
/*
----*
---* *
--* * *
-* * * *
* * * * *
* * * * *
-* * * *
--* * *
---* *
----*
*/
複製程式碼 程式碼如下:
class ForForTest2
{
public static void main(String[] args)
{
for (int x=0; x<5 ;x++ )
{
for(int y=x+1; y<5 ; y++)
{
System.out.print(" ");
}
for(int z=0; z<=x ; z++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
5、練習:3000米長的繩子,每天減一半。問多少天這個繩子會小於5米?不考慮小數。
複製程式碼 程式碼如下:
class ForTest4
{
public static void main(String[] args)
{
int day = 0;
for(int x=3000; x>=5; x/=2)
{
day++;
}
System.out.println("day="+day);
}
}
透過上述練習,曉得了在遇到問題時,首先要明確問題是什麼,其次自己是否有思路,然後將思路轉換成java能識別的步驟,最後再透過java語言實現即可。