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

จะใช้การแปลงประเภทจำนวนเต็มใน JShell ใน Java 9 ได้อย่างไร


JShell เป็นเครื่องมือโต้ตอบบรรทัดคำสั่งที่นำมาใช้ในเวอร์ชัน Java 9 ที่ช่วยให้โปรแกรมเมอร์ดำเนินการคำสั่งง่ายๆ นิพจน์ ตัวแปร เมธอด คลาส อินเทอร์เฟซ ฯลฯ โดยไม่ต้องประกาศ main() วิธีการ

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

มีสองประเภทคือ จำนวนเต็ม การพิมพ์ดีด :

  • การกำหนดตามตัวอักษรถึงตัวแปร: ตัวอย่างเช่น สั้น s1 =123456 , ข้อมูลอยู่นอกช่วง เป็นที่ทราบกันดีอยู่แล้วที่ เวลาคอมไพล์ และคอมไพเลอร์ตั้งค่าสถานะข้อผิดพลาด
  • การกำหนดตัวแปรต่อตัวแปร: ตัวอย่างเช่น s1 =i1 . ค่าที่เก็บไว้ใน int ที่สเตจนั้น:4567 ซึ่งอยู่ในช่วงของประเภท short และคอมไพเลอร์ไม่มีข้อผิดพลาดใดๆ สามารถจองไว้ล่วงหน้าด้วยการแคสต์ที่ชัดเจน s1 =(สั้น) i1 .

ในข้อมูลโค้ดด้านล่าง เราสามารถใช้การแปลงทั้งแบบโดยนัยและแบบชัดแจ้ง

C:\Users\User>jshell
|   Welcome to JShell -- Version 9.0.4
|   For an introduction type: /help intro

jshell> byte b = 128;
|   Error:
|   incompatible types: possible lossy conversion from int to byte
|   byte b = 128;
|            ^-^

jshell> short s = 123456;
|   Error:
|   incompatible types: possible lossy conversion from int to short
|   short s = 123456;
|             ^----^

jshell> short s1 = 3456
s1 ==> 3456

jshell> int i1 = 4567;
i1 ==> 4567

jshell> s1 = i1;
|   Error:
|   incompatible types: possible lossy conversion from int to short
|   s1 = i1;
|        ^^

jshell> s1 = (short) i1;
s1 ==> 4567

jshell> int num = s1;
num ==> 4567