Part1 Java&Kotlin 基础语法知识

既难落笔成韵,不若人生如歌。移动应用程序、游戏、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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容