Kotlin学习02-变量、常量、整数、浮点数、操作符、元组、包、导入

变量、常量、整数、浮点数、操作符、元组、包、导入

Book.kt

kt 复制代码
package com.wujialiang.pack

class Book {
    var title: String = "Hello"
}

val PI = 3.14;
val E = 2.178;

Main.kt

kt 复制代码
//引入包
//import com.wujialiang.pack.Book;
import com.wujialiang.pack.*;
//重命名导入
import com.wujialiang.pack.Book as TestBook;
fun addPIAndE()=PI+E;

fun main() {
    //常量
    val constant = "我是常量";
    //constVar ="我要改变";
    println(constant);
    //变量
    var variable = "我是变量";
    println(variable);
    variable = "我能改变";
    println(variable);
    //整数类型
    val int: Int = 1;
    println(int);
    val long: Long = 1L;
    println(long);
    val double: Double = 1.0;
    println(double);
    val float: Float = 1.0f;
    println(float);
    val octal: Int = 0xACF;
    println(octal);
    val hexadecimal: Int = 0b01010111;
    println(hexadecimal);
    //类型转换
    val intToLong = int.toLong();
    println(intToLong);
    val intToChar = 97.toChar();
    println(intToChar);
    //左移 1左移2
    val result1 = 1 shl 2;
    println(result1);
    //右移 1右移2
    val result2 = 1 shr 2;
    println(result2);
    //无符号右移
    val result3 = 1 ushr 2;
    println(result3);
    //与或非异或
    val result4 = 1 and 0x00001111;
    println(result4);
    val result5 =  1 or 0x00001111;
    println(result5);
    val result6 = 1 xor 0x00001111;
    println(result6);
    //取反
    val result7 = 1.inv();
    println(result7);
    val pi = 3.1415926;
    println("圆周率为${pi}");
    val bool:Boolean = false;
    println(bool);
    //元组
    val grade = Triple("一级","二级","三级");
    println("${grade.first}-${grade.second}-${grade.third}");
    //可空类型
    var address:String? = null;
    address="济南市";
    println(address);
    var a =3;
    a = -100;
    println(+a)//-100
    println(-a)//100
    //操作符 + - * / % -= += *= /= > < >= <= ==
    var r=1;
    r /=1;
    println(r);
    //import导入和重命名
    val result8 = addPIAndE();
    println(result8);
    val book =  TestBook();
    println(book.title);
}
相关推荐
程序员雷欧8 分钟前
大模型应用开发学习第八天
大数据·人工智能·学习
Freak嵌入式10 分钟前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
yu859395814 分钟前
matlab雷达信号与干扰的仿真
开发语言·matlab
前进的李工15 分钟前
LangChain使用AI工具赋能:解锁大语言模型无限潜力
开发语言·人工智能·语言模型·langchain·大模型
yugi98783821 分钟前
C# 串口下载烧写BIN文件工具
开发语言·c#
晓晓hh30 分钟前
JavaSE学习——set集合和Map映射
学习
EAIReport1 小时前
国外网站数据批量采集技术实现路径
开发语言·python
超绝振刀怪1 小时前
【C++可变模板参数】
开发语言·c++·可变模板参数
Freak嵌入式1 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython