Koruyucu Yan Cümleler
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 38 / 59.
Koruma yan cümleleri, bir yöntemin başında geçersiz koşulları kontrol eden ve erken dönüş yapan koşullu ifadelerdir. Kenar durumları önce ele alarak kodu daha temiz ve okunabilir hale getirirler.
Koruma koşullarını kullanmayan bir metot görelim:
public int divide(int num, int den) {
if (den != 0) {
if (num >= 0) {
return num / den;
} else {
return -1;
}
} else {
return -1;
}
}Aynı yöntem, koruyucu koşullar ile:
public int divide(int num, int den) {
if (den == 0) return -1;
if (num < 0) return -1;
return num / den;
}Her iki kodu da divide(10, 2) ile çalıştırdıktan sonra, sonuç şudur:
5
Görev
KolayvalidatePassword adında bir metot oluşturun, bu metot bir argüman alsın:
- Doğrulanacak bir String (
password)
Metot, şifreyi doğrulamak için koruma koşullarını kullanmalı ve bu kurallara göre bir mesaj dizesi döndürmelidir:
- Eğer şifre null ise: "Password cannot be null" döndürün
- Eğer şifre boş ise: "Password cannot be empty" döndürün
- Eğer şifre uzunluğu 8'den az ise: "Password must be at least 8 characters" döndürün
- Eğer şifre boşluk içeriyorsa: "Password cannot contain spaces" döndürün
- Eğer tüm kontrollerden geçerse: "Valid password" döndürün
Kopya kağıdı
Koruyucu koşullar, bir yöntemin başında geçersiz durumları kontrol eden ve erken dönüş yapan koşullu ifadelerdir; kodu daha temiz ve okunabilir kılar.
Koruyucu koşullar olmadan:
public int divide(int num, int den) {
if (den != 0) {
if (num >= 0) {
return num / den;
} else {
return -1;
}
} else {
return -1;
}
}Koruyucu koşullarla:
public int divide(int num, int den) {
if (den == 0) return -1;
if (num < 0) return -1;
return num / den;
}Kendin dene
import java.util.Scanner;
public class Main {
public static String validatePassword(String password) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String password = scanner.nextLine();
if (password.equals("null")) {
password = null;
}
System.out.println(validatePassword(password));
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme