Skip to content

Commit c6809e9

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 216653d + 226e30d commit c6809e9

File tree

20 files changed

+248
-9
lines changed

20 files changed

+248
-9
lines changed

.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev1
2+
3+
open class GeometrikSekil {
4+
open fun alanHesapla(): Double {
5+
return 0.0
6+
}
7+
open fun cevreHesapla(): Double {
8+
return 0.0
9+
}
10+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev1
2+
3+
import kotlin.math.PI
4+
5+
class Daire(val yaricap: Double) : GeometrikSekil() {
6+
override fun alanHesapla(): Double {
7+
return PI * yaricap * yaricap
8+
}
9+
10+
override fun cevreHesapla(): Double {
11+
return 2 * PI * yaricap
12+
}
13+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev1
2+
3+
class Dikdortgen(val uzunluk: Double, val genislik: Double) : GeometrikSekil() {
4+
override fun alanHesapla(): Double {
5+
return uzunluk * genislik
6+
}
7+
8+
override fun cevreHesapla(): Double {
9+
return 2 * (uzunluk + genislik)
10+
}
11+
}

app/src/main/java/com/example/kotlinandroidprogramlamaodev/hafta2/odev1/odev1.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
package com.example.kotlinandroidprogramlamaodev.hafta2.odev1
22

3-
open class GeometrikSekil {
4-
open fun alanHesapla(): Double {
5-
return 0.0
6-
}
73

8-
open fun cevreHesapla(): Double {
9-
return 0.0
10-
}
11-
}
4+
5+
126

137
fun main() {
148
val dikdortgen = Dikdortgen(5.0, 3.0)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev2
2+
3+
class Basketbolcu(ad: String, yas: Int, val takim: String) : Oyuncu(ad, yas) {
4+
fun smac() {
5+
println("$ad smaç yapıyor.")
6+
}
7+
8+
override fun oyna() {
9+
println("$ad basketbol oynuyor.")
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev2
2+
3+
class Futbolcu(ad: String, yas: Int, val takim: String) : Oyuncu(ad, yas) {
4+
fun kos() {
5+
println("$ad koşuyor.")
6+
}
7+
8+
override fun oyna() {
9+
println("$ad futbol oynuyor.")
10+
}
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev2
2+
3+
open class Oyuncu(val ad: String, val yas: Int) {
4+
open fun oyna() {
5+
println("$ad oynuyor.")
6+
}
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev2
2+
3+
4+
fun main() {
5+
val futbolcu = Futbolcu("Meral", 24, "BJK")
6+
futbolcu.kos()
7+
futbolcu.oyna()
8+
println("Meral ${futbolcu.takim} ile devam edecek!")
9+
10+
val basketbolcu = Basketbolcu("Ali", 25, "GS")
11+
basketbolcu.smac()
12+
println("Ali ${basketbolcu.takim} takımında!")
13+
basketbolcu.oyna()
14+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev3
2+
3+
class Personel(val ad: String, val soyad: String, val pozisyon: String, var maas: Double) {
4+
fun maasArttir(oran: Double) {
5+
maas *= (1 + oran)
6+
}
7+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import com.example.kotlinandroidprogramlamaodev.hafta2.odev3.Personel
2+
3+
fun main() {
4+
val personel1 = Personel("eda", "ece", "doktor", 35000.0)
5+
val personel2 = Personel("ela", "boz", "sosyal medya", 30000.0)
6+
7+
println("Personel 1: ${personel1.ad} ${personel1.soyad}, Pozisyon: ${personel1.pozisyon}, Maaş: ${personel1.maas}")
8+
println("Personel 2: ${personel2.ad} ${personel2.soyad}, Pozisyon: ${personel2.pozisyon}, Maaş: ${personel2.maas}")
9+
10+
personel1.maasArttir(0.1) // Personel 1'in maaşını yüzde 10 arttır
11+
personel2.maasArttir(0.15) // Personel 2'nin maaşını yüzde 15 arttır
12+
13+
println("Personel 1 (Güncel): ${personel1.ad} ${personel1.soyad}, Pozisyon: ${personel1.pozisyon}, Maaş: ${personel1.maas}")
14+
println("Personel 2 (Güncel): ${personel2.ad} ${personel2.soyad}, Pozisyon: ${personel2.pozisyon}, Maaş: ${personel2.maas}")
15+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev4
2+
//hackerrank sorusu
3+
import java.io.*
4+
import java.math.*
5+
import java.security.*
6+
import java.text.*
7+
import java.util.*
8+
import java.util.concurrent.*
9+
import java.util.function.*
10+
import java.util.regex.*
11+
import java.util.stream.*
12+
import kotlin.collections.*
13+
import kotlin.comparisons.*
14+
import kotlin.io.*
15+
import kotlin.jvm.*
16+
import kotlin.jvm.functions.*
17+
import kotlin.jvm.internal.*
18+
import kotlin.ranges.*
19+
import kotlin.sequences.*
20+
import kotlin.text.*
21+
22+
/*
23+
* Complete the 'simpleArraySum' function below.
24+
*
25+
* The function is expected to return an INTEGER.
26+
* The function accepts INTEGER_ARRAY ar as parameter.
27+
*/
28+
29+
fun simpleArraySum(ar: Array<Int>): Int {
30+
// Write your code here
31+
var sum = 0 // Toplamı tutmak için bir değişken oluşturuyoruz ve başlangıç değerini 0 yapıyoruz.
32+
for (element in ar) {
33+
sum += element // Her elemanı toplam değişkenine ekliyoruz.
34+
}
35+
return sum // Toplamı döndürüyoruz.
36+
}
37+
38+
fun main(args: Array<String>) {
39+
val arCount = readLine()!!.trim().toInt() // Kullanıcıdan dizinin boyutunu alıyoruz.
40+
41+
val ar = readLine()!!.trimEnd().split(" ").map { it.toInt() }.toTypedArray() // Kullanıcıdan dizinin elemanlarını alıyoruz.
42+
43+
val result = simpleArraySum(ar) // simpleArraySum fonksiyonunu çağırarak toplamı hesaplatıyoruz.
44+
45+
println(result) // Sonucu ekrana yazdırıyoruz.
46+
}
47+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev5
2+
3+
class Kullanici(val ad: String?, val soyad: String?) {
4+
// Diğer işlevler ve özellikler buraya eklenebilir
5+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev5
2+
3+
4+
5+
fun main() {
6+
val kullanici1 = Kullanici("ece", "üner")
7+
val kullanici2 = Kullanici("mehmet", null)
8+
val kullanici3 = Kullanici(null, "Kaya")
9+
10+
// Nullable özelliklere erişim için ? işaretini kullanırız.
11+
println("Kullanıcı 1: Ad: ${kullanici1.ad}, Soyad: ${kullanici1.soyad}")
12+
println("Kullanıcı 2: Ad: ${kullanici2.ad}, Soyad: ${kullanici2.soyad}")
13+
println("Kullanıcı 3: Ad: ${kullanici3.ad}, Soyad: ${kullanici3.soyad}")
14+
15+
// Örnek olarak, nullable özelliğin değeri boş (null) olabilir:
16+
val kullanici4 = Kullanici(null, null)
17+
println("Kullanıcı 4: Ad: ${kullanici4.ad}, Soyad: ${kullanici4.soyad}")
18+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev6
2+
/*
3+
Null-safety, Kotlin dilinin diğer programlama dillerine kıyasla bazı avantajlarına sahiptir:
4+
5+
1. Daha Güvenli Kodlama:
6+
Null-safety, NullPointerException gibi sık rastlanan hataların önüne geçerek daha güvenli bir kodlama ortamı sunar.
7+
Bu sayede programcılar, null referanslardan kaynaklanan hataları daha kolay tespit eder ve düzeltir.
8+
9+
2. Daha Az Sorunlu Hata Ayıklama:
10+
Null referanslarından kaynaklanan hatalar, yazılımın çalıştığı sırada ortaya çıkar
11+
ve çoğu zaman uygulamanın beklenmedik bir şekilde çökmesine neden olabilir.
12+
Kotlin'in null-safety özelliği, bu tür hataları önlemeye yardımcı olur ve daha az sorunlu hata ayıklama süreci sağlar.
13+
14+
3. Daha Az Uzun ve Karmaşık Kod:
15+
Diğer dillerde, null referanslardan kaynaklanan hataların önüne geçmek için ekstra kontrol ifadeleri ve null check'ler eklemek gerekebilir.
16+
Kotlin'in null-safety özelliği sayesinde bu tür kontrol ifadelerine ihtiyaç duyulmadığından kodlar daha kısa ve daha az karmaşık hale gelir.
17+
18+
4. Null Referanslı Veri Kullanımı:
19+
Kotlin'de, nullable özellikler ve nullable türler kullanarak, veri kaynaklarından null değerlerle başa çıkma imkanı sunulur.
20+
Özellikle veritabanı gibi kaynaklardan gelen verilerde null değerler yaygındır. Null-safety, bu tür verilerin güvenli bir şekilde işlenmesini sağlar.
21+
22+
Neden Kotlin'in null-safety özelliği diğer dillerden farklıdır?
23+
24+
Kotlin, diğer birçok programlama dilinden farklı olarak null-safety'i dil seviyesinde bir özellik olarak destekler.
25+
Bu, dilin tasarımından itibaren null güvenliğini sağlamak için özel olarak düşünüldüğü anlamına gelir.
26+
Bu sayede programcılar, nullable ve non-nullable türler arasında açık bir ayrım yapabilirler.
27+
28+
Diğer bazı dillerde, null referanslarla ilgili kontrolleri yapısal olarak yapmak zorunda kalabilirsiniz
29+
ve bu kontroller programcı tarafından manuel olarak yapılmalıdır.
30+
Bu tür dillerde null güvenliğinin sağlanması için bazı tasarım desenleri ve kodlama standartları kullanılabilir.
31+
Ancak Kotlin'de null-safety dil seviyesinde sağlandığından, bu tür ekstra kontroller ve desenler gerekmez.
32+
Programcılar, nullable ve non-nullable türler arasındaki dönüşümleri açık bir şekilde belirtirler
33+
ve Kotlin derleyicisi tarafından güvenlik denetimleri otomatik olarak yapılır. Bu da kodun daha güvenli ve hatasız olmasını sağlar.
34+
*/
35+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev7
2+
3+
4+
fun main(){
5+
6+
7+
val decorations = listOf ("rock", "pagoda", "plastic plant", "alligator", "flowerpot")
8+
9+
println(decorations.filter {it.contains('p')})
10+
}
11+
//cevap:[pagoda, plastic plant, flowerpot]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev7
2+
3+
//fun shouldChangeWater (day: String, temperature: Int = 22, dirty: Int = 20, numDecorations: Int = 0): Boolean {...}
4+
//cevap: day
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.example.kotlinandroidprogramlamaodev.hafta2.odev7
2+
// 1. Bu işlev tanımı, bir sayıyı 1 artırarak geri dönen basit bir artırma işlevini göstermektedir.
3+
fun increaseDirty(start: Int): Int {
4+
return start + 1
5+
}
6+
//cevap: updateDirty(15, ::increaseDirty)
7+
8+
9+
// 2. Bu işlev, "dirty" adında bir tamsayıyı ve bir işlevi parametre olarak alır.
10+
// Bu işlev, verilen "dirty" değerini alınan işlevi kullanarak günceller ve sonucu yazdırır.
11+
fun updateDirty(dirty: Int, operation: (Int) -> Int) {
12+
val result = operation(dirty)
13+
println("Updated dirty value: $result")
14+
}
15+
fun main() {
16+
// 3. İşlevleri ve işlevleri nasıl kullanacağımızı gösterecek örnek bir kod parçası:
17+
18+
// Birinci adım: increaseDirty işlevini kullanarak artırma işlevini tanımlarız.
19+
val increaseFunction = ::increaseDirty
20+
21+
// İkinci adım: updateDirty işlevini kullanarak artırma işlevini çağırırız.
22+
// Bu, "15" sayısını artırma işlevine geçirecek ve sonucu yazdıracaktır.
23+
updateDirty(15, increaseFunction)
24+
}
25+
//

0 commit comments

Comments
 (0)