<\/p>\n
- \n
- \u4e00\u3001\u57fa\u7840\u8bed\u6cd5<\/a>\n
- \n
- 1.1 \u5e38\u89c1\u6570\u636e\u7c7b\u578b<\/a><\/li>\n
- 1.2 \u53d8\u91cf<\/a>\n
- \n
- 1.2.1 \u53d8\u91cf\u58f0\u660e<\/a><\/li>\n
- 1.2.2 \u7c7b\u578b\u63a8\u65ad<\/a><\/li>\n
- 1.2.3 Null \u5b89\u5168<\/a><\/li>\n
- 1.2.4 \u9762\u5411\u5bf9\u8c61\u8bed\u8a00<\/a><\/li>\n <\/ul><\/li>\n
- 1.3 \u6d41\u7a0b\u63a7\u5236<\/a>\n
- \n
- 1.3.1 if \u8868\u8fbe\u5f0f<\/a><\/li>\n
- 1.3.2 When \u8868\u8fbe\u5f0f<\/a><\/li>\n
- 1.3.3 For \u5faa\u73af<\/a><\/li>\n
- 1.3.4 While \u5faa\u73af<\/a><\/li>\n <\/ul><\/li>\n <\/ul><\/li>\n
- \u4e8c\u3001\u51fd\u6570\u4e0e lambda \u8868\u8fbe\u5f0f<\/a>\n
- \n
- 2.1 \u51fd\u6570\u58f0\u660e<\/a><\/li>\n
- 2.2 \u51fd\u6570\u7c7b\u578b<\/a>\n
- \n
- 2.2.1 \u793a\u4f8b\u5f15\u5165<\/a><\/li>\n
- 2.2.2 Koltin \u51fd\u6570\u7c7b\u578b<\/a><\/li>\n
- 2.2.3 \u51fd\u6570\u5f15\u7528<\/a><\/li>\n
- 2.2.4 \u9ad8\u9636\u51fd\u6570<\/a><\/li>\n <\/ul><\/li>\n
- 2.3 lambda \u8868\u8fbe\u5f0f<\/a>\n
- \n
- 2.3.1 lambda \u8868\u8fbe\u5f0f\u7684\u6982\u5ff5<\/a><\/li>\n
- 2.3.2 lambda \u8868\u8fbe\u5f0f\u7684\u5199\u6cd5\u6f14\u53d8\u8fc7\u7a0b<\/a><\/li>\n
- 2.3.3 lambda \u8868\u8fbe\u5f0f\u81ea\u8c03\u7528<\/a><\/li>\n
- 2.3.4 \u603b\u7ed3<\/a><\/li>\n <\/ul><\/li>\n <\/ul><\/li>\n
- \u4e09\u3001\u63a5\u53e3\u3001\u7c7b\u4e0e\u5bf9\u8c61<\/a>\n
- \n
- 3.1 \u7c7b<\/a>\n
- \n
- 3.1.1 \u6784\u9020\u51fd\u6570<\/a><\/li>\n
- 3.1.2 init \u4ee3\u7801\u5757<\/a><\/li>\n
- 3.1.3 \u6210\u5458\u53d8\u91cf<\/a><\/li>\n
- 3.1.4 \u7ee7\u627f<\/a><\/li>\n <\/ul><\/li>\n
- 3.2 \u63a5\u53e3<\/a><\/li>\n
- 3.3 \u6570\u636e\u7c7b<\/a><\/li>\n
- 3.4 \u5185\u90e8\u7c7b<\/a><\/li>\n
- 3.5 \u5bc6\u5c01\u7c7b<\/a><\/li>\n
- 3.6 \u4f34\u751f\u5bf9\u8c61<\/a><\/li>\n
- 3.7 \u53ef\u89c1\u6027\u4fee\u9970\u7b26<\/a><\/li>\n <\/ul><\/li>\n
- \u56db\u3001 Kotlin \u7684\u4e00\u4e9b\u5176\u5b83\u7279\u6027<\/a>\n
- \n
- 4.1 \u51fd\u6570\u53c2\u6570\u9ed8\u8ba4\u503c<\/a><\/li>\n
- 4.2 \u672c\u5730\u51fd\u6570\uff08\u5d4c\u5957\u51fd\u6570\uff09<\/a><\/li>\n
- 4.3 try-catch \u8868\u8fbe\u5f0f<\/a><\/li>\n
- 4.4 == \u548c ===<\/a><\/li>\n
- 4.5 \u62d3\u5c55\u51fd\u6570\u548c\u62d3\u5c55\u5c5e\u6027<\/a><\/li>\n
- 4.6 Top-level<\/a><\/li>\n
- 4.7 by lazy \uff08\u59d4\u6258\uff09<\/a><\/li>\n <\/ul><\/li>\n
- \u4e94\u3001 More<\/a><\/li>\n <\/ul>\n <\/div>\n
<\/p> \n
\u4e00\u3001\u57fa\u7840\u8bed\u6cd5<\/h1> \n
Koltin \u662f\u4e00\u79cd\u9759\u6001\u5f3a\u7c7b\u578b\u8bed\u8a00\uff0c\u5b83\u8981\u6c42\u5728\u7f16\u8bd1\u65f6\u786e\u5b9a\u53d8\u91cf\u7c7b\u578b\uff0c\u5e76\u5728\u8fd0\u884c\u65f6\u4e25\u683c\u6267\u884c\u7c7b\u578b\u68c0\u67e5\u3002<\/p> \n
- \n
- \u58f0\u660e\u53d8\u91cf\u65f6\u5fc5\u987b\u6307\u5b9a\u53d8\u91cf\u7c7b\u578b\uff0c\u65e0\u6cd5\u9690\u5f0f\u5730\u5c06\u4e0d\u540c\u7c7b\u578b\u7684\u503c\u5206\u914d\u7ed9\u53d8\u91cf\u3002<\/li> \n
- \u6709\u52a9\u4e8e\u51cf\u5c11\u7c7b\u578b\u9519\u8bef\uff0c\u4f7f\u5f97\u4ee3\u7801\u66f4\u52a0\u7a33\u5065\u548c\u53ef\u7ef4\u62a4\u3002<\/li> \n <\/ol> \n
1.1 \u5e38\u89c1\u6570\u636e\u7c7b\u578b<\/h2> \n
Byte\u3001 Short\u3001 Int\u3001 Long\u3001 Float\u3001 Double\u3001 Char\u3001 Boolean\u3001 String<\/strong><\/p> \n
\u7279\u6b8a\u7684\u7c7b\u578b\uff1a Unit<\/strong>\uff0c \u7c7b\u4f3c java<\/a> \u4e2d\u7684 Void\uff0c \u51fd\u6570\u6216\u8005\u8868\u8fbe\u5f0f\u6ca1\u6709\u8fd4\u56de\u503c\u65f6\u7528 Unit<\/p> \n
\u65e0 java<\/a> \u4e2d\u7684 int\u3001 Integer \u7b49\uff0c\u907f\u514d\u88c5\u7bb1\u62c6\u7bb1\u7684\u6027\u80fd\u635f\u8017\u3002
\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0cKotlin \u4ecd\u7136\u9700\u8981\u8fdb\u884c\u88c5\u7bb1\u62c6\u7bb1\u64cd\u4f5c\uff0c\u4f8b\u5982\u5c06\u57fa\u672c\u7c7b\u578b\u7684\u503c\u4f20\u9012\u7ed9\u9700\u8981\u5bf9\u8c61\u7c7b\u578b\u7684\u51fd\u6570\u65f6\uff0c\u6216\u8005\u5c06\u57fa\u672c\u7c7b\u578b\u7684\u503c\u653e\u5165\u96c6\u5408\u6216\u6570\u7ec4\u4e2d\u65f6\u3002<\/p> \n\u8f6c\u6362\uff1a<\/p> \n
3.toFloat()\n\nval a = 5.6f\na.toInt()\n<\/code><\/pre> \n
\u5b57\u7b26\u4e32 String<\/strong><\/p> \n
val name\uff1a String = "Lucy"\n\n\/\/ \u53ef\u5faa\u73af\nfor (c in name) {\n\n}\n\n\/\/ \u53ef\u62fc\u63a5\nprintln(name + "abc") \/\/ Lucyabc\n\n\/\/ \u5b57\u9762\u503c\nval s = "Hello, world!\\n" \/\/ \u53cd\u659c\u6760\u8f6c\u4e49\n\n\/\/ \u4e09\u5f15\u53f7\u5185\u90e8\u4e0d\u8f6c\u4e49\uff0c\u53ef\u4ee5\u5305\u542b\u4efb\u4f55\u5b57\u7b26\uff0c\u5305\u62ec\u6362\u884c\u7b26\nval text = """\n for (c in "abc") {\n println(c)\n }\n"""\n\n\/\/ \u5b57\u7b26\u4e32\u6a21\u677f\nval name = "James"\nprintln("$name is a basketball player!")\n\n\/\/ \u7528 ${} \u5f15\u7528\u8868\u8fbe\u5f0f\nprintln("$name \u8fd9\u4e2a\u5355\u8bcd\u7684\u957f\u5ea6\u662f ${name.length}")\n<\/code><\/pre> \n
1.2 \u53d8\u91cf<\/h2> \n
1.2.1 \u53d8\u91cf\u58f0\u660e<\/h3> \n
var um: Int = 0 \/\/ \u4f7f\u7528 var \u58f0\u660e\u4e00\u4e2a\u53ef\u8bfb\u53ef\u5199\u7684\u53d8\u91cf\nval name: String = "Jimy" \/\/ \u4f7f\u7528 val \u58f0\u660e\u4e00\u4e2a\u5f15\u7528\u4e0d\u53ef\u53d8\u7684\u53d8\u91cf,\u5bf9\u8c61\u6210\u5458\u53ef\u53d8\uff0cJava \u4e2d final \u7684\u6548\u679c, \u5c3d\u53ef\u80fd\u91c7\u7528 val \u58f0\u660e\u53d8\u91cf\u3002\n<\/code><\/pre> \n
1.2.2 \u7c7b\u578b\u63a8\u65ad<\/h3> \n
val name = "Lucy" \/\/ name \u53ef\u4ee5\u63a8\u65ad\u51fa name \u662f String \u7c7b\u578b\nname.uppercase() \/\/ \u6b63\u786e\n\n\/\/ fails to compile\nname.inc() \/\/ inc() \u662f Int \u7c7b\u578b\u7684\u7684\u8fd0\u7b97\u6d6e\uff0c String \u7c7b\u578b\u65e0\u6cd5\u8c03\u7528\n<\/code><\/pre> \n
1.2.3 Null \u5b89\u5168<\/h3> \n
\u53ef\u7a7a\u7c7b\u578b<\/strong><\/p> \n
\/\/ Fails to complie\nval name: String = null\n<\/code><\/pre> \n
\u8981\u4f7f\u53d8\u91cf\u6301\u6709 null \u503c\uff0c\u5b83\u5fc5\u987b\u662f\u53ef\u4e3a null \u7c7b\u578b\uff0c\u5728\u53d8\u91cf\u7c7b\u578b\u540e\u9762\u52a0\u4e0a\u4e00\u4e2a
?<\/code> \u540e\u7f00\u3002<\/p> \n
val name: String? = null \n<\/code><\/pre> \n
\u6307\u5b9a
String?<\/code> \u7c7b\u578b\u540e\uff0c\u53ef\u4ee5\u4e3a name \u8d4b\u4e88
String<\/code> \u503c\u6216\u8005
null<\/code><\/p> \n
\u5b89\u5168\u8c03\u7528<\/strong>
\u5b89\u5168\u8c03\u7528?.<\/code>
\u975e\u7a7a\u65ad\u8a00!!<\/code><\/p> \n
\/\/ java\nString name = "Lucy"\nif (name != null ) {\n name.toUpperCase()\n}\n\n\/\/ Koltin\nval name: String? = null \nname?.uppercase() \/\/ name \u4e0d\u4e3a null \u65f6\u6267\u884c\u65b9\u6cd5\u8c03\u7528\nname!!.uppercase() \/\/ name \u4e3a null \u65f6\uff0c\u629b\u51fa\u5f02\u5e38\n<\/code><\/pre> \n
\u591a\u5c42\u5224\u65ad\u53ef\u4ee5\u94fe\u5f0f\u8c03\u7528\u3002<\/p> \n
Elvis\u64cd\u4f5c\u7b26<\/strong><\/p> \n
\/\/ java\nint nameLength = name!=null ? name.length : -1\n\n\/\/ Koltin\nval nameLength = name?.length?:-1\n<\/code><\/pre> \n
\u6ce8\u610f\uff1a<\/em> \u4e0a\u9762 Kotlin \u7248\u672c\u4e2d nameLength \u7c7b\u578b\u4e3a
Int<\/code>\u3002<\/p> \n
val name\uff1a String? = "Lucy"\nval length = name?.length\n<\/code><\/pre> \n
\u4e0a\u9762\u8fd9\u6bb5\u4ee3\u7801\u4e2d length \u662f\u4ec0\u4e48\u7c7b\u578b\uff1f -----
Int?<\/code><\/p> \n
1.2.4 \u9762\u5411\u5bf9\u8c61\u8bed\u8a00<\/h3> \n
Any ---- \u7c7b\u4f3c\u4e8e java \u4e2d\u7684 Object\uff0c \u6240\u6709\u975e\u7a7a\u7c7b\u578b\u7684\u6839\u7c7b\u578b
Any? ---- \u6240\u6709\u7c7b\u578b\u7684\u6839\u7c7b\u578b\u3002 \u81ea\u7136\u4e5f\u662f Any \u7684\u8ddf\u7c7b\u578b\u3002<\/p> \nNothing ---- \u6240\u6709\u7c7b\u578b\u7684\u6700\u5e95\u5c42\uff0c\u5305\u542b\u4e00\u4e2a\u503c null<\/p> \n
1.3 \u6d41\u7a0b\u63a7\u5236<\/h2> \n
1.3.1 if \u8868\u8fbe\u5f0f<\/h3> \n
\/\/ \u4f20\u7edf\u5199\u6cd5\nvar max: Int\nif (a > b) {\n max = a\n} else {\n max = b\n}\n\n\/\/ \u8868\u8fbe\u5f0f\u5199\u6cd5\nvar max: Int = if (a > b) a else b\n<\/code><\/pre> \n
\u6ce8\u610f\uff1a if \u4f5c\u4e3a\u8868\u8fbe\u5f0f\u800c\u4e0d\u662f\u8bed\u53e5\u65f6\uff0c\u9700\u8981\u6709 else \u5206\u652f\u3002<\/strong><\/em><\/p> \n
1.3.2 When \u8868\u8fbe\u5f0f<\/h3> \n
when(x) {\n 1 -> { println("x == 1") }\n is Int -> { println("x is a Int") }\n 2, 3 -> {println("x == 2 or x == 3")} \/\/ \u591a\u4e2a\u5206\u652f\u6761\u4ef6\u653e\u5728\u4e00\u8d77\u7528 , \u9694\u5f00\n else -> { println("x maybe a string") }\n}\n<\/code><\/pre> \n
\u591a\u4e2a\u5206\u652f\u6761\u4ef6\u653e\u5728\u4e00\u8d77\u7528 , \u9694\u5f00\u3002
when \u5c06\u5b83\u7684\u53c2\u6570\u4e0e\u6240\u6709\u7684\u5206\u652f\u6761\u4ef6\u987a\u5e8f\u6bd4\u8f83\uff0c\u76f4\u5230\u67d0\u4e2a\u5206\u652f\u6ee1\u8db3\u6761\u4ef6\uff08\u5339\u914d\u7b2c\u4e00\u4e2a\u6ee1\u8db3\u6761\u4ef6\u7684\u5206\u652f\uff09<\/strong>\u3002<\/p> \nwhen \u65e2\u53ef\u4ee5\u88ab\u5f53\u505a\u8868\u8fbe\u5f0f\u4f7f\u7528\u4e5f\u53ef\u4ee5\u88ab\u5f53\u505a\u8bed\u53e5\u4f7f\u7528\u3002\u5982\u679c\u5b83\u88ab\u5f53\u505a\u8868\u8fbe\u5f0f\uff0c \u7b26\u5408\u6761\u4ef6\u7684\u5206\u652f\u7684\u503c\u5c31\u662f\u6574\u4e2a\u8868\u8fbe\u5f0f\u7684\u503c\u3002\u5fc5\u987b\u6709 else \u5206\u652f\uff0c \u9664\u975e\u7f16\u8bd1\u5668\u80fd\u591f\u68c0\u6d4b\u51fa\u6240\u6709\u7684\u53ef\u80fd\u60c5\u51b5\u90fd\u5df2\u7ecf\u8986\u76d6\u4e86\u3002\uff08\u4f8b\u5982 \u679a\u4e3e \u6216\u8005 \u5bc6\u5c01\u7c7b\u5b50\u7c7b\u3002<\/p> \n
When \u8fdb\u9636\u7528\u6cd5\uff0c\u4e0d\u63d0\u4f9b\u53c2\u6570\uff1a<\/strong><\/p> \n
if (age > 60) {\n println("\u8001\u5e74\u4eba\uff0c\u53ef\u4ee5\u4eab\u53d76\u6298\u4f18\u60e0")\n} else if (age > 0) { \n if (identity is Student) {\n println("\u5b66\u751f\uff0c\u53ef\u4ee5\u4eab\u53d7\u534a\u4ef7\u4f18\u60e0")\n } else {\n println("\u9700\u8981\u5168\u4ef7")\n }\n} else {\n throw AgeIlligalException("age must be greater than 0")\n}\n","orderid":"0","title":"Kotlin \u57fa\u7840\u5165\u95e8(\u4e00)","smalltitle":"","mid":"0","fname":"Android","special_id":"0","bak_id":"0","info":"0","hits":"338","pages":"6","comments":"0","posttime":"2023-09-09 10:25:31","list":"1694226331","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"Kotlin<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"101.232.55.135","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"Kotlin \u57fa\u7840\u5165\u95e8","lastview":"1714909578","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
- 4.2 \u672c\u5730\u51fd\u6570\uff08\u5d4c\u5957\u51fd\u6570\uff09<\/a><\/li>\n
- 3.1.2 init \u4ee3\u7801\u5757<\/a><\/li>\n
- 3.1.1 \u6784\u9020\u51fd\u6570<\/a><\/li>\n
- 2.3.2 lambda \u8868\u8fbe\u5f0f\u7684\u5199\u6cd5\u6f14\u53d8\u8fc7\u7a0b<\/a><\/li>\n
- 2.2.2 Koltin \u51fd\u6570\u7c7b\u578b<\/a><\/li>\n
- 2.2 \u51fd\u6570\u7c7b\u578b<\/a>\n
- 1.3.2 When \u8868\u8fbe\u5f0f<\/a><\/li>\n
- 1.2.2 \u7c7b\u578b\u63a8\u65ad<\/a><\/li>\n
- 1.2 \u53d8\u91cf<\/a>\n
- 1.1 \u5e38\u89c1\u6570\u636e\u7c7b\u578b<\/a><\/li>\n