1-1、Kotlin概述

1、Kotlin的作用

  • Kotlin是一种全栈开发语言:可以用于服务端、Web前端、多平台移动端
  • 使用 Kotlin 进行 Android 开发(Kotlin可与Java进行100%兼容)
  • Kotlin-Native用于原生开发
  • Kotlin直接依赖Java命令,需要先有JDK环境
  • Kotlin也会生成一个class文件

image.png

2、Hello World

2-1、云端IDE方式

2-2、IDEA方式

  • 运行方式3:IDEA运行
  • 下载IDEA,确认安装Kotlin插件
  • 新建Kotlin项目,并选择JVM|IDEA类型
  • 主目录下新建src/main文件夹,文件夹下建com.wanhe包名,包名下新建xx.kt类型文件
  • 直接run输出Hello World
fun main(args: Array<String>) {
    println("Hello World")
}

3、Kotlin文件、字节码文件、Java文件

Main.kt

  • Kotlin文件

fun main(args: Array<String>) {
    var g : String = "abc"
    println(g)
}

Main.class

  • 字节码文件

// ================MainKt.class =================
// class version 52.0 (52)
// access flags 0x31
public final class MainKt {


  // access flags 0x19
  public final static main([Ljava/lang/String;)V
    // annotable parameter count: 1 (visible)
    // annotable parameter count: 1 (invisible)
    @Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 0
   L0
    ALOAD 0
    LDC "args"
    INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkNotNullParameter (Ljava/lang/Object;Ljava/lang/String;)V
   L1
    LINENUMBER 3 L1
    LDC "abc"
    ASTORE 1
   L2
    LINENUMBER 4 L2
   L3
    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
    ALOAD 1
    INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/Object;)V
   L4
   L5
    LINENUMBER 5 L5
    RETURN
   L6
    LOCALVARIABLE g Ljava/lang/String; L2 L6 1
    LOCALVARIABLE args [Ljava/lang/String; L0 L6 0
    MAXSTACK = 2
    MAXLOCALS = 2

  @Lkotlin/Metadata;(mv={1, 8, 0}, k=2, d1={"\u0000\u0014\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\u0008\u0002\u001a\u0019\u0010\u0000\u001a\u00020\u00012\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u00020\u00040\u0003\u00a2\u0006\u0002\u0010\u0005\u00a8\u0006\u0006"}, d2={"main", "", "args", "", "", "([Ljava/lang/String;)V", "KotlinDemo"})
  // compiled from: Main.kt
}


// ================META-INF/KotlinDemo.kotlin_module =================
                 


 MainKt" * 


Main.java

  • 反编译字节码文件,生成对应的Java文件

import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import org.jetbrains.annotations.NotNull;

@Metadata(
   mv = {1, 8, 0},
   k = 2,
   d1 = {"\u0000\u0014\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\b\u0002\u001a\u0019\u0010\u0000\u001a\u00020\u00012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00040\u0003¢\u0006\u0002\u0010\u0005¨\u0006\u0006"},
   d2 = {"main", "", "args", "", "", "([Ljava/lang/String;)V", "KotlinDemo"}
)
public final class MainKt {
   public static final void main(@NotNull String[] args) {
      Intrinsics.checkNotNullParameter(args, "args");
      String g = "abc";
      System.out.println(g);
   }
}

4、Kotlin常用网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码充电宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值