var ในลูป for
อนุมานชนิดข้อมูลของตัวแปรในลูป
var ในลูป for เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
var ในลูป
var ใช้เป็นตัวแปรของลูปได้อย่างเป็นธรรมชาติทั้งในลูป for แบบดั้งเดิมและลูป for-each แบบเพิ่มความสามารถ คอมไพเลอร์จะอนุมานชนิดจากบริบทของลูป
ตัวนับลูป for แบบดั้งเดิม
ในลูป for แบบดั้งเดิม var จะอนุมานชนิดของตัวนับจากค่าเริ่มต้น ในที่นี้ var i = 0 จะอนุมานเป็น int
public class Main {
public static void main(String[] args) {
for (var i = 0; i < 5; i++) {
System.out.println("i = " + i);
}
}
}for-each กับรายการ
ในลูป for แบบเพิ่มความสามารถ var จะอนุมานชนิดของสมาชิกจากกลุ่มข้อมูล ในที่นี้ name แต่ละตัวเป็น String
import java.util.List;
public class Main {
public static void main(String[] args) {
var names = List.of("Ann", "Ben", "Cara");
for (var name : names) {
System.out.println(name);
}
}
}การวนซ้ำผ่านอาร์เรย์
วิธีเดียวกันนี้ใช้กับอาร์เรย์ได้เช่นกัน โดยชนิดของสมาชิกจะถูกอนุมานจากชนิดของอาร์เรย์
public class Main {
public static void main(String[] args) {
var scores = new int[]{90, 85, 78};
var total = 0;
for (var s : scores) {
total += s;
}
System.out.println("Total: " + total);
}
}การวนซ้ำรายการในแมป
เมื่อวนซ้ำรายการในแมป var จะช่วยให้คุณไม่ต้องเขียนชนิด Map.Entry ที่ยืดยาว
import java.util.Map;
public class Main {
public static void main(String[] args) {
var ages = Map.of("Ann", 30, "Ben", 25);
for (var entry : ages.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
}
}เมธอดของสมาชิกที่อนุมานได้
เนื่องจากทราบชนิดของสมาชิกแล้ว คุณจึงเรียกใช้เมธอดของสมาชิกภายในลูปได้ โดยมีการตรวจสอบอย่างสมบูรณ์ขณะคอมไพล์
import java.util.List;
public class Main {
public static void main(String[] args) {
var words = List.of("red", "green");
for (var w : words) {
System.out.println(w.toUpperCase() + " (" + w.length() + ")");
}
}
}ลูปซ้อนกัน
คุณสามารถใช้ var ในลูปซ้อนกันได้เช่นกัน ทำให้การประกาศตัวนับแต่ละตัวสั้นลง
public class Main {
public static void main(String[] args) {
for (var i = 1; i <= 3; i++) {
for (var j = 1; j <= 3; j++) {
System.out.print(i * j + " ");
}
System.out.println();
}
}
}การนับถอยหลัง
ชนิดที่อนุมานได้จะยึดตามตัวกำหนดค่าเริ่มต้น ดังนั้นลูปที่ลดค่าลงจึงทำงานในลักษณะเดียวกัน
public class Main {
public static void main(String[] args) {
for (var n = 5; n >= 1; n--) {
System.out.println(n);
}
System.out.println("Liftoff");
}
}var กับตัวนับชนิดจำนวนเต็มขนาดยาว
หากต้องใช้ตัวนับชนิด long ให้ใช้ค่าคงที่ชนิด long ในตัวกำหนดค่าเริ่มต้น เพื่อให้ var อนุมานชนิดที่มีขนาดใหญ่กว่าได้
public class Main {
public static void main(String[] args) {
var sum = 0L;
for (var i = 1L; i <= 1000000L; i++) {
sum += i;
}
System.out.println(sum);
}
}ความอ่านง่ายในลูป
ลูปเป็นหนึ่งในตำแหน่งที่เหมาะสมที่สุดสำหรับใช้ var เพราะเห็นชนิดได้อย่างชัดเจนจากชุดข้อมูลหรือตัวกำหนดค่าเริ่มต้น โค้ดจึงกระชับและปลอดภัย
import java.util.List;
public class Main {
public static void main(String[] args) {
var temps = List.of(20, 22, 19, 25);
var max = Integer.MIN_VALUE;
for (var t : temps) {
if (t > max) max = t;
}
System.out.println("Max: " + max);
}
}ดัชนีและค่าพร้อมกัน
คุณสามารถใช้ลูปแบบมีดัชนีที่คุ้นเคยร่วมกับ var เพื่ออ่านทั้งตำแหน่งและค่าจากรายการได้
import java.util.List;
public class Main {
public static void main(String[] args) {
var items = List.of("a", "b", "c");
for (var i = 0; i < items.size(); i++) {
System.out.println(i + ": " + items.get(i));
}
}
}ตรวจสอบอย่างรวดเร็ว
ใน for (var name : names) ซึ่ง names เป็น List<String> นั้น name มีชนิดใด
ทบทวน
คุณได้เรียนรู้การใช้ var ในลูปดังนี้:
- ลูปแบบคุ้นเคย: อนุมานชนิดของ ตัวนับ จากตัวกำหนดค่าเริ่มต้น
- การวนซ้ำสมาชิก: อนุมานชนิดของ สมาชิก จากชุดข้อมูลหรืออาร์เรย์
- ช่วยลดการเขียนชนิดที่ยืดยาว เช่น
Map.Entry - ใช้ค่าคงที่ชนิด long เช่น
0Lสำหรับตัวนับชนิดlong - ลูปเป็นตำแหน่งที่เหมาะสมอย่างยิ่งสำหรับใช้
var
คำถามที่พบบ่อย
บทเรียน “var ในลูป for” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “var ในลูป for” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “var ในลูป for”
อนุมานชนิดข้อมูลของตัวแปรในลูป คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “var ในลูป for” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ