‫Hoş geldin, Meg.
‫Bu videoda, switch deyimlerine yönelik zorluk için örnek çözümümü göstermek istiyorum.
‫Ve evet, hadi başlayalım.
‫Öncelikle, hepimizin ihtiyacı olan şey bir boolean ve ben buna geçerli diyeceğim.
‫Dolayısıyla, bu sadece geçerli veya geçersiz bir veri türünden bahsedip bahsetmediğimizi bilmekle ilgilenecektir ve
‫geçerli veya geçersiz, kullanıcının bir dize girdikten sonra ne girdiğine bağlıdır.
‫Her şeyden önce, bir dize girebilir ve değer türünü bilecek bir değişkene ihtiyacımız olacak çünkü çalışmak
‫istediğim birden fazla farklı değer türü veya veri türü var.
‫Ve sonra kullanıcıdan bir şey girmesini istiyoruz.
‫Bu yüzden sadece bir değer girin diyeceğim ve bunu input value adlı bu değişkende saklayacağız.
‫Tamam.
‫Kullanıcıya sormak istediğim bir sonraki şey, verinin hangi türde olduğunu düşündüğüdür.
‫Bu nedenle, girdiğiniz girdiyi doğrulamak için veri türünü seçin.
‫Yani string için artı bir, Integer için iki ve Boolean için üç.
‫Ve şimdi elbette bunlardan hangisinin doğru olduğunu kontrol etmemiz gerekiyor.
‫Bu nedenle, öncelikle kullanıcı girdisini almamız ve kullanıcının girdiği değeri almamız gerekir.
‫Örneğin, kullanıcı bir girdi türü girdiyse, buradaki değişken bir olacaktır.
‫İki girersek, iki olur ve bu böyle devam eder.
‫Böylece kullanıcı ne girdiyse onu bir tamsayıya dönüştürürüz.
‫Elbette bu yanlış gidebilir, bu yüzden belki de bunun yerine tripod kullanmak isteyebilirsiniz.
‫Ancak programımızın çökmemesi için sadece bir, iki veya üç ya da genel rakamlar girdiğimizi varsayacağım.
‫Programın gerçekten çökmediğinden emin olmak istiyorsanız, buraya bir try ve catch bloğu ekleyebilirsiniz
‫ve bu kesinlikle yardımcı olacaktır.
‫Ya da try pass kullanabilirsiniz.
‫Tamam.
‫Yani bu sizin için ücretsiz.
‫Bu durumda sadece basit tuttum.
‫Ve biz burada switch case ifadelerine odaklanıyoruz.
‫Doğru.
‫Şimdi devam edelim ve bir switch case oluşturalım.
‫Peki anahtar kutusu neyle ilgilenecek?
‫Öncelikle, ihtiyacımız olan şey kullanıcının ne girdiğini bilmektir.
‫Yani bir miydi, iki miydi, üç müydü?
‫Bir dize olması durumu için kodu çalıştıralım.
‫Yani kullanıcının bir tane girdiği durum için.
‫Bunun için kullanıcının girdiği her şeyin alfabetik olup olmadığını kontrol eden ekstra bir yöntem oluşturacağız.
‫Yani eğer bu bir dizeyse.
‫Daha ileri gitmeden önce bu yöntemin alfabetik olup olmadığına bakalım.
‫Bu yüzden bunu biraz yaratacağız.
‫Statik void main yöntemimizin dışındaki yöntem.
‫O yüzden buraya koyacağım.
‫Statik olduğundan emin olmamız gerekiyor çünkü bu sınıftan bir nesne oluşturmuyoruz, dolayısıyla başka türlü
‫kullanamayız.
‫Yani bu durumda statik olması gerekir.
‫O zaman bir boolean döndürüyoruz.
‫Yani bu metot bir bool döndürecek ve tümünün alfabetik olduğunu söyleyeceğiz.
‫Yöntemin adı bu.
‫Bir dizeye, yani aktarılan değere ihtiyacımız var.
‫Ve sonra yaptığımız şey, değerdeki her karakter için, bir dize olan değerimizdeki bir karakter olan her
‫C için.
‫Yani bunu yapabiliriz.
‫Kontrol etmek istediğimiz şey, karakterin bir harf olup olmadığıdır.
‫Ve eğer mektup değilse, o zaman geri döneriz.
‫Yanlış.
‫Yani bu boolean, bu değerin tamamı için buradaki tüm dizeden geçerse ve bunların her
‫biri harf türünde bir karakterse yanlış olacaktır, o zaman geri dönecektir.
‫Doğru.
‫Diyelim ki burada Merhaba Dünya şeklinde bir metin var.
‫Sonra buradaki harflerin ya da karakterlerin her birini tek tek kontrol edecektir.
‫Bu bir mektup mu?
‫Sonra.
‫Bu bir mektup mu?
‫Ve bunun gibi şeyler.
‫Ve her seferinde görecek.
‫Bu aslında bir mektup.
‫İşte bu yüzden hiçbir noktada false döndürmeden bu for each döngüsünden geçecek.
‫Ve true değerini döndürecektir.
‫Ve diyelim ki merhaba dünya yerine burada sıfır var ve bu da üç olacak çünkü biz havalıyız
‫ve bunların hepsi ve sonra bu yanlış dönecek.
‫Yani kontrol ederdi.
‫Bu bir mektup mu?
‫Evet, bu doğru.
‫Bu mektup burada mı?
‫Hayır, değil.
‫Yani bu ifadenin tamamı yanlıştır.
‫Böylece tüm bu yöntemin dışına çıkar ve geri döner.
‫Yanlış.
‫Tamam.
‫Şimdi davamıza geri dönebiliriz.
‫Geçerli olduğunu söylediğimiz bir tanesi alfabetiktir.
‫Böylece girdi değerini iletiriz, bu da bizim değerimizdir.
‫Burada kullanıcının girdiği dize.
‫Yani kullanıcı ne girdiyse, alfabetik olup olmadığını kontrol ediyoruz.
‫Ve giriş değeri türünün string olduğunu söylüyoruz.
‫Ve sonra bundan kurtuluyoruz.
‫Bu arada, bu oy pusulası şimdi, elbette, verdiğimiz girdiye dayalı olarak tüm alfabetik dönüşlerin
‫sonucu olacaktır.
‫Şimdi de kullanıcının bir tamsayı girdiği ikinci duruma bakalım.
‫Burada kullanıcının iki girmesini ayarladık ve bu bir tamsayı idi.
‫Böylece dönüş değerinin sıfır olup olmadığını kontrol ederiz.
‫Ve sonra kontrol edip giriş değerini ayrıştırmayı deneriz.
‫Böylece dizgimizi iletiriz, ayrıştırmaya çalışırız ve çalışırsa valid doğru olur.
‫Ve eğer işe yaramadıysa, o zaman yanlış olacaktır.
‫Ve doğru olduğunda ne çıktıysa kırmızı değerde olacaktır.
‫Ve sonra giriş değeri türünün bir tamsayı olduğunu söyleriz.
‫Bundan kurtulacağız.
‫Şimdi sırada üçüncü vaka var.
‫Ve burada boolean kırmızı bayrağını kontrol ediyoruz.
‫Ve tabii ki burada bool da kullanabilirsiniz.
‫Boolean kullanmanıza gerek yoktur.
‫Kırmızı bayrak.
‫Bu durumda, iade edilen bayrak yanlış olacaktır.
‫Ve burada yine tripodları kullanıyoruz, Troy Powers'ı tamsayılar için kullanabildiğimizi görebilirsiniz, ancak booleanlar için
‫de kullanabiliriz.
‫Ve burada bool dot giriş değeri ile ayrıştırmayı dener.
‫Girdi değeri aslında bir boolean ise, destroy parse true değerini döndürecektir.
‫Aksi takdirde false döndürür ve bu geçersiz olarak saklanır.
‫Ve bu izinsiz girişin sonucu ne olursa olsun, kırmızı bayrakta saklanacaktır.
‫Yani eğer bir boolean olsaydı, kırmızı bayrak doğru olacaktı ve bizim geçerlimiz de doğru olacaktı ve giriş değeri tipimizi iki boolean
‫olarak ayarladık.
‫Ve şimdi nihayet varsayılan bir vakaya ihtiyacımız var.
‫Diyelim ki kullanıcı bir, iki ve üç dışında herhangi bir şey girdi.
‫O zaman sadece giriş türünü tespit edemediğimizi söyleyeceğiz.
‫Bir şeyler yanlış gidiyor ve biz bundan kurtuluyoruz.
‫Ve şimdi kullanıcıya sadece geçerli bir şekilde girilip girilmediğini söylüyoruz.
‫Dolayısıyla, girdiği her şeyi doğru olarak değerlendirdiyse ve biz de bu arada bunun bir satır daha ileride olması gerektiğini
‫söylersek.
‫Yani sadece bir değer girdiniz diyoruz ve sonra değerin geçerli olup olmadığını kontrol ediyoruz?
‫Ve sonra diyoruz ki, eğer konsol kırmızı çizgisi geçerliyse, bu geçerlidir.
‫Ve sonra bunun hangi girdi değeri türünden olduğunu söyleriz.
‫Şimdi ataması yapılmamış yerel değişken giriş değeri türünün kullanıldığını görüyorsunuz.
‫Yani buraya bir değer atıyoruz, ancak bunu tüm çıkışlarına değil, yalnızca switch'e atıyoruz.
‫Örneğin, varsayılan değerde, giriş değeri türümüz için bir çıkışımız yoktur.
‫Dolayısıyla yapabileceğimiz iki şey var.
‫Giriş değeri türü eşittir bilinmiyor diyebiliriz ve hata ortadan kalkar.
‫Alternatif olarak, giriş değeri türümüzün string nokta boş olduğunu söyleyebilirdik.
‫Bu da bir alternatif olabilirdi.
‫Ve hatanın da ortadan kalktığını görebilirsiniz, ancak bu varyantı daha çok seviyorum çünkü sadece bilinmiyor
‫ve bunu kullanıcıya söyleyeceğiz.
‫Yani burada sahip olduğunuz iki seçenek bunlar, ancak ben bu şekilde devam edeceğim.
‫Pekala, şimdi çalıştıralım.
‫Değer olarak 13 gireceğim ve şimdi bunun bir tamsayı olduğunu varsayalım.
‫Bir değer girdiniz 13.
‫Geçerli bir tamsayıdır.
‫Pekala, şimdi tekrar deneyelim.
‫Bu sefer Hello World gireceğim ve bunun bir tamsayı olduğunu düşüneceğim ve siz Hello world değerini
‫girdiniz, bu geçersiz bir tamsayı.
‫Tamam, şimdi bir kez daha true ile kontrol edelim ve sanırım bu bir boolean ve bir değer girdiniz.
‫Doğru.
‫Geçerli bir boolean'dır.
‫Tamam.
‫Şimdi bir değer girmenizi ve ardından bunun ne tür bir veri türü olduğunu söylemeye çalışmanızı sağlayan bu küçük programa
‫sahipsiniz.
‫Bu yüzden switch deyimlerini, tripodları ve hatta if deyimlerini de kullandık.
‫Hey, buradaki her döngü için.