既难落笔成韵,不若人生如歌。移动应用程序、游戏、Web 网页设计、企业软件......从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在!同样作为面向对象语言典型代表的Kotlin在Android开发中也具有极大的优势!我们有什么理由不拿下这哥俩呢?快来跟小编开启新的学习篇章吧!
·变量及其定义
·Java
数据类型 变量名=初始值
1.字符类型(char)
char a='A';
char b='B';
2.布尔类型(boolean)
boolean a=true;
boolean b=false;
3.数值类型
(整数类型byte、short、int、long)
(浮点数类型float、double)
int a=11;
float b=11.0;
4.数组的定义
int[] nums={1,2,3,4};
int[] nums2=new int[]{1,2,3,4};
int[] nums3=new int[4];
5.定义常变量
//定义常变量,使用final
final int A=20;
·Kotlin
·可变变量 [使用关键字var]
var name:String="Jack"
var name1="Rose"
·不可变变量 [使用关键字val]
val id=1001
val id:String=1002
·可选类型
关键修饰符:?
例:address?.length
1.如果有值,直接访问对象的length方法
2.如果没值,后面的方法不执行
var address: String? = null//变量可能为空
address = "chongqing"
println(address?.length)
var address1: String? = null//变量可能为空
address1 = "chongqing"
println(address!!.length)//此时表示address一定有值
·输入输出
1.输入
//Java使用Scanner类实现从键盘输入数据
//创建Scanner类的对象
Scanner sc=new Scanner(System.in);
//键盘输入数据
int a=sc.nextInt();
//Kotlin使用readLine()函数实现字符串输入
var address=readLine()
//toInt等函数实现数据类型转换
var a=readLine()?.toInt()
2.输出
//Java
//字符串输出
System.out.println("Hello world!");
//变量可直接输出
int a=18;
System.out.println(a);
//+实现字符串拼接
String name="Jack";
println("My name is "+name+","+
"My age is "+(age+1));
//kotlin
//字符串输出
println("Hello world!")
//$实现字符串拼接
var age=18
String name="Jack";
System.out.println("My name is $name,
"My age is ${age+1}")
·for循环
for-i循环
//Java
//利用for-i循环为数组赋值
int[] a=new int[10];
for(int i=0;i<a.length;i++){
Scanner sc=new Scanner(System.in);
a[i]=sc.nextInt();
}
//kotlin
//方式1:in 0..4 实现五次循环 i的取值为0 1 2 3 4
for (i in 0..4) {
print(i)
print(" ")
}
println()
//方式2:使用in 1 until 5 不包括上限值,即输出1 2 3 4
for (i in 1 until 5) {
print(i)
print(" ")
}
println()
//方式3:指定步长step 输出1 3 5
for (i in 1..5 step 2) {
print(i)
print(" ")
}
for-each循环
//Java
//利用for-each循环实现遍历数组
int[] nums={1,2,3,4};
for (int num:nums) {
System.out.println();
}
//Kotlin
//遍历数组 不关心索引值
for (item in nums) {
print(item)
}
// 同时取出其值和索引值
for ((index, num) in nums.withIndex()) {
println("nums[$index]=$num")
}
·switch || when语句
·java使用switch实现多选择分支
·switch() 括号中的表达式必须为整型
char c='A';
switch(c){
case 'A':
System.out.println();
case 'B':
System.out.println();
break;
default:
break;
}
·kotlin使用when代替switch
·任意类型皆适用
val c = 'A'
when(c)
{
'A'-> println("1")
'B'->println("2")
else->println("others")
}
//可使用以下方式使代码更加简洁
val result=when(c){
'A'->"1"
'B','C'->{
if(true){
"2"
}//可以是一个代码块或表达式
}//返回最后一行的值
else->"others"
}
println(result)
结语
相较于Java而言,Kotlin的代码实现更加简洁,为编程者带来极大便利。
⭐Kotlin定义变量时可不指定类型,kotlin可进行类型自动推断。
val:不可变变量 指向地址不变,地址存放内容可变
var:可变变量 指向地址和内容均可变
注:可选类型(?)必须指定数据类型
⭐kotlin使用when多选择分支结构,较之switch语句程序功能更易实现。
At Last
生命不息,学习不止🤔,快来检验一下你的学习成果吧!
实战练习:实现ATM自动存取款机的简易功能
代码参考:java-kotlin-Demo/ATMswitch.kt at main · lingyinling/java-kotlin-Demo (github.com)