Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Java Array:คู่มือสำหรับผู้เริ่มต้น

จะเกิดอะไรขึ้นหากมีวิธีที่คุณสามารถประกาศตัวแปรหนึ่งตัวที่เก็บหลายค่าได้ มี? เยี่ยมมาก ใน Java มีแนวคิดที่เรียกว่าอาร์เรย์ที่ช่วยให้คุณทำสิ่งนี้ได้อย่างแท้จริง คุณสามารถเก็บค่าหลายค่าไว้ในตัวแปรเดียว ซึ่งช่วยให้โค้ดของคุณสะอาดและเป็นระเบียบ

ในคู่มือนี้ เราจะพูดถึงวิธีการทำงานของอาร์เรย์ เหตุผลที่ใช้ และวิธีที่คุณสามารถจัดการเนื้อหาของอาร์เรย์ เราจะพูดถึงตัวอย่างบางส่วนเพื่อแสดงวิธีการทำงาน

อาร์เรย์คืออะไร

อาร์เรย์หรือที่เรียกว่ารายการคือโครงสร้างข้อมูลที่มีลำดับขององค์ประกอบ คุณสามารถจัดเก็บรายการตั้งแต่ศูนย์ขึ้นไปในอาร์เรย์ได้ แต่รายการทั้งหมดต้องเป็นประเภทเดียวกัน ตัวอย่างเช่น อาร์เรย์สามารถเก็บหนึ่งร้อยสตริงหรือห้าสิบสองตัวเลข

อาร์เรย์มีประโยชน์เพราะช่วยให้คุณจัดกลุ่มค่าที่คล้ายกันไว้ด้วยกัน สมมติว่าคุณกำลังกำหนดประเภทกาแฟหลายประเภท แทนที่จะประกาศกาแฟแต่ละประเภทเป็นตัวแปรในตัวเอง คุณสามารถจัดกลุ่มกาแฟแต่ละประเภทเข้าด้วยกันเป็นอาร์เรย์ได้

เมื่อคุณประกาศอาร์เรย์แล้ว คุณสามารถใช้วิธีการและการดำเนินการเดียวกันกับทุกค่าในอาร์เรย์ได้โดยการวนซ้ำ

วิธีหนึ่งในการคิดเกี่ยวกับอาร์เรย์คือการรวบรวมค่าต่างๆ คุณรู้หรือไม่ว่ารายการสิ่งที่ต้องทำที่คุณต้องทำในวันนี้? ที่คล้ายกับอาร์เรย์ มีรายการงานที่คุณต้องทำ และแต่ละงานจะถูกจัดเก็บไว้ในลำดับเฉพาะ

การประกาศอาร์เรย์

การประกาศอาร์เรย์ใน Java เป็นเรื่องง่าย สิ่งที่คุณต้องทำคือเลือกชื่อสำหรับอาร์เรย์ของคุณและระบุประเภทข้อมูล นี่คือตัวอย่างการประกาศอาร์เรย์ชื่อ coffees :

String[] coffees;

รหัสของเราสร้างอาร์เรย์ที่เรียกว่า coffees . ทางด้านซ้าย คุณมีประเภทของข้อมูลที่จะจัดเก็บไว้ในอาร์เรย์ของคุณ คุณยังมีวงเล็บเปล่าคู่หนึ่ง ซึ่งจะบอกคุณโค้ดว่าคุณต้องการกำหนดอาร์เรย์ ไม่ใช่แค่ตัวแปรสตริง ทางด้านขวา คุณมีชื่อของตัวแปร

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

เรายังทำไม่เสร็จ เมื่อคุณประกาศอาร์เรย์ คุณต้องบอกโปรแกรมของคุณว่าต้องการให้อาร์เรย์มีกี่รายการ ซึ่งช่วยให้ Java สามารถจัดสรรหน่วยความจำที่จำเป็นในการจัดเก็บค่าในอาร์เรย์ของคุณ

เราต้องการ coffees . ของเรา เพื่อเก็บสามส่วนผสมที่เราชื่นชอบที่ร้านค้าในพื้นที่ของเรา ในการทำเช่นนี้ เราจะบอกโปรแกรมของเราว่าจำนวนองค์ประกอบที่อาร์เรย์ของเราสามารถเก็บได้คือสาม:

coffees = new String[3];

สิ่งนี้จะสร้างค่าว่างสามค่าซึ่งสามารถเติมลงในอาร์เรย์ของเราได้

ตรวจสอบให้แน่ใจว่าคุณคิดเกี่ยวกับจำนวนค่าที่คุณต้องการเก็บไว้ในอาร์เรย์ของคุณ สิ่งสำคัญที่ควรทราบคือเมื่อคุณกำหนดขนาดของตัวแปรอาร์เรย์แล้ว จะไม่สามารถเปลี่ยนแปลงได้

เราสามารถบีบอัดโค้ดของเราลงในบรรทัดเดียวโดยที่เราทั้งคู่ประกาศอาร์เรย์และจัดสรรหน่วยความจำ:

String[] coffees = new String[4];

นี่เป็นวิธีที่ดีที่สุดในการประกาศอาร์เรย์เพราะกระชับและเรียบง่าย โอกาสเดียวที่วิธีนี้ใช้ไม่ได้ผลคือเมื่อคุณไม่แน่ใจว่าจะเก็บค่ากี่ค่าในอาร์เรย์ของคุณ หากเป็นกรณีนี้ คุณอาจต้องการประกาศอาร์เรย์ก่อน จากนั้นจึงจัดสรรหน่วยความจำเมื่อโปรแกรมของคุณทราบจำนวนค่าที่จะจัดเก็บ

ในกรณีนี้ อาร์เรย์ของเราจะเก็บค่าสตริงไว้ อย่างไรก็ตาม คุณยังสามารถประกาศอาร์เรย์ของจำนวนเต็ม อาร์เรย์ของอ็อบเจ็กต์ อาร์เรย์ของอาร์เรย์ หรืออาร์เรย์ที่มีข้อมูลประเภทอื่นได้

การเริ่มต้นอาร์เรย์

เรายังไม่เสร็จสิ้นในการตั้งค่าอาร์เรย์ของเรา จนถึงตอนนี้ เราได้ประกาศอาร์เรย์มาตรฐานแล้ว ปัญหาคือยังไม่มีค่าใดๆ ไวยากรณ์สำหรับการกำหนดชุดของค่าเริ่มต้นให้กับอาร์เรย์ในขณะที่ประกาศตัวแปรคือ:

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

ในตัวอย่างนี้ เราได้กำหนดค่าสามค่าให้กับอาร์เรย์ของเรา

การเข้าถึงองค์ประกอบในอาร์เรย์

ความงามของอาร์เรย์คือเข้าถึงได้ง่าย เปรียบเสมือนการวนรอบรายการในรายการสิ่งที่ต้องทำที่คุณต้องการเน้น

ภายในอาร์เรย์ ทุกรายการจะมีหมายเลขพิเศษของตัวเอง เหล่านี้เรียกว่าหมายเลขดัชนี หมายเลขดัชนีเริ่มต้นที่หมายเลข 0 และเพิ่มขึ้น 1 สำหรับแต่ละรายการในอาร์เรย์ของคุณ พิจารณารายการต่อไปนี้:

  • 0:รวันดา อิซูบา
  • 1:เฟรนช์โรสต์
  • 2:เวียดนามดาลัดอาราบิก้า

ในรายการนี้ การผสมผสานของ Rwanda Izuba จะมีค่าดัชนีเป็น 0 ส่วนผสมของ French Roast จะมีค่าดัชนี 1 และการผสมผสานของ Vietnam Da Lat อาราบิก้าจะมีค่าดัชนีเป็น 2 ลองใช้อาร์เรย์ต่อไปนี้:

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

หากคุณต้องการเข้าถึงรายการแรกในอาร์เรย์นี้ คุณสามารถใช้รหัสนี้:

System.out.println(coffees[0]);

รหัสของเราส่งคืน:Rwanda Izuba

ค่าดัชนีจะถูกส่งไปยังอาร์เรย์ของคุณระหว่างวงเล็บเหลี่ยม ช่วงของตัวเลขที่เป็นค่าดัชนีอยู่ระหว่าง 0 ถึง 1 น้อยกว่าความยาวของอาร์เรย์ของคุณ นี่เป็นเพราะอย่างที่เราได้กล่าวไว้ก่อนหน้านี้ อาร์เรย์ถูกสร้างดัชนีจากค่า 0

หากคุณพยายามเข้าถึงค่าดัชนีที่ไม่มีอยู่ ข้อผิดพลาดจะถูกส่งคืน:

ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

ในกรณีนี้ เราพยายามเข้าถึงค่าดัชนี 3 ในอาร์เรย์ของเรา เนื่องจากค่าดัชนีของเราเพิ่มขึ้นถึงสองเท่านั้น โปรดจำไว้ว่า อาร์เรย์จะได้รับการจัดทำดัชนีโดยเริ่มจาก 0 ซึ่งจะมีการแสดงข้อผิดพลาด

มาดูกันดีกว่า สมมติว่าคุณต้องการดูทุกรายการในอาร์เรย์ของคุณและดำเนินการกับแต่ละรายการ เราจะพิมพ์ทุกรายการในอาร์เรย์ของเราไปที่คอนโซล คุณสามารถทำได้โดยใช้ for-each loop ดังนี้:

class CoffeeArray {
   	public static void main(String[] args) {
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
for (String coffee : coffees) {
	System.out.println(coffee);
}
	}
}

รหัสของเราส่งคืน:

Rwanda Izuba
French Roast
Vietnam Da La Arabica

ในตัวอย่างนี้ โค้ดของเราจะวนซ้ำทุกรายการใน coffees อาร์เรย์และพิมพ์แต่ละรายการไปยังคอนโซล เราใช้ลูป for-each แทนลูป "for" เพราะไม่ต้องใช้ตัวนับ ซึ่งหมายความว่าจะกระชับและอ่านง่ายขึ้น

การเปลี่ยนรายการในอาร์เรย์

ฮูสตันพวกเรามีปัญหา. ปรากฎว่าการผสมผสานแบบฝรั่งเศสที่เราโปรดปรานไม่ได้เรียกว่า French Roast เรียกว่า French Classic หากเราต้องการเปลี่ยนสิ่งนี้ เราสามารถใช้การจัดทำดัชนี

พิจารณารหัสต่อไปนี้:

class CoffeeArray {
   	public static void main(String[] args) {
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
coffees[1] = "French Classic";
System.out.println(coffees[1]);
	}
}

เราใช้ตัวดำเนินการมอบหมาย (=) เพื่อเปลี่ยนมูลค่าของกาแฟของเราซึ่งอยู่ที่ตำแหน่งดัชนี 1 เราได้เปลี่ยนค่าจาก French Roast ถึง French Classic . รหัสของเราส่งคืน:French Classic

Java Array:ตัวอย่าง

มารวมแนวคิดทั้งหมดที่เราได้พูดคุยกันไว้ในตัวอย่างเดียว สมมติว่าเราต้องการคำนวณว่าเราได้ใช้จ่ายไปกับกาแฟทั้งหมดในช่วงสัปดาห์ที่ผ่านมา

อันดับแรก เราจะตั้งค่าคลาสและตัวแปรสำหรับโปรแกรมของเรา:

class CoffeePrices {
   	public static void main(String[] args) {
		Double[] purchases = {2.55, 2.75, 2.99, 3.05};
		double sum = 0;
	}
}

เราได้ประกาศตัวแปรสองตัว ตัวแปรหนึ่งเก็บรายการซื้อของเรา ตัวแปรถัดไปเป็นตัวนับว่าเราเสียค่ากาแฟไปเท่าไรแล้ว ขั้นตอนต่อไปของเราคือการสร้าง for-each loop ซึ่งวนรอบการซื้อกาแฟทุกครั้งและเพิ่มลงในตัวแปร "sum" ของเรา:

for (double purchase : purchases) {
sum += purchase;
}

หากเรารันโค้ดของเรา โปรแกรมของเราจะคำนวณจำนวนเงินทั้งหมดที่เราใช้ไปกับกาแฟในสัปดาห์ที่แล้ว มีเพียงปัญหาเดียวคือ โปรแกรมของเราไม่ได้บอกเราว่าค่านั้นคืออะไร! เราสามารถดึงค่าโดยพิมพ์ออกมาที่คอนโซล:

เมื่อเรารันโค้ดทั้งหมดนี้ร่วมกัน ค่าต่อไปนี้จะถูกส่งกลับ:

You've spent $11.34 on coffee in the last week.

$11.34 on coffee. Not bad! What a useful program.



บทสรุป (และความท้าทาย)

อาร์เรย์เป็นข้อมูลประเภทหนึ่งที่สามารถเก็บค่าต่างๆ ของประเภทข้อมูลเดียวกันได้หลายค่า คุณสามารถประกาศอาร์เรย์สำหรับอะไรก็ได้ เช่น รายชื่อหนังสือเล่มโปรด รายชื่อผู้เล่นในเกม หรือรายการตัวเลขที่คุณต้องการคำนวณค่าเฉลี่ย

คุณกำลังมองหาสิ่งที่ท้าทาย? อ่านต่อ.

เขียนโปรแกรมที่ขอให้ผู้ใช้เลือกสถานที่ท่องเที่ยวเพื่อหาข้อมูลเพิ่มเติม คุณควรจัดเก็บสถานที่ท่องเที่ยวในอาร์เรย์ คุณควรเก็บคำอธิบายหนึ่งประโยคของแต่ละปลายทางไว้ในอาร์เรย์ที่แยกจากกัน

เมื่อผู้ใช้เลือกปลายทางการเดินทาง ให้ค้นหาในอาร์เรย์ของจุดหมายการเดินทาง แล้วคำนวณหมายเลขดัชนี จากนั้น ใช้หมายเลขดัชนีนั้นเพื่อพิมพ์คำอธิบายหนึ่งประโยคของปลายทางที่เกี่ยวข้องไปยังคอนโซล

ตอนนี้คุณพร้อมที่จะเริ่มใช้อาร์เรย์ใน Java อย่างมืออาชีพแล้ว!