Java Enum - การแจงนับพร้อมตัวอย่างใน Java
ที่มา:
FreeCodeCamp การแจงนับ (การแจงนับหรือ
แจงนับโดยย่อ) ใน Java เป็นประเภทข้อมูลพิเศษที่ประกอบด้วยชุดของค่าคงที่ที่กำหนดไว้ล่วงหน้า โดยทั่วไปแล้ว enum จะใช้เมื่อทำงานกับค่าที่ไม่จำเป็นต้องเปลี่ยนแปลง เช่น วันในสัปดาห์ ฤดูกาล สี และอื่นๆ
ในบทความนี้ เราจะดูวิธีสร้าง
enumและวิธีกำหนดค่าให้กับตัวแปรอื่นๆ นอกจากนี้เรายังจะได้เรียนรู้วิธีใช้
enumใน คำสั่ง
switchหรือวนซ้ำค่าของมัน
วิธีสร้าง Enum ใน Java
ในการสร้างenum
เรา ใช้ คีย์เวิร์ด
enum ซึ่งคล้ายกับวิธีที่คุณสร้าง คลาส โดยใช้ คีย์เวิร์ด
class นี่คือตัวอย่าง:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
ในโค้ดนี้ เราได้สร้าง
enumที่เรียกว่า
Colours คุณอาจสังเกตเห็นว่า ค่า
แจงนับ ทั้งหมด ที่นี่เขียนด้วยตัวพิมพ์ใหญ่ - แต่นี่เป็นเพียงแบบแผนทั่วไป หากเขียนค่าเป็นตัวพิมพ์เล็กจะไม่มีข้อผิดพลาด แต่ละค่าใน
แจงนับจะถูกคั่นด้วยเครื่องหมายจุลภาค ต่อไปเราจะสร้างตัวแปรใหม่และกำหนดค่าหนึ่งในค่าenum
ของ เรา
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
ซึ่งคล้ายกับการเริ่มต้นตัวแปรอื่นๆ ในโค้ดนี้ เราได้เริ่มต้น ตัวแปร
Coloursและกำหนดให้เป็นหนึ่งใน ค่าแจง
นับโดยใช้ไวยากรณ์จุด:
สี red = Colours.RED; . โปรดทราบว่าเราสามารถสร้าง enum ของเราภายใน คลาส
Mainและโค้ดจะยังคงใช้งานได้:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
หากเราต้องการรับเลขลำดับของค่าใดๆ เราจะต้องใช้วิธี
การลำดับ () นี่เป็นอีกตัวอย่างหนึ่ง:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red.ordinal());
}
}
red.ordinal()จากโค้ดด้านบนส่งคืน 0
วิธีใช้ Enum ในคำสั่ง Switch
ตอนนี้เราจะเรียนรู้วิธีใช้
enumใน คำสั่ง
switch :
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors myColor = Colors.YELLOW;
switch(myColor) {
case RED:
System.out.println("The color is red");
break;
case BLUE:
System.out.println("The color is blue");
break;
case YELLOW:
System.out.println("The color is yellow");
break;
case GREEN:
System.out.println("The color is green");
break;
}
}
}
นี่ เป็นตัวอย่างง่ายๆ ของวิธีที่เราสามารถใช้
enumใน คำสั่ง
switch เราสามารถส่งออก
"สีเป็นสีเหลือง" ไปยังคอนโซล ได้ เนื่องจากนี่เป็นกรณีเดียวที่ตรงกับเงื่อนไขของ คำสั่ง
switch
วิธีวนซ้ำค่า enum
สำหรับ enum นั้น Java มี เมธอด
ค่า ()ที่ส่งคืนอาร์เรย์ของค่า
enum เราจะใช้
foreach loop เพื่อวนซ้ำและพิมพ์ค่าของ
enum ของ เรา คุณสามารถทำได้เช่นนี้:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
}
}
}
บทสรุป
ในบทความนี้ เราได้เรียนรู้ว่า
enum คืออะไร ใน Java วิธีสร้างและวิธีกำหนดค่าให้กับตัวแปรอื่น ๆ นอกจากนี้เรายังได้เห็นวิธีใช้ ประเภท
enumกับ คำ สั่ง
switchและวิธีที่เราสามารถวนซ้ำ ค่า
enum ขอให้มีความสุขในการเขียนโค้ด!
While Loop ใน Java: ไวยากรณ์และการใช้งาน
ที่มา:
Dev.to วันนี้เราจะมาทำความเข้าใจแนวคิดและไวยากรณ์ของ
while loop ใน Java และดูวิธีใช้ loop นี้เพื่อวนซ้ำผ่านอาร์เรย์
ในขณะที่แนวคิดวนรอบ
การวน
ซ้ำ whileเป็นหนึ่งในประเภทการวนซ้ำพื้นฐานใน Java และสามารถใช้เพื่อวัตถุประสงค์หลายประการในโปรแกรม เช่นเดียวกับ
for loop คุณสามารถใช้ while loop เพื่อดำเนินการตามเงื่อนไขได้ ใน
ขณะที่ วนซ้ำ ตัวนับจะไม่เปิดเสมอไป จำนวนครั้งของ การวน
ซ้ำ while ขึ้นอยู่กับความถี่ที่เงื่อนไขการวนซ้ำคืน
ค่า true การกำหนดค่าเริ่มต้นใน ลูป
while อาจเป็นทาง เลือกในกรณีส่วนใหญ่ ไม่เหมือนใน ลูป
for บางครั้ง การวน
ซ้ำ whileไม่ได้ถูกดำเนินการแบบวนซ้ำเสมอไป ลองยกตัวอย่างที่เป็นรูปธรรม:
System.out.println("You Input a wrong number");
int i = input.nextInt();
while(i==1||i==2||i==3||i==4){
System.out.println("inside the while loop block");
}
System.out.println("outside the while loop block")
ในที่นี้โค้ดจะใช้ การวน
ซ้ำ whileเพื่อตรวจสอบอินพุตของผู้ใช้ตามเงื่อนไขบางประการ ดังนั้นจึงทำซ้ำเพียงครั้งเดียว
ในขณะที่ไวยากรณ์วนซ้ำ
while(condition){
}
เงื่อนไขการวนซ้ำwhile
รับอาร์กิวเมนต์ที่ส่งคืนค่าบูลีน
จริงหรือ
เท็จ เมื่อ
เป็นจริงโค้ดใน
whileจะถูกดำเนินการ แต่เมื่อ
เป็นเท็จการวนซ้ำจะสิ้นสุดลง
การไหลของแต่ละ while loop
while loop มีโฟลว์ที่ยอมรับได้: การเริ่มต้น > เงื่อนไข > การดำเนินการคำสั่ง ขั้นแรกคือขั้นเริ่มต้น สามารถทำได้โดยการประกาศตัวแปรและกำหนดค่าเริ่มต้นด้วย ขั้นตอนที่สองคือขั้นตอนเงื่อนไข ขั้นตอนนี้จะต้องคืนค่า
จริงหรือ
เท็จ หากส่งคืน
trueคำสั่งใน
while loop จะถูกดำเนินการ แต่ถ้าส่งคืน
falseการวนซ้ำจะสิ้นสุด
การใช้ while loop เป็นตัวนับ
เช่นเดียวกับ
for loop ในขณะที่ loop ก็สามารถใช้เป็นตัวนับได้เช่นกัน โปรแกรมด้านล่างนี้ใช้การ วนซ้ำ
whileเพื่อวนซ้ำจาก 2 ถึง 20 นี่คือการพิมพ์เลขคู่
int j = 2;
while(j <=20){
System.out.println(j);
j+=2;
}
ดังที่คุณเห็นในโปรแกรม
jถูกเตรียมใช้งานเป็น 2 เงื่อนไขจะถูกทดสอบว่า
jน้อยกว่าหรือเท่ากับ 20 หากส่งคืน
trueคำสั่งจะถูกดำเนินการ แต่หากส่งคืน
false การวน ซ้ำ whileจะสิ้นสุดลง
while สามารถใช้วนซ้ำผ่านอาร์เรย์ได้
int[] age = {20, 30, 40, 40, 90};
int i = 0;
while (i < age.length)
{
System.out.println(age[i]);
i++;
}
ในโค้ดนี้ เรามีอาร์เรย์อายุและ มีการใช้
while loop เพื่อวนซ้ำผ่านอาร์เรย์และพิมพ์แต่ละองค์ประกอบในอาร์เรย์ ในการตรวจสอบจำนวนองค์ประกอบทั้งหมดในอาร์เรย์ จะใช้
age.lengthในโปรแกรมด้านบน
iทำหน้าที่เป็นดัชนี
แบ่งคำสั่งในวง while
คำสั่ง
แบ่งยังสามารถใช้ได้ใน
while loop เช่นเดียวกับ
for loop :
int i = 1;
while (true)
{
System.out.println(i);
if (i == 20)
{
break;
}
i++;
}
ในโปรแกรมข้างต้น คำสั่ง
แบ่งถูกใช้เพื่อหยุดโปรแกรมไม่ให้ทำงานอย่างไม่มีกำหนด
while(true) หมายความ ว่า โปรแกรมจะคืนค่า
true เสมอ
สามารถใช้ while loop เพื่อตรวจสอบอินพุตของผู้ใช้
System.out.println("Select an option\n"+
"1.Add Users\n"+
"2.Delete Users");
int x = input.nextInt();
while(x==1||x==2){
}
System.out.println("You Input a wrong number");
ในโปรแกรมข้างต้น จะใช้
while loop เพื่อตรวจสอบอินพุตของผู้ใช้และให้แน่ใจว่าผู้ใช้เลือก 1 หรือ 2 หากผู้ใช้เลือกหมายเลขอื่น
System.out.println("You Input a wrong number"); .
คำสั่งแบบมีเงื่อนไขพร้อม while loop
int i = 0;
while(i<10){
i++;
if(i==5){
continue;
} System.out.println(i);
}
คำสั่งแบบมีเงื่อนไขยังสามารถใช้ใน
ขณะที่ วนซ้ำ เพื่อข้ามการวนซ้ำเฉพาะ ในโปรแกรมข้างต้น
หากใช้คำสั่งเพื่อตรวจสอบ
i==5หากคืนค่า
เป็น trueการวนซ้ำนั้นจะถูกข้ามไป
ในขณะที่การออกแบบวง
มาสร้างเกมทายผลโดยใช้
while loop กัน ดีกว่า
import java.util.*;
public class Main
{
static Scanner input = new Scanner(System.in);
static boolean hasWon;
static int count;
static int guess;
public static void main (String[] args)
{
System.out.println("Welcome to guess world");
System.out.println("Do you want to start the game? ");
System.out.println("1.Yes\n" +
"2.No");
int option= input.nextInt();
int guessNumber = (int) Math.floor(Math.random() * 10 + 1);
if (!( option == 2 ))
{
System.out.println("Welcome, choose a guess between 1 and 10\n" +
"you have only ten trials");
while (count <= 10)
{
int userGuess = input.nextInt();
if (userGuess == guessNumber)
{
hasWon = true;
System.out.println("Congratulation, you guessed right at " + count + " count");
count++;
break;
}
else if (userGuess < guessNumber)
{
hasWon = false;
System.out.println("Oops, you guessed a lower number, try an higher one");
count++;
}
else if (userGuess > guessNumber)
{
System.out.println("Oops, you guessed an high number, try an lower one");
hasWon = false;
}
}
if (hasWon == false)
{
System.out.println("You trials exceeds 10");
}
}
}
}
ในโปรแกรมนี้ เราสร้างเกมทายตัวเลขโดยใช้
while loop ผู้เล่นมีความพยายามเพียง 10 ครั้ง เมื่อจำนวนครั้งที่เขาเล่นเกมเกิน 10 เกมจะจบลง หากผู้เล่นทายหมายเลขถูก จะมีข้อความแสดงความยินดีปรากฏบนคอนโซล
บทสรุป
การวน
ซ้ำ whileอาจดูซับซ้อน แต่ก็ไม่ได้ยากขนาดนั้นที่จะเชี่ยวชาญ นอกจากนี้ยังเป็นลูปที่ใช้กันมากที่สุดเป็นอันดับสองใน Java และสามารถใช้เพื่อวัตถุประสงค์ที่หลากหลาย
GO TO FULL VERSION