"এবং এখন সবচেয়ে আকর্ষণীয় অংশের জন্য। আমি আপনাকে টাইপ রূপান্তর সম্পর্কে বলব। ভেরিয়েবল তাদের ধরন পরিবর্তন করতে পারে না, তবে এমন একটি জায়গা আছে যেখানে আপনি প্রকারগুলিকে রূপান্তর করতে পারেন। সেই জায়গাটি একটি অ্যাসাইনমেন্ট অপারেশন "

"আপনি একে অপরকে বিভিন্ন ধরণের ভেরিয়েবল বরাদ্দ করতে পারেন। এটি করার ফলে, একটি ভেরিয়েবলের মান (একটি নির্দিষ্ট ধরণের) অন্য ধরণের একটি মানতে রূপান্তরিত হয় এবং অন্য ভেরিয়েবলের জন্য নির্ধারিত হয়। "

"আমরা দুটি ধরণের রূপান্তর নির্দেশ করতে পারি: আদিম রূপান্তরগুলিকে প্রশস্ত করা এবং আদিম রূপান্তরগুলিকে সংকুচিত করা৷ প্রশস্ত করা হল জিনিসগুলিকে একটি ছোট ঝুড়ি থেকে একটি বড়ে নিয়ে যাওয়ার মতো৷ পদ্ধতিটি অসাধারণ এবং বেদনাদায়ক৷ সংকীর্ণ করা একটি বড় ঝুড়ি থেকে জিনিসগুলিকে বের করে আনার মতোই৷ এবং সেগুলিকে আরও ছোট করে রাখছি৷ আপনি যখন এটি করবেন তখন আপনার কাছে পর্যাপ্ত জায়গা নাও থাকতে পারে; আপনাকে কিছু ফেলে দিতে হতে পারে। "

"এখানে তাদের 'ঝুড়ি' আকার অনুসারে সাজানো প্রকারগুলি রয়েছে:"

টাইপ রূপান্তর

"শুধু কয়েকটি মন্তব্য:

1. চারের ঝুড়ি শর্টের মতো একই আকারের, তবে আপনি একটি থেকে অন্যটিতে অবাধে জিনিসগুলি সরাতে পারবেন না। আপনি যখন সংক্ষিপ্ত থেকে char- এ মানগুলি সরান , 0-এর কম মানগুলি সর্বদা হারিয়ে যাবে৷ আপনি যখন চার থেকে সংক্ষিপ্ত মানগুলি সরান, 32,000-এর বেশি মানগুলি হারিয়ে যাবে৷

2. আপনি যখন পূর্ণসংখ্যাগুলিকে ভগ্নাংশ সংখ্যায় রূপান্তর করেন, তখন সংখ্যাটির সর্বনিম্ন উল্লেখযোগ্য সংখ্যাগুলি ফেলে দেওয়া হতে পারে। যাইহোক, এটি গ্রহণযোগ্য, যেহেতু একটি ভগ্নাংশ সংখ্যার উদ্দেশ্য একটি আনুমানিক মান সংরক্ষণ করা।"

" সংকীর্ণ রূপান্তরগুলি সম্পাদন করার সময়, আমাদের অবশ্যই কম্পাইলারকে স্পষ্টভাবে বলতে হবে যে আমরা কোনও ত্রুটি করিনি: আমরা উদ্দেশ্যমূলকভাবে সংখ্যার অংশটি বাতিল করছি। এটি করার জন্য আমরা একটি কাস্ট অপারেটর ( যেমন বন্ধনীতে টাইপ নাম ) ব্যবহার করি।"

"এইভাবে আপনার বিভিন্ন ধরণের ভেরিয়েবল বরাদ্দ করা উচিত:"

জাভা কোড বর্ণনা
byte a = 115;
int b = a;
প্রসারিত আদিম রূপান্তর. সবকিছুই দারুণ।
int c = 10000;
byte d = (byte) c;
আদিম রূপান্তর সংকীর্ণ করাআমাদের অবশ্যই স্পষ্টভাবে বলতে হবে যে অতিরিক্ত বাইটগুলি বাতিল করা উচিত।
int c = 10;
byte d = (byte) c;
সংকীর্ণ আদিম রূপান্তর. আমাদের অবশ্যই স্পষ্টভাবে বলতে হবে যে অতিরিক্ত বাইটগুলি বাতিল করা উচিত, এমনকি যদি তারা 0 এর সমান হয়।
float f = 10000;
long l = (long) (f * f);
float f2 = l;
long l2 = (long) f2;
একটি ফ্লোটে বরাদ্দ করার সময়, একটি প্রসারিত আদিম রূপান্তর ঘটে। একটি দীর্ঘ একটি ফ্লোট বরাদ্দ করার সময়, একটি সংকীর্ণ আদিম রূপান্তর সঞ্চালিত হয়। একজন কাস্ট অপারেটর প্রয়োজন।
double d = 1;
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
প্রথম লাইন ব্যতীত সমস্ত অ্যাসাইনমেন্ট অপারেশনে রূপান্তর সংকুচিত করা। এই রূপান্তরগুলির জন্য আমরা স্পষ্টভাবে টাইপ রূপান্তর নির্দেশ করতে চাই।

" একটি কাস্ট অপারেটরকে অবশ্যই একটি সংখ্যা/ভেরিয়েবলের আগে রাখতে হবে যখন সংখ্যার অংশটি বাতিল করা হবে বা যখন একটি সংকীর্ণ আদিম রূপান্তর ঘটবে। কাস্ট অপারেটর শুধুমাত্র সংখ্যা/ভেরিয়েবলকে প্রভাবিত করে যা সরাসরি এটি অনুসরণ করে।"

জাভা কোড বর্ণনা
float f = 10000;
long l = (long) f * f;
দুটি ভেরিয়েবলের মধ্যে শুধুমাত্র একটিকে লং-এ ঢালাই করা হয়: একটি লং এবং একটি ফ্লোটের গুণন একটি ফ্লোটের সমান।
float f = 10000;
long l = (long) (f * f);
সম্পূর্ণ অভিব্যক্তি একটি দীর্ঘ নিক্ষেপ করা হয়.

"আমি দেখি."