开篇
由于之前有一段时间是学习过的,这一篇更多的就算是一个复习,也是相对于java来对比的学习,所以这些基础的东西还是必须再过一遍的(学习其他的语言也是得从基本的语法学起,这点我觉的应该是没有错的),那么就开始我们的筑基期的学习吧(突然有了一个想法,其实学习也跟修真小说一样哇,就以现在的基础来说吧,应该是属于炼气期咯,接下来我们开始冲击筑基期吧,兄弟们,开始修炼)
基本类型
Koltin的基本类型相对于Java来说基本上是一致的,不过还是有些不一样的地方,上个表格来个对比:
kotlin | java | |
---|---|---|
字节 | Byte | byte/Byte |
整型 | Int & Long | int / Integer & long / Long |
浮点型 | Float & Double | float / Float & double / Double |
字符 | Char | char/Character |
字符串 | String | String |
明显可以看出kotlin基本类型没有包装类型,用起来更方便了。
声明变量的方式 (var val)
var a :String = "Hello Kotlin"
val b : String = "Hello Kotlin"
这里声明变量用了两个修饰符,区别是:
- var 修饰的可读写变量
- val 修饰的只读变量 相当于java中添加了final修饰符
因为kotlin声明变量的时候可以进行类型自动推导,那么我们在声明变量的时候可以省略去声明类型,上面的代码可以写成这样的形式
var a = "Hello Kotlin"
val b = "Hello Kotlin"
易混淆的Long类型标记
java:
Long c = 1000001l
Long d = 1000001L
kotlin:
val c :Long = 100001L
仔细看在java中long类型可以用 “l” 和 “L” 来标记,很容易混淆,上面也能看出在小写的时候很容易与数字1混淆,在kotlin中规定必须是要用大写的 “L” ,这点是与java不一样的地方
同时,那么既然Long类型是这样的,那么浮点型的Float与Double是不是也有同样的问题呢,接着看下去(其实跟java的是一样的写法):
java
float d = 2.23f;
double e = 2.23;
koltin
val d = 2.23f
val e = 2.23
数值类型转换
在koltin中的显式转换比起java的隐式转换还是比较好的一种方式,简单明了的可以看出来。
java
int e = 100;
long f = e; //隐式的转换了,那么在long类型转换为int类型的时候会有被截断的可能
kotlin
val e: Int = 100;
val f: Long = e.toLong() //必须用toLong去转换,这点跟java的区别还是很大的
//也可以写成不声明数据类型的形式(还是这种方式比较简洁)
val e = 100
val f = e.toLong()
字符串
字符串的声明还是跟java一样的方式,也是简单的对比一下吧
java
String g = "Hello Java"
kotlin
val g = "Hello Koltin"
最有意思的是koltin中的字符串拼接,相比起java中的字符串拼接,简直是方便太多了,对比的看一下就知道有多爽了
java
String h = "I Love ";
String i = "China ";
String j = "!";
String k = h + i + j;
kotlin
val h = "I Love"
val i = "China"
val j = "!"
val i = "$h $i $j"
字符串模板使用有两种:
- $ + 变量名
- $+{}
Kotlin中的字符串拼接使用的是字符串模板,通过字符串模板$ 拼接的时候,可以直接打出想要的形式,而不是像java中一样,要在每一个变量中去添加空格来达到想要的效果。
字符串的比较
字符串比较在开发中还是比较常用的,那么必须是去了解一下了哦
这个内容还是有必要记清楚,在很多的面试中也会出现,虽然形式不一样
kotlin | java | |
---|---|---|
比较内容 | == | equals |
比较引用地址 | === | == |
Raw字符串 (原生字符串) “”" “”"
没有看错,就是三个引号,看下示例就明白咋回事了,下面的示例代码是在网上找的,太久没写html,有点生疏了…
java
String n = "<!doctype html>\n" +
"<html>\n" +
"<head>\n" +
" <meta charset=\"UTF-8\"/>\n" +
" <title>Hello World</title>\n" +
"</head>\n" +
"<body>\n" +
" <div id=\"container\">\n" +
" <H1>Hello World</H1>\n" +
" <p>This is a demo page.</p>\n" +
" </div>\n" +
"</body>\n" +
"</html>";
kotlin
val n = """
<!doctype html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Hello World</title>
</head>
<body>
<div id="container">
<H1>Hello World</H1>
<p>This is a demo page.</p>
</div>
</body>
</html>
""".trimIndent()
Java中想要输入大量换行的字符串非常麻烦,使用了非常多的拼接。
Kotlin中提供一种简便的方式,就是使用 “”" “”" ,这里的**trimIndent()**的作用是去除字符串里面的公共空白。
今日学习总结
- 基本类型-----------数值类型 + 字符串
- 数值类型-----------数值类型的转换
- 字符串-----------字符串模板 + 字符串比较 + 原生字符串