জাভায় দুই ধরনের সংখ্যা আছে:
-6, 0, 1, 25, 976 এবং -500000।-20.4, 0.1, 2.72, 16.984025 এবং 1024.0।জাভার সবচেয়ে কমন দুইটি সংখ্যাসূচক টাইপ হলো int ও double.
একটি int হলো ৩২-বিটের একটি ইন্টিজার এবং একটি double হলো ৬৪-বিটের একটি ফ্লোটিং-পয়েন্ট সংখ্যা।
পাটিগণিত করা হয় সাধারণ গাণিতিক অপারেটর দিয়ে।
সংখ্যা তুলনা করা যায় সাধারণ সংখ্যাসূচক তুলনা অপারেটর (যেমন 5 > 4 এবং 4 <= 5) এবং সমতা (==) ও অসমতা (!=) অপারেটর দিয়ে।
জাভায় দুই ধরনের সংখ্যাসূচক রূপান্তর আছে:
যেহেতু একটি int-এর নির্ভুলতা একটি double-এর চেয়ে কম, তাই int থেকে double-এ রূপান্তর নিরাপদ এবং তাই এটি একটি ইমপ্লিসিট রূপান্তর।
তবে double থেকে int-এ রূপান্তর মানে ডেটা হারানো হতে পারে, তাই এর জন্য এক্সপ্লিসিট রূপান্তর প্রয়োজন।
জাভার সবচেয়ে মৌলিক কন্ট্রোল ফ্লো স্টেটমেন্ট হলো if-then স্টেটমেন্ট।
এই স্টেটমেন্ট দিয়ে কোডের একটি অংশ কেবল তখনই চালানো হয়, যখন একটি নির্দিষ্ট শর্ত true হয়।
একটি if-then স্টেটমেন্ট if ক্লজ দিয়ে ডিফাইন করা হয়:
class Car {
void drive() {
// the "if" clause: the car needs to have fuel left to drive
if (fuel > 0) {
// the "then" clause: the car drives, consuming fuel
fuel--;
}
}
}
উপরের উদাহরণে, গাড়ির জ্বালানি ফুরিয়ে গেলে Car.drive মেথড কল করলে কিছুই হবে না।
if-then-else স্টেটমেন্ট এমন একটি বিকল্প এক্সিকিউশন পথ দেয়, যা ব্যবহার করা হয় যখন if ক্লজের শর্তের মান false হয়।
এই বিকল্প এক্সিকিউশন পথটি একটি if ক্লজকে অনুসরণ করে এবং else ক্লজ দিয়ে ডিফাইন করা হয়:
class Car {
void drive() {
if (fuel > 0) {
fuel--;
} else {
stop();
}
}
}
উপরের উদাহরণে, গাড়ির জ্বালানি ফুরিয়ে গেলে Car.drive মেথড কল করলে গাড়ি থামানোর জন্য আরেকটি মেথড কল হবে।
if-then-else স্টেটমেন্ট else if ক্লজ ব্যবহার করে একাধিক শর্তও সমর্থন করে:
class Car {
void drive() {
if (fuel > 5) {
fuel--;
} else if (fuel > 0) {
turnOnFuelLight();
fuel--;
} else {
stop();
}
}
}
উপরের উদাহরণে, জ্বালানি 5-এর কম বা সমান হলে গাড়ি চালালে গাড়িটি চলবে, তবে জ্বালানি লাইট জ্বলে উঠবে।
জ্বালানি 0-এ পৌঁছালে গাড়িটি চলা বন্ধ করবে।
এই অনুশীলনীতে আপনি একটি গাড়ির কারখানার অ্যাসেম্বলি লাইনের উৎপাদন বিশ্লেষণ করার কোড লিখবেন। অ্যাসেম্বলি লাইনের গতি 0 (বন্ধ) থেকে 10 (সর্বোচ্চ) পর্যন্ত হতে পারে।
সবচেয়ে কম গতিতে (1) প্রতি ঘণ্টায় 221টি গাড়ি উৎপাদিত হয়। গতি বাড়ার সাথে সাথে উৎপাদন রৈখিকভাবে বাড়ে। তাই গতি 4 হলে প্রতি ঘণ্টায় 4 * 221 = 884টি গাড়ি উৎপাদিত হওয়া উচিত। তবে গতি বেশি হলে ত্রুটিপূর্ণ গাড়ি তৈরি হওয়ার সম্ভাবনা বেড়ে যায়, যেগুলো পরে বাদ দিতে হয়। নিচের টেবিলে দেখা যায় গতি সফলতার হারকে কীভাবে প্রভাবিত করে:
1 থেকে 4: ১০০% সফলতার হার।5 থেকে 8: ৯০% সফলতার হার।9: ৮০% সফলতার হার।10: ৭৭% সফলতার হার।আপনার দুটি কাজ আছে।
অ্যাসেম্বলি লাইনের বর্তমান গতি ও সফলতার হার বিবেচনা করে প্রতি ঘণ্টায় তার উৎপাদন হার হিসাব করতে CarsAssemble.productionRatePerHour() মেথডটি ইমপ্লিমেন্ট করুন:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
মনে রাখবেন, রিটার্ন করা মানটি একটি double।
প্রতি মিনিটে কতগুলো কার্যকর গাড়ি উৎপাদিত হয় তা হিসাব করতে CarsAssemble.workingItemsPerMinute() মেথডটি ইমপ্লিমেন্ট করুন:
CarsAssemble.workingItemsPerMinute(6)
// => 19
মনে রাখবেন, রিটার্ন করা মানটি একটি int।
Exercism-এ সাইন আপ করুন, Java ট্র্যাকের 26টি কনসেপ্ট158টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।