คำถามติดแท็ก if-statement

คำสั่ง "if" เป็นโครงสร้างการควบคุมการไหลในภาษาการเขียนโปรแกรมส่วนใหญ่ที่แยกการไหลของการดำเนินการขึ้นอยู่กับเงื่อนไขไบนารีโดยทั่วไปจะประเมินที่รันไทม์ หากงบมักจะเรียกว่าเงื่อนไข เมื่อใช้แท็กนี้โปรดใส่แท็กภาษาที่เหมาะสมเช่นเช่น "java" หากคำถามของคุณเฉพาะภาษา

16
“ IF” แพงไหม
ตลอดชีวิตของฉันจำสิ่งที่ครูของเราพูดในวันนั้นไม่ได้และฉันหวังว่าคุณคงจะรู้ โมดูลนี้คือ "โครงสร้างข้อมูลและอัลกอริทึม" และเขาบอกเราบางอย่างตามบรรทัดของ: ifคำสั่งมีราคาแพงที่สุด [บางสิ่งบางอย่าง] [บางอย่าง] ลงทะเบียน [บางอย่าง] ใช่ฉันมีความทรงจำที่น่ากลัวและฉันขอโทษจริงๆ แต่ฉันใช้ googling มาหลายชั่วโมงแล้วและไม่มีอะไรเกิดขึ้น ความคิดใด ๆ ?

5
วิธีที่มีประสิทธิภาพที่สุดในการสร้างคำสั่ง if-elif-elif-else เมื่อทำคำสั่งอื่นมากที่สุด?
ฉันมีคำสั่ง if-elif-elif-else ซึ่ง 99% ของเวลาคำสั่ง else จะถูกดำเนินการ: if something == 'this': doThis() elif something == 'that': doThat() elif something == 'there': doThere() else: doThisMostOfTheTime() โครงสร้างนี้ทำไปได้มากแต่เนื่องจากมันผ่านทุกเงื่อนไขก่อนที่จะถึงจุดอื่นฉันรู้สึกว่านี่ไม่ค่อยมีประสิทธิภาพเลยนับประสาอะไรกับ Pythonic ในทางกลับกันก็จำเป็นต้องรู้ว่าตรงตามเงื่อนไขเหล่านั้นหรือไม่ดังนั้นจึงควรทดสอบต่อไป มีใครทราบบ้างไหมว่าสามารถทำได้อย่างมีประสิทธิภาพมากขึ้นและอย่างไรหรือนี่เป็นเพียงวิธีที่ดีที่สุดที่จะทำได้

7
จะตรวจสอบได้อย่างไรว่าสตริงเริ่มต้นด้วยคำนำหน้าหลายตัวหรือไม่?
ฉันมีคำสั่ง if ต่อไปนี้: String newStr4 = strr.split("2012")[0]; if (newStr4.startsWith("Mon")) { str4.add(newStr4); } ฉันต้องการรวมstartsWith Mon Tues Weds Thurs Fridayฯลฯ มีวิธีง่ายๆในการใช้สตริงนี้หรือไม่? ฉันพยายาม||แล้วแต่มันไม่ได้ผล


5
ฉันสามารถมี IF block ในไฟล์แบตช์ DOS ได้หรือไม่
ในไฟล์แบตช์ DOS เราสามารถมีได้เพียง 1 บรรทัดเท่านั้น if statement body? ฉันคิดว่าฉันพบที่ไหนสักแห่งที่ฉันสามารถใช้()สำหรับ if block ได้เหมือนกับที่{}ใช้ในภาษาโปรแกรมคล้าย C แต่มันไม่ได้เรียกใช้งานคำสั่งเมื่อฉันลองทำเช่นนี้ ไม่มีข้อความแสดงข้อผิดพลาดเช่นกัน นี่คือรหัสของฉัน: if %GPMANAGER_FOUND%==true(echo GP Manager is up goto Continue7 ) echo GP Manager is down :Continue7 ไม่แปลกที่ทั้ง "GP Manager is up" หรือ "GP Manager is down" ไม่ได้รับการพิมพ์ออกมาเมื่อฉันเรียกใช้ไฟล์แบตช์

8
ถ้าคำสั่งในหน้า aspx
ฉันต้องการเขียนคำสั่ง if พื้นฐานบนไซต์ของฉันเพื่อแสดงรายการ 1 หรือรายการ 2 ขึ้นอยู่กับว่าตัวแปรถูกตั้งค่าเป็นจริงหรือไม่ ฉันไม่ค่อยคุ้นเคยกับ. NET และต้องการความช่วยเหลือเล็กน้อยเกี่ยวกับโครงสร้างพื้นฐานในการรับคำสั่ง if เพื่อทำงานบนหน้า aspx


7
จะทำให้ Visual Studio ไม่ใส่ {ขึ้นบรรทัดใหม่ได้อย่างไร?
ถ้ามีโค้ดแบบนี้ if(true){ และฉันเพิ่ม } มันถูกเปลี่ยนเป็น if (true) { } แต่ฉันต้องการให้มันอยู่ในรูปแบบ if (true) { } แม้ว่าฉันจะคัดลอกโค้ดที่มีifเช่นนี้ แต่ก็ถูกแปลงเป็นเวอร์ชันที่ยาวขึ้น ป.ล. ฉันเข้าใจว่ามันเป็นมาตรฐาน C ++ และ C # เพื่อใช้เวอร์ชันที่ยาวขึ้น แต่ฉันมาจากมาตรฐานอื่นและฉันใช้เวอร์ชันที่สั้นกว่า ฉันพนันได้เลยว่ามีตัวเลือกฟอร์แมตเตอร์บางตัวที่สามารถปิดหรือเปลี่ยนแปลงได้

17
การใช้คำสั่ง switch กับช่วงของค่าในแต่ละกรณี?
ใน Java เป็นไปได้ไหมที่จะเขียนคำสั่ง switch โดยที่แต่ละกรณีมีมากกว่าหนึ่งค่า ตัวอย่างเช่น (แม้ว่ารหัสต่อไปนี้จะไม่ทำงานอย่างชัดเจน): switch (num) { case 1 .. 5: System.out.println("testing case 1 to 5"); break; case 6 .. 10: System.out.println("testing case 6 to 10"); break; } ฉันคิดว่าสิ่งนี้สามารถทำได้ใน Objective C มีสิ่งที่คล้ายกันใน Java หรือไม่? หรือฉันควรใช้เพียงif, else ifงบแทน?


10
คำสั่ง if - การประเมินการลัดวงจรเทียบกับความสามารถในการอ่าน
บางครั้งคำสั่งจะมีความซับซ้อนมากกว่าหรือยาวดังนั้นเพื่อประโยชน์ของการอ่านมันจะดีกว่าที่จะดึงสายซับซ้อนก่อนifif เช่นนี้: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } ในสิ่งนี้ bool b1 = SomeComplicatedFunctionCall(); bool b2 = OtherComplicatedFunctionCall(); if (b1 || b2) { //do stuff } (ตัวอย่างเช่นระบุไม่ใช่ว่าไม่ดีก็เพียงเพื่อประกอบการอธิบาย ... จินตนาการสายอื่น ๆ ที่มีข้อโต้แย้งหลายอื่น ๆ ) แต่ด้วยการสกัดนี้ฉันสูญเสียการประเมินการลัดวงจร (SCE) ฉันแพ้ SCE ทุกครั้งหรือไม่? มีสถานการณ์บางอย่างที่คอมไพเลอร์ได้รับอนุญาตให้ "ปรับให้เหมาะสม" และยังคงให้ SCE อยู่หรือไม่ มีวิธีการรักษาความสามารถในการอ่านที่ดีขึ้นของตัวอย่างข้อมูลที่สองโดยไม่สูญเสีย SCE หรือไม่

10
วิธีที่ดีที่สุดในการจัดรูปแบบคำสั่ง if ที่มีหลายเงื่อนไข
หากคุณต้องการให้โค้ดบางตัวดำเนินการตามเงื่อนไขตั้งแต่สองเงื่อนไขขึ้นไปซึ่งเป็นวิธีที่ดีที่สุดในการจัดรูปแบบคำสั่ง if ตัวอย่างแรก: - if(ConditionOne && ConditionTwo && ConditionThree) { Code to execute } ตัวอย่างที่สอง: - if(ConditionOne) { if(ConditionTwo ) { if(ConditionThree) { Code to execute } } } ซึ่งง่ายที่สุดในการทำความเข้าใจและอ่านโดยคำนึงว่าแต่ละเงื่อนไขอาจเป็นชื่อฟังก์ชันที่ยาวหรืออะไรก็ได้

5
Swift IF LET ได้รับการประเมินอย่างไร
ฉันเคยเห็นรหัสนี้ในไซต์ Swift และโพสต์ต่างๆที่นี่และฉันกำลังพยายามทำความเข้าใจพื้นฐาน สายงานนี้ได้รับการประเมินอย่างไร? if let name = optionalName { ฉันสับสนเพราะมันไม่ใช่ name == ชื่อทางเลือกมันกำลังกำหนดค่าดังนั้นรายงานนั้นเป็นจริงได้อย่างไรและทำไมจึงไม่เป็นความจริงเมื่อคุณแทนที่ด้วย john appleseed ด้วย nil เนื่องจากมันจะยังคงเท่ากัน var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello, \(name)" }

14
ฉันจะเพิ่มตัวแปรโดยไม่ให้เกินค่าสูงสุดได้อย่างไร
ฉันกำลังทำงานกับโปรแกรมวิดีโอเกมง่ายๆสำหรับโรงเรียนและฉันได้สร้างวิธีการที่ผู้เล่นจะได้รับคะแนนพลังชีวิต 15 แต้มหากเรียกวิธีนั้น ฉันต้องรักษาสุขภาพให้ได้สูงสุด 100 และด้วยความสามารถในการเขียนโปรแกรมที่ จำกัด ของฉัน ณ จุดนี้ฉันกำลังทำอะไรแบบนี้ public void getHealed(){ if(health <= 85) health += 15; else if(health == 86) health += 14; else if(health == 87) health += 13; }// this would continue so that I would never go over 100 ฉันเข้าใจว่าไวยากรณ์ของฉันไม่สมบูรณ์แบบ แต่คำถามของฉันคืออะไรอาจเป็นวิธีที่ดีกว่าในการทำเช่นนี้เพราะฉันต้องทำสิ่งที่คล้ายกันกับจุดความเสียหายและไม่ต่ำกว่า 0 นี้เรียกว่าอิ่มตัวเลขคณิต

4
การจับคู่ Regex ในคำสั่ง Bash if
ฉันทำอะไรผิดที่นี่? พยายามจับคู่สตริงที่มีช่องว่างตัวพิมพ์เล็กตัวพิมพ์ใหญ่หรือตัวเลข อักขระพิเศษก็น่าจะดีเช่นกัน แต่ฉันคิดว่าต้องมีการหลีกเลี่ยงอักขระบางตัว TEST="THIS is a TEST title with some numbers 12345 and special char *&^%$#" if [[ "$TEST" =~ [^a-zA-Z0-9\ ] ]]; then BLAH; fi เห็นได้ชัดว่านี่เป็นการทดสอบเฉพาะบนล่างตัวเลขและช่องว่าง ใช้งานไม่ได้ * อัพเดท * ฉันเดาว่าฉันควรจะเจาะจงมากกว่านี้ นี่คือบรรทัดจริงของรหัส if [[ "$TITLE" =~ [^a-zA-Z0-9\ ] ]]; then RETURN="FAIL" && ERROR="ERROR: Title can only contain upper …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.