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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容