כיצד להמיר long ל-int ב-Java

Kyzd Lhmyr Long L Int B Java



ב-Java, יכולים להיות מצבים מסוימים שבהם המפתח צריך לשמור זיכרון בצורה יעילה. למשל, הקצאת סוג הנתונים בעל טווח ערכים קטן יותר יחסית או היפטרות מהערכים הנוספים. במקרים כאלה, ההמרה של ' ארוך ' ל ' אינט' ב-Java נכנס לתוקף על ידי ייעול הפעולות האריתמטיות, מורכבות הקוד ולוקח פחות זמן ביצוע יחסית.

מאמר זה ירחיב על המרת 'long' ל'int' ב-Java.

מה זה 'לונג' ו'int' בג'אווה?

ה ' ארוך ' הקלד ב-Java נע בין ' -9223372036854775808 ' ל ' 922337203685477580 ' ומוקצה ' 64 ' פיסות. ה ' int 'סוג, לעומת זאת, תופס' 32 ' ביטים החל מ' -2147483648 ' ל ' 2147483647 '. זה מרמז שכל מספר של ' int ניתן לתמוך בקלות בסוגי ' ארוך ” סוג אבל זה לא תמיד המקרה רוב הזמן.







כיצד להמיר 'long' ל'int' באמצעות Java?

להמיר ' ארוך ' ל ' int ב-Java, החל את הגישות הבאות:



גישה 1: המר long ל-int ב-Java באמצעות שיטת 'Math.toIntExact()'

ה ' Math.toIntExact() השיטה בג'אווה נותנת את ' int ' ערך מהנתון המסופק ' ארוך ' טיעון. ניתן ליישם שיטה זו כדי פשוט לעבור את ' ארוך ” ערך כארגומנט שלו ולהחזיר אותו כמספר שלם.



תחביר





מתמטיקה . לIntExact ( ארוך val )

בתחביר זה, ' ארוך ואל ' מתייחס לערך שצריך להחזיר בתור ' int '.

דוגמא
בואו נסקור את הדוגמה הבאה:



פּוּמְבֵּי מעמד longtoint2 {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך בחירה 1 = 8624675L ;
ארוך val2 = 3482398L ;
int updateVal1 = מתמטיקה . לIntExact ( בחירה 1 ) ;
int updVal2 = מתמטיקה . לIntExact ( val2 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}

בקטע קוד זה, בצע את השלבים הבאים:

  • ראשית, אתחל את שני ' ארוך 'ערכים.
  • הערה: המסויים ' ל ' בערכים מייצגים ומבדילים את ' ארוך 'ערכים מ' int 'ערכים.
  • לאחר מכן, החל את ' Math.toIntExact() ” שיטה פעמיים וצבור את שני הערכים הארוכים המאוחלים, כפרמטר שלה להמיר אותם למספרים שלמים.
  • לבסוף, רשום את ערכי המספרים השלמים המומרים במסוף.

תְפוּקָה

בתוצאה לעיל, ניתן לנתח שערכי המספרים השלמים המתאימים מוצגים.

הערה: תהליך ההמרה (ארוך ל-int) עובד מצוין כאשר הערך של ' ארוך ' קטן או שווה לערך המרבי של ' int ', כלומר, (2147483647). במקרה השני, נתקלת בשגיאה ויכול להיות גם אובדן נתונים.

הפגנה
הבה נתבונן במושג הנדון המוביל למגבלה:

בדוגמה לעיל, פשוט הגדל את האחרון ' ארוך ' להעריך ולבצע את ההמרה. זה יוביל למפגש עם ' גלישה נומרית מגבלה מכיוון שהערך המומר חורג מ- int 'הגבלה המקסימלית.

גישה 2: המר long ל-int ב-Java באמצעות 'Narrow Typecasting'

' Typecasting ” מתאים להקצאת ערך של סוג נתונים פרימיטיבי אחד לאחר. במקרה זה, ' צמצום הטיפוס ' נכנס לתוקף מאז סוג הנתונים הגבוה יותר, כלומר, ' ארוך ' הופך לסוג הנתונים התחתון ' int '. ניתן להשיג זאת על ידי הצבת הערך שצריך לשנות ואחריו הסוג הרצוי בסוגריים.

דוגמא
הדוגמה הבאה מסבירה את הרעיון הנדון:

פּוּמְבֵּי מעמד longtoint {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך בחירה 1 = 647467L ;
ארוך val2 = 348 239L ;
int updateVal1 = ( int ) בחירה 1 ;
int updVal2 = ( int ) val2 ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}

בשורות הקוד לעיל:

  • באופן דומה, אתחל את שני ' ארוך ' ערכים.
  • בשלב הבא, החל את ' כתיבה צרה ' גישה על ידי הצבת הערך שיש להמיר ואחריו הסוג הרצוי, כלומר ' int '.
  • לבסוף, הצג את המרה ' int ' ערכי הקונסולה.

תְפוּקָה

בפלט זה, ניתן לראות כי ' ארוך ערכים מומרים ל- int ערכים, כראוי.

גישה 3: המרת אובייקט ארוך ל-int ב-Java באמצעות שיטת 'intValue()'.

ה ' intValue() שיטת ' ב-Java מחזירה את הערך של המספר המשויך בצורה של ' int '. ניתן ליישם שיטה זו כדי פשוט להפוך את הארוך המשויך ' חפצים ' למספרים שלמים.

דוגמא
עברו על הדוגמה המופיעה למטה כדי לבצע את ההמרה:

פּוּמְבֵּי מעמד longtoint3 {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך val1 = חָדָשׁ ארוך ( 8624675L ) ;
ארוך וול2 = חָדָשׁ ארוך ( 3482398L ) ;
int updateVal1 = בחירה 1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}

בגוש הקוד שלמעלה:

  • קודם כל, צור שני ' ארוך ' חפצים באמצעות ' חָדָשׁ ' מילת המפתח וה' ארוך() 'קונסטרוקטור, בהתאמה.
  • בפרמטרי הבנאי, ציין את הערכים הארוכים שיש להפוך ל' int '.
  • כעת, שייך את ' intValue() שיטת ' עם שני האובייקטים שנוצרו והמירו את ' ארוך 'ערכים לתוך' מספרים שלמים ' ולהציג אותם.

תְפוּקָה

התוצאה לעיל מרמזת שערכי האובייקט מומרים ל' מספרים שלמים ' כראוי.

סיכום

כדי להמיר long ל-int ב-Java, החל את ' Math.toIntExact() שיטת ', ה' Typecasting צר הגישה ', או ה' intValue() ' שיטה. גישות אלו הופכות את הערך והאובייקט הארוך המאתחלים למספר שלם בתנאי ש' ארוך ' הערך שיש להמיר אינו חורג מהערך המרבי של ' int '. בלוג זה מודרך להמרת long ל-int באמצעות Java.