好了,开始学习kotlin的语法

首先说明,在不熟悉kotlin的情况下,可以使用java转kotlin的方式,了解两种语言的转换,就是先写java代码,然后

一步步学习kotlin for android(二)创建kotlin类

通过code----convert java file to kotlin file来查看对应的kotlin代码,非常好用,但是没有  kotlin转java的方法,非常遗憾,可能也是为了google逼着用kotlin吧

不管他,接下来,就按照创建项目的顺序来

1.首先要创建类:右击,创建kotlin类,分两种,一个是kotlin activity  一个是kotlin class,这俩其实没区别,kotlin activity只是直接给你建好了类和继承了

AppCompatActivity()
,kotlin class只是建立了一个空的文档,所以,刚建立的时候是这样的

一步步学习kotlin for android(二)创建kotlin类

跟其他的不一样图标,其实是因为你没有在里面写代码,创建类呢,你建好了类,就变成正常的样子了。这里说一句,类的继承是使用 : 代替extends,而且继承的类是要带上()的,比如继承Fragment  ,是下边的,Fragment是要带上()的。

class FragmentJava : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle): View? {
        val view = inflater.inflate(R.layout.activity_main, null)
        return view
    }
}
再继续,先学习语法。

2.最基础的,就是定义变量和常量:

      val是常量,相当于java 的final。比如  val a=1;这个a就是1了,是不可更改的。后边你再来a=2;就会报错

      var是变量,比如var a=1;a是可以更改的,后边可以给a赋值,a=2;a=3都行。

     那么这个a是什么类型呢,kotlin设置了自动识别 的功能,当你不给赋值类型时,就自动识别,如果想要设置,可以这样设置     var a:Int=1;冒号后边的Int就是他的类型,kotlin的类型放在了变量的后边。这里不得 不提一句,kotlin的很多值方式都是跟java相颠倒,java是 int a=1;这边就是a:int=1;牢记这个对学习kotlin有帮助。

3。就android来说,用的最多的不是数组,而是ArrayList集合,当在是studio上使用ArrList的时候,做全局定义和初始化,是这样的:

      java是这样的:

public class MyTest extends Activity {
    private ArrayList<String> arr;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        arr = new ArrayList<String>();
        arr.add("");
        arr.add("");
        arr.add("");

        for (int i = 0; i < arr.size(); i++) {
            Log.i("", "arr[i]====" + arr.get(i));
        }
    }
}
kotlin是这样的:

class MyTest : Activity() {
    private var arr: ArrayList<String>? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        arr = ArrayList<String>()
        arr!!.add("")
        arr!!.add("")
        arr!!.add("")

        for (i in arr!!.indices) {
            Log.i("", "arr[i]====" + arr!![i])
        }
       for ((i, value) in arr!!.withIndex()) {
            Log.i("TAG", "i:$i,value:$value");
       }
 }} 我是将java代码直接转换成kotlin代码,,初始化时候的?号是说集合可以为空,  arr!!后面的!!号是说一旦arr为空,则抛异常。下面是两种for循环方式,后边记录

接下来参考下http://blog.csdn.net/to_yan/article/details/51881818  

相关文章:

  • 2021-08-02
  • 2021-07-27
  • 2021-12-01
  • 2021-07-10
  • 2021-05-03
  • 2021-11-06
  • 2021-09-07
  • 2021-05-03
猜你喜欢
  • 2021-04-18
  • 2021-05-27
  • 2021-06-06
  • 2021-05-28
  • 2021-04-19
  • 2022-01-19
  • 2021-04-22
相关资源
相似解决方案