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


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.