目錄
1 順序結構
2 分支結構
2.1 if陳述句
2.2 switch陳述句
3 回圈結構
3.1while回圈
3.2 break陳述句
3.3 continue陳述句
3.4 for回圈
3.5 do while 回圈
4 邏輯控制綜合案例
4.1 輸出1000~1200之間所有的閏年
4.2 計算1~100之間9出現的次數
?
1 順序結構
順序結構比較簡單,就是代碼一行一行的執行,本節之前寫的所有代碼都是順序結構,
例如:
public static void main(String[] args) {
int a=10;
System.out.println(a);
System.out.println("hhhh");
double f=10.732;
System.out.println(f);
2 分支結構
2.1 if陳述句
基本語法形式1:
if(布爾運算式){
//條件滿足時的要執行的陳述句
}
示例代碼1:
public static void main(String[] args) {
int a=10;
int b=20;
if(a<b){
System.out.println(a);//a是10 b是20 a<b條件成立執行該陳述句
}
if(a>b){
System.out.println(b);//a是10 b是20 a>b條件不成立不執行該陳述句
}

基本語法形式2:
if(布爾運算式){
//條件成立是執行的陳述句
}
else{
//條件不成立時執行的陳述句
}
示例代碼2:
public static void main(String[] args) {
int a=10;
int b=20;
if(a>b){
System.out.println(a);//a是10 b是20 a>b條件不成立不執行該陳述句
}
else{
System.out.println(b);//a是10 b是20 a>b條件成立執行該陳述句
}
}

基本語法形式3:
if(布爾運算式1){
//運算式1為true,執行的代碼
}
else if(布爾運算式2){
//運算式2為true,執行的代碼
}
else{
//運算式1和運算式2都為falses,執行的代碼
}
示例代碼3:
public static void main(String[] args) {
int a=10;
int b=10;
if(a>b){
System.out.println(a);//運算式1不成立,該陳述句不執行
}
else if(b>a){
System.out.println(b);//運算式2不成立,該陳述句不執行
}
else{
System.out.print("a=b=");//運算式1和運算式2都不成立,該陳述句執行
System.out.println(a);//注意:運算式成立時執行的陳述句可以是多條
}
}

注意事項1:
if陳述句可以嵌套使用,當if(布爾運算式)中的運算式成立時,就會執行對應的陳述句塊 ,在這個對應的陳述句塊中也可以使用if陳述句
例如:找出三個數中最大的數
public static void main(String[] args) {
int a=50;
int b=70;
int c=20;
System.out.print("最大的數是");
if(a>b){
//a>b不成立,所以不執行改陳述句塊
if(c>a){
System.out.println(c);
}
else{
System.out.println(a);
}
}
else{
//a>b不成立,所以執行該陳述句塊
if(c>b){
System.out.println(c);//c>b不成立,不執行該陳述句
}
else{
System.out.println(b);//c>b不成立,所以執行改陳述句
}
}
}

注意事項2:
if陳述句中的布爾運算式成立時,會執行if所對應的陳述句塊,如果不加“{}”時,就會執行緊隨其后的一條陳述句
例如:
public static void main(String[] args) {
int a=10;
int b=20;
if(a>b)
System.out.println(a);//此時if條件不成立,所以不會執行這條陳述句
System.out.println(b);//雖然if條件不成立,但是這條陳述句已經超出了if
//陳述句塊,所以這條陳述句還會執行
}

2.2 switch陳述句
基本語法格式
switch ( 整數 | 列舉 | 字符 | 字串 ){case 內容 1 : {內容滿足時執行陳述句 ;[ break ;]}case 內容 2 : {內容滿足時執行陳述句 ;[ break ;]}...default :{內容都不滿足時執行陳述句 ;[ break ;]}
示例代碼:
public static void main(String[] args) {
int day=5;
switch (day){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("輸入錯誤");
break;
}
}

3 回圈結構
3.1while回圈
基本語法格式:
while(布爾運算式){
//要執行的陳述句塊;
}
當布爾運算式為true,回圈執行要執行的陳述句塊,否則結束回圈,
示例代碼:輸出1~10
public static void main(String[] args) {
int i=1;
while(i<=10){
System.out.println(i);
i++;
}
}

注意事項:
1. 和 if 類似, while 下面的陳述句可以不寫 { } , 但是不寫的時候只能支持一條陳述句. 建議還是加上 { }
2. 和 if 類似, while 后面的 { 建議和 while 寫在同一行.
3. 和 if 類似, while 后面不要多寫 分號, 否則可能導致回圈不能正確執行,
3.2 break陳述句
public static void main(String[] args) {
int i=1;
while(i<=10){
if(i%3==0){
System.out.println(i);
break;//遇到break陳述句,回圈結束
}
i++;
}
}

3.3 continue陳述句
public static void main(String[] args) {
int i=1;
while(i<=10){
if(i%2!=0){
i++;
continue;//遇到continue陳述句,會直接進入下一次回圈,不會執行后面的陳述句
}
System.out.println(i);
i++;
}
}

3.4 for回圈
基本語法格式:
for(運算式1;布爾運算式2;運算式3){
//循執行的陳述句塊
}
for回圈執行的順序是:
首次回圈:首先執行運算式1,再執行布爾運算式2,然后執行回圈體;最后執行運算式3,
其余回圈: 首先執行布爾運算式2,然后執行回圈體,最后執行運算式3,
結束回圈: 布爾運算式的值為false.
示例代碼:輸出1~10之間的所有數
public static void main(String[] args) {
for (int i =1; i <=10 ; i++) {
System.out.println(i);
}
}

注意事項:
1:break和continue對for回圈同樣適用,
3.5 do while 回圈
基本語法格式:
do{
//回圈執行的陳述句
}while(布爾運算式);
do whiie 回圈的執行順序
首先執行回圈陳述句,然后再判斷布爾運算式是后為true.
因此,無論布爾運算式的值是否是true,第一次回圈都會執行,
示例代碼1:列印1~10
public static void main(String[] args) {
int i=1;
do{
System.out.println(i);
i++;
}while (i<=10);
}

示例代碼2:演示布爾運算式不成立,回圈陳述句執行一次
public static void main(String[] args) {
int i=0;
do{
System.out.println(i);
}while (i>0);//i=0 i>0運算式的值為false
}

4 邏輯控制綜合案例
4.1 輸出1000~1200之間所有的閏年
public static void main2(String[] args) {
for (int i = 1000; i <=1200 ; i++) {
if(i%100!=0&&i%4==0||i*400==0)
{
System.out.println(i);
}
}
}

4.2 計算1~100之間9出現的次數
public static void main(String[] args) {
int i=1;
int num=0;
while(i<=100){
int j=i;
/*
求出一個數各個位上的數字
回圈執行以下操作
第一步:用這個數取余10的到個數
第二步:這個數除等10
第三步:判斷這個數是不是0
*/
while (j>0){
if(j%10==9) {
num++;
}
j=j/10;
}
i++;
}
System.out.println(num);//9 19 29 39 49 59 69 79 89 中各出現一次9
//90 91 92 93 94 95 96 97 98中各出現一次9
//99中出現兩次9 總共20個9
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/321213.html
標籤:java

