Video: SQL căn bản - Bài 36: DEFAULT Constraint 2025
Đây là một câu đố Java: Bạn có hai đội bóng chày - Hankees và Socks. Bạn muốn hiển thị điểm số của đội trên hai dòng riêng biệt, với điểm số của người chiến thắng được liệt kê đầu tiên. (Trên màn hình máy tính, điểm số của người chiến thắng được hiển thị trên điểm số của người thua cuộc.) Điều gì sẽ xảy ra khi điểm số bị trói?
Bạn có từ bỏ không? Câu trả lời là, không có câu trả lời đúng. Điều gì xảy ra tùy thuộc vào cách bạn viết chương trình. Khi điểm số bằng nhau, điều kiện
hankees> vớ
là
sai
. Vì vậy, luồng thực hiện của chương trình giảm xuống đến khoản
khác
. Mệnh đề đó hiển thị số điểm Socks đầu tiên và Hankees đứng thứ hai.
nhập khẩu. util. Máy quét;
nhập tĩnh java. lang. Hệ thống. trong;
nhập tĩnh java. lang. Hệ thống. ngoài;
classTwoTeams {
public static void main (String args []) {
Máy quét bàn phím = máy quét mới (trong );
túi xách, tất;
ra ngoài. in ("Hankees và Socks điểm?");
hankees = bàn phím. nextInt ();
vớ = bàn phím. nextInt ();
ra ngoài. println ();
nếu (hankees> vớ) {
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
} khác {
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
}
bàn phím. gần();
}
}
Chương trình không phải làm việc theo cách này. Nếu bạn lấy mã này và thay đổi
hankees> vớ
đến
hankees> = vớ
, sau đó, trong trường hợp tie, điểm số của Hankees đứng đầu.
Giả sử bạn muốn kiểm soát nhiều hơn một chút. Khi điểm số bằng nhau, bạn muốn xem thông báo
Đó là một tin nhắn tie
. Để làm được điều này, hãy suy nghĩ theo một cái nĩa ba cạnh. Bạn có một ngạnh cho một chiến thắng Hankees, một ngọc cho một Socks giành chiến thắng, và một cái cương thứ ba cho một tie. Bạn có thể viết mã này bằng nhiều cách khác nhau, nhưng một cách làm cho rất nhiều ý nghĩa là mã dưới đây.
nhập khẩu java. util. Máy quét;
nhập tĩnh java. lang. Hệ thống. ngoài;
lớp WinLoseOrTie {
public static void main (String args []) {
Máy quét bàn phím = máy quét mới (Hệ thống in);
int hankees, vớ;
ra ngoài. in ("Hankees và Socks điểm?");
hankees = bàn phím. nextInt ();
vớ = bàn phím. nextInt ();
ra ngoài. println ();
nếu (hankees> vớ) {
ra ngoài. println ("Hankees thắng …");
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
} khác nếu (vớ> hankees) {
ra ngoài.println ("Socks thắng …");
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
} khác {
ra ngoài. println ("Đó là một sự kết hợp …");
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
}
bàn phím. gần();
}
}
Đoạn mã này minh hoạ cách suy nghĩ về một vấn đề. Bạn có một câu hỏi với hơn hai câu trả lời. (Câu hỏi đặt ra là "Who wins?" Và câu trả lời là "Hankees", "Socks", "No".) Vấn đề đặt ra cho câu lệnh if, nhưng câu lệnh
if
chỉ có hai nhánh - chi nhánh
đúng
và chi nhánh
sai
. Vì vậy, bạn kết hợp các lựa chọn thay thế để tạo cascading
nếu
tuyên bố.
Ở đây, định dạng cho câu lệnh
nếu
nếu nếu (Condition1
) <
SomeStatements } else if (Điều kiện 2
) {
Các điều kiện khác
} khác {
EvenMoreStatements
}
Nói chung, bạn có thể sử dụng
khác nếu
(
ra ngoài. println ("Hankees thắng …");
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
ra ngoài. in ("Socks:");
ra ngoài. println (tất); } khác nếu (socksWin)
(
ra ngoài. in ("Socks:");
ra ngoài. println (tất);
ra ngoài. println (hankees); } khác nếu (isATie)
(
ra ngoài. println ("Đó là một sự kết hợp …");
ra ngoài. in ("Hankees:");
ra ngoài. println (hankees);
ra ngoài. in ("Socks:");
ra ngoài. println (tất); } khác nếu (trò chơiCancelled)
ra ngoài. println ("Xin lỗi, người hâm mộ thể thao");
} khác {
}
Không có gì đặc biệt về tầng
nếu phát biểu
. Đây không phải là tính năng ngôn ngữ lập trình mới. Tuyên bố
nếu
lợi dụng lỗ hổng trong Java - một lỗ hổng về việc bỏ dấu ngoặc nhọn trong một số trường hợp nhất định. Ngoài ra, câu lệnh
nếu