জাভা জন্য সংক্ষিপ্ত ফর্ম যদি বিবৃতি


201

আমি জানি যে ifসংক্ষিপ্ত আকারে জাভা বিবৃতি লেখার একটি উপায় আছে ।

if (city.getName() != null) {
    name = city.getName();
} else {
    name="N/A";
}

উপরের ৫ টি লাইনের সংক্ষিপ্ত রূপকে কী এক লাইনে লিখতে হবে কেউ জানেন?



2
আমি ধরে নিয়েছি আপনি আপনার ifযুক্তিটি ভুল উপায়ে পেয়েছেন ।
— এনপিই

7
if (city.getName()!=null){name = city.getName();}else{name="N/A"}
— স্টিভ কুও

9
@ স্টেভকুও তিনটি স্পেস রয়েছে যা আপনি মুছে ফেলতে পারেন। ;)
— পিটার লরি 17'12

2
if (city.getName()!= null) name = city.getName(); else name="N/A";
— আন্তন ডোজার্টসেভ

উত্তর:


423

টার্নারি অপারেটর ব্যবহার করুন:

name = ((city.getName() == null) ? "N/A" : city.getName());

আমি মনে করি আপনার শর্তগুলি পিছনের দিকে রয়েছে - যদি এটি বাতিল হয় তবে আপনি মানটি "এন / এ" হতে চান।

শহর নাল হলে কী হবে? আপনার কোড * সেক্ষেত্রে বিছানাটিকে আঘাত করে। আমি অন্য চেক যোগ করব:

name = ((city == null) || (city.getName() == null) ? "N/A" : city.getName());

12
আপনার কাছে রিডান্ট্যান্ট প্রথম বন্ধনী থাকলেও +1। আমি name = city.getName() == null ? "N/A" : city.getName();
— Andres F.

20
স্টাইল এবং রুচি সম্পর্কিত বিষয়: আমি বুলেয়ান ক্লজের গ্রুপিং পরিষ্কার করতে চাই।
— ডাফাইমো

4
যাই হোক না কেন - আমি ডিমরগানের উপপাদ্যটি ব্যবহার করেছি এবং আপনার যা প্রয়োজন তা পেয়েছি। যতক্ষণ আপনি যুক্তিটি সঠিকভাবে প্রকাশ করেন ততক্ষণ সম্পাদনা করার দরকার নেই।
— ডাফাইমো

2
FYI বাইরের প্রথম বন্ধনী অপ্রয়োজনীয়। আপনি কেবল করতে পারেনname = city.getName()==null ? "N/A" : city.getName()
— স্টিভ কুও

4
না String cityName = city.getName();একটি নিক্ষেপ NullPointerExceptionযদি city == null? তাই আমি বলতে চাই যে আপনার মধ্যবর্তী সমাধানটি অবশ্যই সেরা (পিএস এবং আমি 'অপ্রয়োজনীয়' প্রথম বন্ধনীর অনুমোদন দিই! লোকেরা মনে রাখতে হবে যে 99% কোডিং অন্য ব্যক্তির সাথে (এবং আপনার ভবিষ্যত স্ব) সাথে সংযোগ করছে, সংকলক নয় - অন্যথায় আমরা সি ব্যবহার করব!)
— অ্যালেক্স

32

.getName()দুবার কল এড়াতে আমি ব্যবহার করব

name = city.getName();
if (name == null) name = "N/A";

2
পরিবর্তনীয় শহর সহ একাধিক ব্যবহারকারী সিস্টেমে কোনও হস্তক্ষেপ হতে পারে city.setName(null)। আপনার উত্তরটি খুব সুন্দরভাবে পরিচালনা করে।
— ইমোরি

27

এটি করার উপায়টি হল টার্নারি অপারেটর সহ:

name = city.getName() == null ? city.getName() : "N/A"

তবে আমি বিশ্বাস করি যে উপরের কোডে আপনার টাইপো আছে এবং আপনি বলতে চাইছেন:

if (city.getName() != null) ...

23

দ্য ? : জাভাতে অপারেটর

জাভাতে আপনি লিখতে পারেন:

if (a > b) {
  max = a;
}
else {
  max = b;
}

একক শর্তের ভিত্তিতে দুটি অবস্থার মধ্যে একটিতে একক পরিবর্তনশীল সেট করা যদি-অন্যথায় শর্টকাট তৈরি করা হয় তবে এটি শর্তসাপেক্ষ অপারেটর,?:। শর্তসাপেক্ষ অপারেটর ব্যবহার করে আপনি উপরের উদাহরণটি একক লাইনে আবার লিখতে পারেন:

max = (a > b) ? a : b;

(a> খ)? ক: খ; একটি এক্সপ্রেশন যা দুটি মানগুলির একটি, a বা খ প্রদান করে। শর্তটি, (এ> বি) পরীক্ষা করা হয়। এটি সত্য হলে প্রথম মান, ক, প্রদান করা হয়। এটি মিথ্যা হলে, দ্বিতীয় মান, খ, প্রদান করা হয়। যে কোনও মান প্রত্যাবর্তন শর্তাধীন পরীক্ষার উপর নির্ভরশীল, এ> বি। শর্তটি কোনও বুলিয়ান মান প্রদান করে এমন কোনও অভিব্যক্তি হতে পারে।



18

আমি সর্বদা ভুলে যাচ্ছি কিভাবে ?: টের্নারি অপারেটরটি ব্যবহার করবেন । এই পরিপূরক উত্তরটি একটি দ্রুত অনুস্মারক। এটা সংক্ষিপ্ত if-then-else।

myVariable = (testCondition) ? someValue : anotherValue;

কোথায়

  • () ধরে রাখে if
  • ? মানে then
  • : মানে else

এটা যেমন হয়

if (testCondition) {
    myVariable = someValue;
} else {
    myVariable = anotherValue;
}

10

আপনি if, else if, elseসংক্ষিপ্ত আকারে বিবৃতি লিখতে পারেন । উদাহরণ স্বরূপ:

Boolean isCapital = city.isCapital(); //Object Boolean (not boolean)
String isCapitalName = isCapital == null ? "" : isCapital ? "Capital" : "City";      

এটির সংক্ষিপ্ত রূপ:

Boolean isCapital = city.isCapital();
String isCapitalName;
if(isCapital == null) {
    isCapitalName = "";
} else if(isCapital) {
    isCapitalName = "Capital";
} else {
    isCapitalName = "City";
}

1
এটি এখনও জিজ্ঞাসা করা হয়নি -1।
— মাক্কি

8

1. আপনি বন্ধনী এবং লাইন বিরতি অপসারণ করতে পারেন ।

if (city.getName() != null) name = city.getName(); else name = "N/A";

2. আপনি ব্যবহার করতে পারেন : জাভা অপারেটর।

বাক্য গঠন:

Variable = Condition ? BlockTrue : BlockElse;

সুতরাং আপনার কোডে আপনি এটি করতে পারেন:

name = city.getName() == null ? "N/A" : city.getName();

3. বুলিয়ান জন্য শর্ত ফলাফল নির্ধারণ করুন

boolean hasName = city.getName() != null;

অতিরিক্ত: কৌতূহল জন্য

JAVAপছন্দ মতো কিছু ভাষায় Groovy, আপনি এই বাক্য গঠনটি ব্যবহার করতে পারেন:

name = city.getName() ?: "N/A";

অপারেটরটি ?:ভেরিয়েবল থেকে প্রত্যাশিত মান নির্ধারণ করে যা আমরা জিজ্ঞাসা করছি। এই ক্ষেত্রে, মান city.getName()না থাকলে null।



3
name = ( (city.getName() == null)? "N/A" : city.getName() );

প্রথমত শর্তটি (city.getName() == null)পরীক্ষা করা হয়। যদি হ্যাঁ, তবে "N/A"নাম নির্ধারিত হয় বা সহজভাবে name="N/A"বা অন্যথায় মানটি city.getName()নামের জন্য নির্ধারিত হয়, যেমনname=city.getName() ।

এখানে নজর রাখার জন্য বিষয়গুলি:

  1. শর্তটি একটি প্রশ্ন চিহ্নের পরে প্রথম বন্ধনে রয়েছে। এজন্যই লিখি (city.getName() == null)?। শর্তের পরে এখানে প্রশ্ন চিহ্নটি সঠিক। দেখতে / পড়া / অনুমান করা সহজ!
  2. কোলনের বামে মান ( :) এবং কোলনের মান ডান (ক) শর্তটি সত্য হলে কোলনের বাম মান নির্ধারিত হয়, অন্যথায় কোলনের মান ডানাকে ভেরিয়েবলের জন্য বরাদ্দ করা হয়।

এখানে একটি উল্লেখ রয়েছে: http://www.cafeaulait.org/course/week2/43.html


3

এখানে একটি লাইন কোড

name = (city.getName() != null) ? city.getName() : "N/A";

এটি কীভাবে কাজ করে তা উদাহরণস্বরূপ, জেএস ফাইলে কোডের নীচে চালান এবং ফলাফলটি বুঝতে পারেন। এটি ("Data" != null)শর্ত যেমন আমরা স্বাভাবিকভাবে করি if()এবং "Data"বিবৃতিটি যখন এই শর্তটি সত্য হয়ে ওঠে। এটি " : "অন্য হিসাবে কাজ করে এবং "N/A"অন্য শর্তের জন্য বিবৃতি। আশা করি এটি আপনাকে যুক্তি বুঝতে সহায়তা করবে।

name = ("Data" != null) ? "Data" : "N/A";

console.log(name);



2

সহজ এবং পরিষ্কার:

String manType = hasMoney() ? "rich" : "poor";

দীর্ঘ সংস্করণ:

      String manType;
    if (hasMoney()) {
        manType = "rich";
    } else {
        manType = "poor";
    }

বা আমি অন্যান্য কোড পাঠকদের জন্য এটি পরিষ্কার হয়ে কীভাবে ব্যবহার করছি:

 String manType = "poor";
    if (hasMoney())
        manType = "rich";

0

আপনি জাভাতে টার্নারি অপারেটর ব্যবহার করতে পারেন।

বাক্য গঠন:

Condition ? Block 1 : Block 2

সুতরাং আপনার কোডে আপনি এটি করতে পারেন,

name = ((city.getName() == null) ? "N/A" : city.getName());

আরও তথ্যের জন্য আপনি এই সংস্থানটি উল্লেখ করতে পারেন ।


4
এটি 6 বছরের পুরানো প্রশ্ন এবং উত্তরটি গ্রহণ করেছে। আপনার উত্তর নতুন কিছু সরবরাহ করে না
— মাক্কি

-3
name = city.getName()!=null?city.getName():"N/A"

4
কিছু কোড পোস্ট করার পরিবর্তে আপনি কৌশলটি ব্যাখ্যা করে আরও ওপিকে সহায়তা করবেন। এটি কিভাবে কাজ করে, কেন এটি কাজ করে?
— জাবুজার্ড

1
আপনার অপারেটরগুলির চারপাশে স্পেস স্থাপন করা এটি পড়া এবং বজায় রাখা আরও সহজ করে তোলে।
— geowar
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.