1、switch語句
基本用法:
switch(expr)
在使用switch語句時有以下注意事項
①switch(expr)語句中,expr表示式的型別必須是與int型別相容的基本型別(能自動轉換為int型別包括byte,short,char和int型)
②在 case valuen子句中,valuen必須滿足以下條件:
●valuen型別必須與int相容
●valuen必須是常量
●各個case子句的valuen表示式的值不同
③在switch子句中最多只有乙個default子句。如果沒有default子句程式會直接退出switch語句。default子句可以位於switch語句的任何位置,通常都放到後面。
2、綜合例子:八皇后問題
8*8的象棋上擺放8個皇后,使任意2個皇后都不在同一行、同一列、同一對角線上,問有多少種擺法?
location陣列:皇后在棋盤上每行上的列的位置,location[i]=j,表示皇后佔據了第i行第j列
colsoccupied陣列:皇后在棋盤上佔據的列。colsoccupied[j]=1,佔據了第j列
cross1occupied陣列:皇后在棋盤上佔據的正對角線。cross1occupied[i-j+size-1]=1,表示皇后佔據了某一條正對角線
cross2occupied陣列:皇后在棋盤上佔據的反對角線。cross1occupied[i+j]=1,表示皇后佔據了某一條反對角線
package readinglamp;
public
class
queen
// 如果對應的同一列,同一正對角線,同一負對角線都沒被占用則返回true,否則有任意乙個被占用,則返回false
public
boolean
isoccupied(int i, int j)
public
void
setstatus(int i, int j, int flag)
public
void
printcount()
}// 皇后在從第i行開始的擺放位置
public
void
place(int i) else
setstatus(i, j, status_occupy_cancel);}}
}public
void
start()
public
static
void
main(string args)
}
java流程控制
if結構if 條件表示式 流程圖 複雜條件的if結構if 表示式1 表示式2 if 表示式1 表示式2 if 表示式1 if 表示式1 表示式2 表示式3 表示式4 運算子的優先順序 if else 結構if 條件表示式 else 多重if結構if 條件表示式1 else if 條件表示式2 els...
Java流程控制
迴圈 circulation while 迴圈的語法 while 條件表示式 使用while迴圈方式列印100以內4的倍數 while中加if int i 4 while i 100 i do while 條件表示式 先執行後判斷 使用do while迴圈方式列印100以內4的倍數 int i 0 ...
JAVA流程控制
一 1 if 概述 在某些情況下,需要當某一條件滿足時才執行相應 條件不滿足則執行其他 if 四種形式 單分支 雙分支 多分支 巢狀if 1.單分支 if 布林表示式 2.雙分支 if 布林表示式 else 3.多分支 if 布林表示式1 布林表示式1為true時執行的 else if 布林表示式2...