JShell เป็น command-line tool ใช้ประเมิน statements, expressions, classes, methods, variables แล้วพิมพ์ output ทันที
Array ใน Java เป็น object ต้อง declare แล้วค่อย create ประกาศ variable ที่ hold array of integers: int[] array ใน array index เริ่มจาก 0 ถึง (length - 1)
Snippet 1: Array Literal และ Access
jshell> int[] marks = {80, 75, 95};
marks ==> int[3] { 80, 75, 95 }
jshell> marks[0]
$2 ==> 80
jshell> marks[1]
$3 ==> 75
jshell> marks[2]
$4 ==> 95
jshell> int sum = 0;
sum ==> 0
jshell> for(int mark:marks) {
...> sum = sum + mark;
...> }
jshell> sum
sum ==> 250
ใช้ index หา element ด้วย indexing operator [] marks[0] map ไป element แรกที่ index 0
Snippet 2: Array กำหนดขนาด และ For Loop
jshell> int[] marks = {1, 2, 3, 4, 5, 6, 7, 8};
marks ==> int[8] { 1, 2, 3, 4, 5, 6, 7, 8 }
jshell> marks.length
$1 ==> 8
jshell> for(int i=0; i < marks.length; i++) {
...> System.out.println(marks[i]);
...> }
1
2
3
4
5
6
7
8
Snippet 3: Default Values ตาม Type
jshell> int[] marks = new int[5];
marks ==> int[5] { 0, 0, 0, 0, 0 }
jshell> double[] values = new double[5];
values ==> double[5] { 0.0, 0.0, 0.0, 0.0, 0.0 }
jshell> boolean[] tests = new boolean[5];
tests ==> boolean[5] { false, false, false, false, false }
jshell> class Person { ...> }
| created class Person
jshell> Person[] persons = new Person[5];
persons ==> Person[5] { null, null, null, null, null }
สรุป Default Values
| Type | Default Value |
|---|---|
| byte, short, int, long | 0 |
| float, double | 0.0 |
| boolean | false |
| char | '\u0000' (null character) |
| Object types (String, custom classes, arrays) | null |
วิธีสร้าง Array ใน JShell
// 1. Array literal (ขนาดคงที่ ค่ารู้ล่วงหน้า)
int[] a1 = {1, 2, 3};
String[] a2 = {"A", "B", "C"};
// 2. new にサイズ指定 (ค่า default)
int[] a3 = new int[10];
String[] a4 = new String[5];
// 3. new ด้วยค่าเริ่มต้น (anonymous array)
int[] a5 = new int[]{1, 2, 3};
String[] a6 = new String[]{"X", "Y"};
// 4. Multi-dimensional
int[][] matrix = new int[3][4];
int[][] matrix2 = {{1,2}, {3,4}, {5,6}};
Array Operations ใน JShell
jshell> int[] arr = {3, 1, 4, 1, 5};
jshell> java.util.Arrays.toString(arr)
$ ==> "[3, 1, 4, 1, 5]"
jshell> java.util.Arrays.sort(arr)
jshell> arr
arr ==> int[5] { 1, 1, 3, 4, 5 }
jshell> java.util.Arrays.binarySearch(arr, 3)
$ ==> 3
jshell> java.util.Arrays.copyOf(arr, 3)
$ ==> int[3] { 1, 1, 3 }