চরের ডিফল্ট মান কত?


89
char c = '\u0000';

আমি সিটি প্রিন্ট করলে কমান্ড লাইন উইন্ডোতে এটি 'এ' দেখায়।

সুতরাং একটি চর ধরনের ক্ষেত্রের ডিফল্ট মান কি?

কেউ বলেছেন '\ u0000' এর অর্থ ইউনিকোডে নাল; এটা কি সঠিক?


আপনার চরের ডিফল্ট মান আছে কিনা তা আপনি পরীক্ষা করতে পারেন:char == 0
ACV

উত্তর:


105

কোনও জাতির ডিফল্ট মানটি charপ্রকৃতপক্ষে '\u0000'(নাল অক্ষর) যা জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশনে বর্ণিত রয়েছে, বিভাগ §4.12.5 ভেরিয়েবলের প্রাথমিক মান

আমার সিস্টেমে লাইনটি System.out.println('\u0000');কিছুটা বর্গক্ষেত্র প্রিন্ট করে, এর অর্থ এটি প্রিন্টযোগ্য অক্ষর নয় - আশানুরূপ হিসাবে।


26
এটি লক্ষ করা গুরুত্বপূর্ণ যে এটির মতো '\u0000'একই মান নয় null
এড্ড

কী null character? এই প্রশ্নের কিছু উত্তর ডিফল্ট মানটিকে নাল চরিত্র হিসাবে উল্লেখ করছে।
কাজী ইরফান

4
@ এসকার লোপেজ, '\ 0' চরটি সম্পর্কে কী? তারা একই নয় ?
তারিক

4
@ তারিক হ্যাঁ, তারা একই রকম।
অস্কার লোপেজ

4
@ আইম্যাক্রেসি আপনি যা বলছেন তা সঠিক is আমার নোটটি কেবল এই যে 'নাল চরিত্র' একটি চরিত্র। এটি nullজাভা পদে নয় অর্থাত্ \u0000 == nullফিরে আসবেfalse
এডিড

30

'\ u0000' একটি অক্ষরের জন্য ডিফল্ট মান। এর দশমিক সমতুল্য 0

আপনি যখন আরম্ভ না করেই কিছু চর ভেরিয়েবল ঘোষণা করছেন, তখন '\ u0000' এটি ডিফল্টরূপে নির্ধারিত হবে।

এই কোডটি দেখুন

public class Test {
    char c;

    public static void main(String args[]) throws Exception {
        Test t = new Test();
        char c1 = '\u0000';
        System.out.println(t.c);
        System.out.println(c1);
        System.out.println(t.c == c1);
    }
}

এই কোডটি শেষ প্রিন্টের জন্য সত্য মুদ্রণ করবে ।


9

চরিত্রের ডিফল্ট মান হ'ল অক্ষর M MIN_VALUE যা অভ্যন্তরীণভাবে প্রতিনিধিত্ব করেMIN_VALUE = '\u0000'

অতিরিক্ত হিসাবে, আপনি অক্ষর ক্ষেত্রের হিসাবে ডিফল্ট মান রয়েছে কিনা তা পরীক্ষা করতে পারেন

Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{

}

7

'\u0000'জন্য দাঁড়িয়েছে null। সুতরাং আপনি যদি অবিস্মরণীয় চর ভেরিয়েবল মুদ্রণ করেন তবে কিছুই পাবেন না।


4
আসলে আপনি একটি সংকলন ত্রুটি পেতে চাইবেন;) '\ u0000' হল ডিফল্ট মান যা একটি চর ক্ষেত্রটি 'ইনিশিয়ালড' দিয়ে হয়
এডিড

4
আপনি কিছুই পাবেন না। আপনি একটি সাদা স্থান বা একটি বর্গ পাবেন।
রোশানা পিতিগালা

আমি সি এবং সি 1 উভয়কে '\ u0000' System.out.println (c + c1) হিসাবে রাখলে আমি একটি "0" পেয়েছি;
অ্যালান



0

তার লোভনীয় নীচের প্রমাণ হিসাবে সাদা স্থান বা পূর্ণসংখ্যা 0 হিসাবে বলে

char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);

তবে আমি এটি বলব না কারণ এটি বিভিন্ন প্ল্যাটফর্মের সাথে বা ভবিষ্যতে পৃথক হতে পারে। আমি যা যত্ন নিচ্ছি তা হ'ল আমি কখনই এই ডিফল্ট মানটি ব্যবহার করব না, সুতরাং যে কোনও চর ব্যবহার করার আগে এটি পরীক্ষা করা উচিত \ u0000 কিনা তা না হলে প্রোগ্রামগুলিতে ভুল ধারণা থেকে বাঁচতে এটি ব্যবহার করুন। এটা ঐটার মতই সহজ.


0

একটি চর ডেটা টাইপের ডিফল্ট মান হ'ল '\ u0000' (বা 0) এবং সর্বাধিক মান '\ uffff' (বা 65,535 সহ)।

আপনি এখানে তথ্য দেখতে পারেন ।


4
প্রশ্নের ইতিমধ্যে একটি স্বীকৃত উত্তর এবং আরও কয়েকটি উত্তর রয়েছে। আপনার উত্তরটি কার্যকর হওয়ার জন্য এটি সমস্যার জন্য দরকারী নতুন তথ্য বা নতুন অন্তর্দৃষ্টি যুক্ত করা উচিত। অন্যান্য উত্তরে কেবল তথ্য পুনরাবৃত্তি করা সহায়ক নয়।
এড্রিয়ান এইচএইচ এইচ

0

নাল এবং শূন্যের মধ্যে একটি পৃথক পার্থক্য আছে তা নোট করুন। ইন http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (উপরে উল্লিখিত), বিবৃতি তৈরি করা হয়: -

এখানে একটি বিশেষ নাল আক্ষরিকও রয়েছে যা কোনও রেফারেন্স টাইপের মান হিসাবে ব্যবহার করা যেতে পারে। নাল আদিম ধরণের ভেরিয়েবল ব্যতীত যে কোনও ভেরিয়েবলের জন্য বরাদ্দ করা যেতে পারে। এটির উপস্থিতি পরীক্ষা করার বাইরে নাল মান সহ আপনি খুব কিছু করতে পারেন। অতএব, নাল প্রায়শই প্রোগ্রামগুলিতে চিহ্নিতকারী হিসাবে ব্যবহৃত হয় যে কোনও বস্তু অনুপলব্ধ।

এজন্য নীচের বিবৃতিগুলি আপনাকে ত্রুটি দেবে এবং অন্যটি নয়: -

চর a = নাল; // অমিল টাইপ করুন: নাল থেকে চরে রূপান্তর করতে পারে না।

চর বি = 0; // বৈধ সিনট্যাক্স।


0

\u0000 জাভাতে চর টাইপের জন্য ডিফল্ট মান

অন্যরা উল্লিখিত হিসাবে, আপনি একটি অস্বীকারহীন ভেরিয়েবলের মান পরীক্ষা করতে তুলনাটি ব্যবহার করতে পারেন।

char ch;
if(ch==0)
    System.out.println("Default value is the null character");

-1

আমার মনে হয় এটা হল '\u00000'বা শুধু ''বদলে'\u0000' (প্রথমটির মধ্যে পাঁচটি শূন্য রয়েছে এবং শেষেরটিতে চারটি শূন্য রয়েছে))


@ জোহানেস এইচ। - এটি আমার কাছে উত্তর বলে মনে হচ্ছে। এটিকে 'উত্তর নয়' হিসাবে চিহ্নিত করা সঠিক আইএমও নয়।
ক্রাইস

-1

জন্য ডিফল্ট মান charহল \ u0000

public class DefaultValues {
char varChar;
public static void main(String...l)
 {
    DefaultValues ob =new DefaultValues();
    System.out.println(ob.varChar=='\u0000');
 }  
}

এটি সত্য ফিরে আসবে


-1

চরের ডিফল্ট মান নাল যা ইউনিকোড চার্ট অনুসারে '\ u0000' । আসুন আমরা প্রিন্ট করার সময় এটি কীভাবে কাজ করে তা দেখুন।

public class Test_Class {   
     char c;
     void printAll() {  
       System.out.println("c = " + c);
    }   
    public static void main(String[] args) {    
    Test_Class f = new Test_Class();    
    f.printAll();   
    } }

দ্রষ্টব্য: আউটপুট ফাঁকা।


-2

চর জাতির আদিম ধরণের ডিফল্ট মান হ'ল জাভা ভাষা নির্দিষ্টকরণে বর্ণিত '\ u0000' (নাল অক্ষর)।

'U0000' এর শর্টকাটটি '\ 0', সুতরাং নালটি 'u0000' বা '\ 0' দ্বারা প্রতিনিধিত্ব করা যায়।

নীচের জাভা প্রোগ্রামটি চ্যান ফিল্ড 'সি' ব্যবহার করে নাল উপস্থাপনাগুলি বৈধ করেছে।

public class DefaultValueForchar {  
    char c;
    public static void main(String[] args) {
        char c0 = '\0';
        char cu0000 = '\u0000';
        DefaultValueForchar obj = new DefaultValueForchar();
        System.out.println(obj.c);
        System.out.println(c0);
        System.out.println(cu0000);
        System.out.println(c0==cu0000);
        System.out.println(obj.c==c0);
        System.out.println(obj.c==cu0000);
    }

}

আউটপুট:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.