ϓϩάϥϛϯάݴޠ
w ੩తܕ͚ݴޠ
w ίϯύΠϧ࣌ʹܕͷ߹ੑΛݕࠪ
w γεςϜͷݎ࿚ੑ্
w ΦϒδΣΫτࢦ
w +7.ݴޠ
Slide 12
Slide 12 text
ಛ
w ʰ#FUUFS+BWBʱ
w +BWBΑΓ҆શͰ؆ܿʹॻ͘͜ͱ͕Ͱ͖Δݴޠ
w +BWBͦͷଞ+7.ݴޠܦݧऀ͕࢝Ί͍͢ݴޠ
Slide 13
Slide 13 text
w ܕਪ
w ιʔείʔυશͯͷมͷํΛ໌ࣔతʹॻ͘ඞཁ͕ͳ͍
w จ຺͔ΒมͷํΛࣗಈతʹܾఆ͠ɺܕͷએݴΛলུ͢Δ
val x = 1
มΛܕͰॳظԽ͍ͯ͠Δˠ*OUܕͰ͋Δͱஅ͞ΕΔ
val x = "Hello World!"
มΛจࣈྻܕͰॳظԽ͍ͯ͠Δˠ4USJOHܕͰ͋Δͱஅ͞ΕΔ
ಛ
Slide 14
Slide 14 text
w OVMM҆શʢOVMMڐ༰ܕͷαϙʔτʣ
w /PNPSF/VMM1PJOUFS&YDFQUJPO
w OVMMڐ༰ܕΛαϙʔτ͢Δ͜ͱͰɺ/1&ΤϥʔΛ࣮ߦ࣌Τϥʔ͔Βɹɹɹ
ίϯύΠϧ࣌Τϥʔʹͯ͠ղܾ
/* Java */
int strLen(String s) {
return s.length();
}
/* Kotlin */
fun strLen(s: String) = s.length
OVMMΛҾͱͯ͠ݺͼग़͢ͱ/1&
OVMMΛҾͱͯ͠ݺͼग़͢͜ͱ͕ڐՄ͞Εͳ͍
ʢίϯύΠϧΤϥʔʣ
/* Kotlin */
fun strLen(s: String?) = ...
ҾʹOVMM͕ೖΔ͜ͱΛڐՄ͢ΔʢOVMMBCMFʣͷ߹
ܕʹٙූΛ͚ͯ໌ࣔ͢Δ
ʢʹ໌ࣔ͠ͳ͚ΕɺશͯͷܕOVMMඇڐ༰ܕʹͳΔʣ
ಛ
Slide 15
Slide 15 text
w +BWBͱͷ૬ޓӡ༻ੑ
w JOUFSPQFSBCMFXJUI+BWB +BWBͱશʹ૬ޓӡ༻Մೳ
w ಉ͡ϓϩδΣΫτʹ+BWBͷίʔυͱ,PUMJOͷίʔυ͕ࠞࡏͰ͖Δ
w ϓϩδΣΫτͷҰ෦͔Β,PUMJOԽՄೳˠಋೖ͕༰қ
ಛ
Slide 16
Slide 16 text
։ൃݩ
w +FU#SBJOT
w *OUFMMJ+*%&"ͷ։ൃݩ
w "OESPJEͷ։ൃݴޠͱͯ͠ਖ਼ࣜ࠾༻
w IUUQTEFWFMPQFSBOESPJEDPNLPUMJOJOEFYIUNM
Slide 17
Slide 17 text
໊લͷ༝དྷ
w ίτϦϯౡ
w ʬ,PUMJOʗЮѓїѐэђʭϩγΞ࿈෦ɺϑΟϯϥϯυԞʹ͋Δౡ
w ౬͔͠ͷ͔ΜΛද͢ϑΟϯϥϯυޠˠ,PUMJO
Slide 18
Slide 18 text
ϦϦʔε
w ৽͍͠ݴޠ
w ݄ʹ,PUMJOϓϩδΣΫτΛΞφϯε
w 1ZUIPO
w 3VCZ
w 4DBMB
w ݄ʹਖ਼ࣜϦϦʔεʢਖ਼ࣜϦϦʔε͔Βʣ
Slide 19
Slide 19 text
։ൃڥ
w 8FC
w 5SZ,PUMJO
w *%&
w *OUFMMJ+*%&"
w &DMJQTF
w "OESPJE4UVEJP "OESPJEΞϓϦ։ൃ༻
Slide 20
Slide 20 text
׆༂ͷ
w .PCJMF
w "OESPJE
w ,PUMJO/BUJWF
w IUUQTLPUMJOMBOHPSHEPDTSFGFSFODFOBUJWFPWFSWJFXIUNM
w 8FC
w ,PUMJOGPS+BWB4DSJQU
w 4FSWFS4JEF
w 4QSJOH'SBNFXPSL
w IUUQTTQSJOHJPCMPHJOUSPEVDJOHLPUMJOTVQQPSUJOTQSJOHGSBNFXPSL
Slide 21
Slide 21 text
ֶशํ๏
w ॻ੶
w ,PUMJOೖ·Ͱͷॿಡຊ
w ,PUMJOελʔτϒοΫ
w ,PUMJOΠϯΞΫγϣϯ
w 8FC
w ,PUMJO,PBOT
w IUUQTLPUMJOMBOHPSHEPDTUVUPSJBMTLPBOTIUNM
w υοτΠϯετʔϧ
w IUUQTEPUJOTUBMMDPNMFTTPOTCBTJD@LPUMJO
Slide 22
Slide 22 text
ίϛϡχςΟ
w ຊ,PUMJOϢʔβάϧʔϓ
w IUUQLPUMJOMBOHKQIFSPLVBQQDPN
w ษڧձ
w ॳ৺ऀ͚ϋϯζΦϯ
w 4XJGU,PUMJO߹ಉษڧձ
w ΧϯϑΝϨϯε
w ,PUMJOΧϯϑΝϨϯε Ծ
ˠاըਐߦத
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
·ͱΊ
w ,PUMJOɺ+FU#SBJOT͕։ൃͨ͠+7.ݴޠ
w ʮ+BWBΑΓ҆શɾ؆ܿʹʯॻ͘͜ͱΛతͱ͍ͯ͠Δ
w ੩తܕ͚ΦϒδΣΫτࢦݴޠ
w /VMM҆શܕਪ
w +BWBΤϯδχΞଞ+7.ݴޠܦݧऀ͕࢝Ί͍͢
w Φʔϓϯιʔε
w .PCJMFͷଞʹɺ8FC4FSWFS4JEFͰ׆༂
Slide 25
Slide 25 text
ϋϯζΦϯ
Slide 26
Slide 26 text
ϋϯζΦϯ
։ൃڥͷ४උ
)FMMP8PSME
جຊతͳจ๏
Slide 27
Slide 27 text
։ൃڥͷ४උ
Slide 28
Slide 28 text
։ൃڥ
w 5SZ,PUMJO
w ϒϥβͰ͑Δ։ൃڥ
w *OUFMMJ+*%&",PUMJO1MVHJO
w +FU#SBJOT͕ఏڙ͢Δ*%&ʢ౷߹։ൃڥʣ
w ,PUMJO1MVHJOϓϦΠϯετʔϧࡁΈ
Slide 29
Slide 29 text
5SZ,PUMJO
w IUUQTUSZLPUMJOMBOHPSH
Slide 30
Slide 30 text
*OUFMMJ+*%&"
w l$PNNVOJUZzΛμϯϩʔυ
w IUUQTXXXKFUCSBJOTDPNJEFBEPXOMPBE
Slide 31
Slide 31 text
)FMMP8PSME
Slide 32
Slide 32 text
)FMMP8PSME
w ,PUMJOͷϓϩδΣΫτΛ৽ن࡞͢Δ
w ʮ$SFBUF/FX1SPKFDUʯΛબ
Slide 33
Slide 33 text
)FMMP8PSME
w ʮ,PUMJOʯʮ,PUMJO +7.
ʯΛબ
w 1SPKFDUOBNFΛʮ)FMMP8PSMEʯͱೖྗ
Slide 34
Slide 34 text
)FMMP8PSME
w ιʔείʔυΛ४උ͢Δ
w ʮTSDʯΛબͯ͠ϝχϡʔΛ։͘ʢӈΫϦοΫʣ
w /FX,PUMJO'JMF$MBTT
Slide 35
Slide 35 text
)FMMP8PSME
w ʮNBJOʯͱೖྗͯ͠0,ΛΫϦοΫ
w ԼهίʔυΛೖྗ
fun main(args: Array) {
println("Hello World!")
}
Slide 36
Slide 36 text
)FMMP8PSME
w 3VOˠ3VOʜͰίϯύΠϧ࣮ߦ
w ࣮ߦ݁ՌΛ֬ೝ
Slide 37
Slide 37 text
͓ΊͰͱ͏
͜ΕͰ͋ͳͨ
,PUMJOΤϯδχΞ
Slide 38
Slide 38 text
fun main(args: Array) {
println("Hello World!")
}
Slide 39
Slide 39 text
fun main(args: Array) {
println("Hello World!")
}
w AGVOAͰؔΛఆٛ
w ؔϑΝΠϧͷτοϓϨϕϧʹએݴͰ͖Δ
w Ϋϥεͷதʹஔ͘ඞཁ͕ͳ͍
Slide 40
Slide 40 text
w มɾҾͷܕޙஔ
fun main(args: Array) {
println("Hello World!")
}
Slide 41
Slide 41 text
fun main(args: Array) {
println("Hello World!")
}
w 4ZTUFNPVUQSJOUMOͷΘΓʹQSJOUMO
w ,PUMJOͷඪ४ϥΠϒϥϦɺ+BWBͷඪ४ϥΠϒϥϦͷ
ϥούʔΛଟఏڙ͍ͯ͠Δ
Slide 42
Slide 42 text
fun main(args: Array) {
println("Hello World!")
}
w ηϛίϩϯແ͠
Slide 43
Slide 43 text
·ͱΊ
w *OUFMMJ+*%&"Ͱ,PUMJO։ൃ
w )FMMP8PSME͔ΒֶͿ,PUMJOͷಛ
w ؔͷએݴʹAGVOAΛ͏
w ؔϑΝΠϧͷτοϓϨϕϧʹએݴͰ͖Δ
w Ҿมͷܕ໊લͷޙΖͰࢦఆ͢Δ
w ηϛίϩϯແ͠
Slide 44
Slide 44 text
جຊతͳจ๏
Slide 45
Slide 45 text
ม
Slide 46
Slide 46 text
ม
val name = "shinohara"
val age = 27
w +BWBͷมએݴͩͱɺ࢝ΊʹܕΛॻ͘ͱ͜Ζ͔Β࢝·Δ
w ,PUMJOͰଟ͘ͷมએݴͰܕΛলུͰ͖Δ
val name: String = "shinohara"
val age: Int = 27
w ඞཁͰ͋Εɺ໌ࣔతʹܕΛࢦఆ͢Δ͜ͱͰ͖Δ
Slide 47
Slide 47 text
ม
w Πϛϡʔλϒϧʢෆมͳʣม
w WBM WBMVFʹ༝དྷ
w WBMͰએݴ͞ΕͨมɺҰॳظԽ͞ΕΔͱ࠶ΛׂΓ
ͯΔ͜ͱͰ͖ͳ͍
w +BWBʹ͓͚ΔpOBMม
w ϛϡʔλϒϧʢมߋՄೳͳʣม
w WBS WBSJBCMFʹ༝དྷ
w ΛมߋͰ͖Δ
w +BWBʹ͓͚ΔpOBMͰͳ͍௨ৗͷม
Slide 48
Slide 48 text
ม
val age = 27
age = 28
var age = 27
age = 28
WBMมߋͰ͖ͳ͍
WBSͷೖՄೳ
Slide 49
Slide 49 text
ม
w ϛϡʔλϒϧͳมΛએݴͯ͠ɺΛೖͯ͠ΈΔ
var keyword = "Good morning!"
fun main(args: Array) {
println(keyword)
keyword = "Good afternoon!"
println(keyword)
}
Slide 50
Slide 50 text
ม
w ϛϡʔλϒϧͳมΛΠϛϡʔλϒϧʢWBMʣʹม͑ͯΈΔͱɺ
*%&্ͰίϯύΠϧΤϥʔʹͳΔ
Slide 51
Slide 51 text
·ͱΊ
w ,PUMJOͰɺมͷܕએݴΛলུͰ͖Δʢܕਪʣ
w ໌ࣔతʹॻ͘͜ͱՄೳ
w มͷछྨ
w ΠϛϡʔλϒϧʢෆมͳʣมˠWBM
w ϛϡʔλϒϧʢมߋՄೳͳʣมˠWBS
Slide 52
Slide 52 text
৭ʑͳΦϒδΣΫτ
Slide 53
Slide 53 text
ྻ
w ྻΫϥε"SSBZʹΑͬͯදݱ͞ΕΔ
w ඪ४ϥΠϒϥϦؔBSSBZ0GΛͬͯΈΔ
fun main(args: Array) {
val colors = arrayOf("red", "green", "blue")
println(colors[0])
}
Slide 54
Slide 54 text
ίϨΫγϣϯ
w ͷίϯςφͱͳΔΦϒδΣΫτΛʮίϨΫγϣϯʯͱݺͿ
w ϦετηοτϚοϓ
w ͜͜ͰɺϦετΛྫʹڍ͛ͯઆ໌
w ͷϦετΦϒδΣΫτΛఆٛͯ͠αΠζͱ൪ͷཁૉΛग़ྗͯ͠ΈΔ
fun main(args: Array) {
val ints: List = listOf(1, 2, 3)
println(ints.size)
println(ints[0])
}
Slide 55
Slide 55 text
ίϨΫγϣϯ
w JOUT<>ͷΛมߋ͠Α͏ͱ͢ΔͱɺίϯύΠϧΤϥʔ
w ,PUMJOͰɺίϨΫγϣϯͷϛϡʔλϒϧɾΠϛϡʔλϒϧΛ۠ผ͢Δ
w ϛϡʔλϒϧʢมߋՄೳͳʣϦετʹ͍ͨ͠߹.VUBCMF-JTUΛ
એݴ͢Δ
Slide 56
Slide 56 text
ίϨΫγϣϯ
fun main(args: Array) {
val ints: MutableList = mutableListOf(1, 2, 3)
println(ints[0])
ints[0] = 4
println(ints[0])
}
fun main(args: Array) {
val ints: MutableList = mutableListOf(1, 2, 3)
println(ints)
ints.add(4)
println(ints)
}
w .VUBCMF-JTUϦετͷՃআ͕Ͱ͖Δ
Slide 57
Slide 57 text
݅ذ
Slide 58
Slide 58 text
JGFMTF
w είΞ͕Ҏ্ͩͬͨΒTVDDFTTɺະຬͩͬͨΒGBJMVSFͱ
QSJOUͯ͠ΈΔ
fun main(args: Array) {
val score = 80
if (score >= 60) {
println("success")
} else {
println("failure")
}
}
Slide 59
Slide 59 text
JGFMTF
w ,PUMJOͷJGࣜͰ͋ΓɺจͰͳ͍
w จͱࣜͷҧ͍
w ࣜɺผͷࣜͷҰ෦ͱͯ͠༻Ͱ͖ΔΛ࣋ͭ
w จɺϒϩοΫͰғ·ΕͨτοϓϨϕϧͷཁૉͰ͋Γɺ
ͦΕࣗΛ࣋ͨͳ͍
fun main(args: Array) {
val score = 80
val message = if (score >= 60) "success" else "failure"
println(message)
}
Slide 60
Slide 60 text
XIFO
w +BWBʹ͓͚ΔTXJUDIจΛڧྗʹͨࣜ͠
w ذ݅ʹఆҎ֎ͷࢦఆ͕Ͱ͖Δ
w ʮOVNCFS͕ͷͱ͖ʯͷ݅ذΛXIFOͰ࡞ͬͯΈΔ
fun main(args: Array) {
val number = 1
when (number) {
1 -> println("number is one.")
2, 3 -> println("number is two or three.")
else -> println("unknown.")
}
}
Slide 61
Slide 61 text
XIFO
w ෳࡶͳJGFMTFͷՄಡੑ্ʹ༗ޮ
fun main(args: Array) {
val number = 1
if (number == 1) {
} else if (number == 2) {
} else if (number == 3) {
} else if (number == 4) {
} else if (number == 5) {
}
}
fun main(args: Array) {
val number = 1
when (number) {
1 -> { ... }
2 -> { ... }
3 -> { ... }
4 -> { ... }
5 -> { ... }
}
}
Slide 62
Slide 62 text
܁Γฦ͠
Slide 63
Slide 63 text
GPS
w ϦετͷதΛͯ͢QSJOUͯ͠ΈΔ
fun main(args: Array) {
val colors = listOf("red", "green", "blue")
for (color in colors) {
println(color)
}
}
܁Γฦ͠ՄೳͳΦϒδΣΫτͷ
ཁૉΛॱ൪ʹऔΓग़͢
Slide 64
Slide 64 text
GPSϨϯδ
w Ϩϯδ
w ൣғΛද͢ΦϒδΣΫτ
w ʮdʯΛද͢ΦϒδΣΫτʮʯͱදݱͰ͖Δ
w GPSͱϨϯδΛΈ߹Θͤͯɺҙͷൣғʹରͯ͠ॱ൪ʹΞΫηεͰ͖Δ
w ͔Β·ͰͷΛͯͯ͢͠QSJOUͯ͠ΈΔ
fun main(args: Array) {
var sum = 0
for (i in 1..10) {
sum += i
}
println(sum)
}
Slide 65
Slide 65 text
·ͱΊ
w ༷ʑͳΦϒδΣΫτ
w ྻ
w ϦετηοτϚοϓ
w ϛϡʔλϒϧΠϛϡʔλϒϧΛ͍͚Δ
w ݅ذ
w ,PUMJOͷJGࣜ
w ෳࡶͳJGFMTFXIFOΛ׆༻ͯ͠ΈΔ
w ܁Γฦ͠
w GPSΛͬͯ܁Γฦ͠ՄೳͳΦϒδΣΫτͷཁૉʹॱ൪ʹΞΫηεͰ͖Δ
w Ϩϯδ YZ
Ͱൣғࢦఆͨ͠ΦϒδΣΫτΛੜͯ͠ॱ൪ʹΞΫηεͰ͖Δ
Slide 66
Slide 66 text
'J[[#V[[
Slide 67
Slide 67 text
'J[[#V[[
w ͔Β·ͰΛϓϦϯτ͢Δ
w ͰׂΓΕΔɺͦͷࣈͷΘΓʹʮ'J[[ʯͱϓϦϯτ
w ͰׂΓΕΔɺͦͷࣈͷΘΓʹʮ#V[[ʯͱϓϦϯτ
w ͱͦΕͧΕׂΓΕΔɺͦͷࣈͷΘΓʹʮ'J[[#V[[ʯͱϓϦϯτ
Slide 68
Slide 68 text
fun main(args: Array) {
for (i in 1..100) {
when {
i % 15 == 0 -> println("FizzBuzz")
i % 3 == 0 -> println("Fizz")
i % 5 == 0 -> println("Buzz")
else -> println(i)
}
}
}
'J[[#V[[
Slide 69
Slide 69 text
'J[[#V[[
fun main(args: Array) {
(1..100).forEach { i ->
when {
i % 15 == 0 -> println("FizzBuzz")
i % 3 == 0 -> println("Fizz")
i % 5 == 0 -> println("Buzz")
else -> println(i)
}
}
}
Slide 70
Slide 70 text
ؔ
Slide 71
Slide 71 text
ؔ
fun sum(a: Int, b: Int): Int {
return a + b
}
Slide 72
Slide 72 text
ؔ
fun sum(a: Int, b: Int): Int {
return a + b
}
໊ؔ Ҿ Γͷܕ
ؔͷຊମ
Slide 73
Slide 73 text
ؔ
w ͠ࢉͷ݁Ռ͕ग़ྗ͞ΕΔϓϩάϥϜΛ࡞ͬͯΈΔ
fun main(args: Array) {
println(sum(1, 2))
}
fun sum(a: Int, b: Int): Int {
return a + b
}
Slide 74
Slide 74 text
͍Ζ͍ΖͳؔΛ
࡞ͬͯΈΔ
Slide 75
Slide 75 text
w ʮTRVBSFʯ
w Ҿͱͯ͠༩͑ΒΕͨΛͯ͠ฦ͢
w ʮNBYʯ
w Ҿͱͯ͠༩͑ΒΕͨͭͷͷ͏ͪɺେ͖͍ํΛฦ͢
w ʮJT&WFOʯ
w Ҿͱͯ͠༩͑ΒΕ͕ͨۮͷ߹USVFΛɺحͷ߹GBMTFΛฦ͢
w ʮGBDUPSJDBMʯ
w Ҿͱͯ͠༩͑ΒΕͨͷ֊Λฦ͢
w ྫ
ͷ֊
w ʮJT$POUBJOT5ISFFʯ
w Ҿͱͯ͠༩͑ΒΕͨϦετʹʮʯؚ͕·ΕΔ͔Ͳ͏͔Λ#PPMFBOͰฦ͢
͍Ζ͍ΖͳؔΛ࡞ͬͯΈΔ
Slide 76
Slide 76 text
Ϋϥε
Slide 77
Slide 77 text
Ϋϥε
class Person(val name: String)
val person: Person = Person("shinohara")
fun main(args: Array) {
println(person.name) // shinohara
}
Ϋϥεఆٛ
Πϯελϯεੜ
Slide 78
Slide 78 text
Ϋϥε
class Person(val name: String)
val person: Person = Person("shinohara")
fun main(args: Array) {
println(person.name) // shinohara
}
ϓϥΠϚϦίϯετϥΫλͱҾ
Slide 79
Slide 79 text
Ϋϥε
class Person(val name: String)
val person: Person = Person("shinohara")
fun main(args: Array) {
println(person.name) // shinohara
}
ϓϩύςΟ
ϓϩύςΟ
Slide 80
Slide 80 text
Ϋϥεͱϝιου
class Person(val name: String) {
fun introduceMyself() {
println("I am ${name}”)
}
}
val person: Person = Person("shinohara")
fun main(args: Array) {
person.introduceMyself() // I am shinohara
}
Slide 81
Slide 81 text
w Ϋϥε໊ʮ*OU1BJSʯ
w ͭͷϓϩύςΟΛ࣋ͭ
w pSTU*OU
w TFDPOE*OU
w ͭͷϝιουΛ࣋ͭ
w TVN
w pSTUͱTFDPOEͷΛฦ͢
w NBY
w pSTUͱTFDPOEͷ͏ͪେ͖͍ํΛฦ͢
w TXBQ
w pSTUͱTFDPOE͕ٯʹͳͬͨ*OU1BJSΦϒδΣΫτΛฦ͢
Ϋϥεʮ*OU1BJSʯ
Slide 82
Slide 82 text
class IntPair(val first: Int, val second: Int) {
fun sum() = first + second
fun max() = if (first > second) first else second
fun swap() = IntPair(second, first)
}
fun main(args: Array) {
val intPair = IntPair(2, 4)
println("sum: " + intPair.sum())
println("max: " + intPair.max())
println("swapped object (first): " + intPair.swap().first)
println("swapped object (second): " + intPair.swap().second)
}
Ϋϥεʮ*OU1BJSʯ
Slide 83
Slide 83 text
ϋϯζΦϯऴྃ
Slide 84
Slide 84 text
ࠓΔ͜ͱ
,PUMJOʹ͍ͭͯ
ϋϯζΦϯ
ΦϦδφϧϓϩμΫτ։ൃʢ͘͘ձʣ
Slide 85
Slide 85 text
ΦϦδφϧϓϩμΫτ։ൃ
ʢ͘͘ձʣ
Slide 86
Slide 86 text
ϋϯζΦϯ͏ͪΐͬͱΓ͍ͨ
w ,PUMJO,PBOT
w ,PUMJOͷνϡʔτϦΞϧू
IUUQTLPUMJOMBOHPSHEPDTUVUPSJBMTLPBOTIUNM
Slide 87
Slide 87 text
"OESPJEΞϓϦ࡞ͬͯΈ͍ͨ
w ,PUMJOBOE"OESPJE
IUUQTEFWFMPQFSBOESPJEDPNLPUMJOJOEFYIUNM