জাভা কম্পাইলার একটি আনইনিশিয়ালাইজড লোকাল ভেরিয়েবল ছাড়া দেয়া অনুমতি দেয় না। যখন একটি লোকাল ভেরিয়েবল কন্ডিশনাল ব্লকের ভিতরে ইনিশিয়ালাইজ করা হয়, তখন ৩টি সম্ভাবনা ঘটতে পারে -
কোড সফলভাবে কম্পাইল হয় যদি কন্ডিশনাল ব্লকে মান দেওয়া থাকে এবং দिये गये শর্তটি সত্য হয়।
কোড কম্পাইলেশন এরর দেয় যদি কন্ডিশনাল ব্লকে ভেরিয়েবল দেওয়া থাকে (মানের বদলে) এবং শর্তটি সত্য হয়।
কোড কম্পাইলেশন এরর দেয় যদি চেক করার শর্তটি মিথ্যা হয়।
যদি লোকাল ভেরিয়েবল কন্ডিশনাল ব্লকের বাইরে কোডে একটি ডিফল্ট মান দিয়ে ইনিশিয়ালাইজ করা থাকে, তবে এটি কোনো এরর দেবে না এবং কোড সফলভাবে কম্পাইল হবে।
উদাহরণ
public class Demo{ public static void main(String args[]){ int i = 35; int j = 0; if (i > 32){ j = i + 11; } System.out.println("The value is: " + j); } }আউটপুট
The value is: 46
Demo ক্লাসে main ফাংশন আছে। এখানে, দুটি ভেরিয়েবল সংজ্ঞায়িত করা হয়েছে, এবং যদি একটি ভেরিয়েবল একটি নির্দিষ্ট সংখ্যা থেকে বড় হয়, অন্য একটি মান যোগ করা হয় এবং 'if' ব্লক বন্ধ করা হয়। তারপর, ফলাফল কনসোলে প্রিন্ট করা হয়েছে।