首页 > 其他分享 >【随笔二】Android-kotlin-实现简单计算器功能

【随笔二】Android-kotlin-实现简单计算器功能

时间:2023-06-19 15:03:47浏览次数:58  
标签:operapor whenFlag kotlin CounterClass result 计算器 var Android


上一篇博客Android-kotlin-配置/入门配置好了 AndroidStudio Kotlin 的环境;

今天做一个简单的demo实战—实现一个简单的计算器功能

1.选择包名,然后右键:

【随笔二】Android-kotlin-实现简单计算器功能_右键


2.选择Class类型,会有class:

【随笔二】Android-kotlin-实现简单计算器功能_包名_02

3.创建CounterClass:

package cn.kotlin.kotlin_oop02

/**
 * 加减乘除计算的calss
 * var number1:Double 此Double是kotlin的
 * var operapor:Char  此Char是kotlin的
 */
class CounterClass(var number1:Double, var operapor:Char, var number2:Double) {

    fun onCount() {

        // 注意:⚠️ 在真实开发者 只需要写if等方式判断 加减乘除就好了,我是为了使用when,所以才做了if判断,又做了when判断
        var whenFlag:Int = 0;
        if (operapor.equals('+')) {
            whenFlag = 1
        } else if (operapor.equals('-')) {
            whenFlag = 2
        } else if (operapor.equals('*')) {
            whenFlag = 3
        } else if (operapor.equals('/')) {
            whenFlag = 4;
        }

        /**
         * when可以理解为Java的switch,只是语法不同
         */
        var result:Double = 0.0;

        when(whenFlag){
            1 -> {
                result = number1 + number2;
            }
            2 -> {
                result = number1 - number2;
            }
            3 -> {
                result = number1 * number2;
            }
            4 -> {
                result = number1 / number2;
            }
            else -> {
                println("${operapor}法运算过程中失败!")
                return // 失败就不完下执行了,方法结束
            }
        }
        showResult(result)
    }

    /**
     * 此方法打印计算结果
     * 设置private私有,不给外面其他地方访问调用,资格本类中使用,这属于封装的一种体现
     */
    private fun showResult(result:Double) {
        println("${operapor}计算的结果是:${result}");
    }

}

4.选择包名,然后右键:

【随笔二】Android-kotlin-实现简单计算器功能_包名_03

5.选择File类型,不会自动有class:

【随笔二】Android-kotlin-实现简单计算器功能_右键_04

6.创建测试的main方法:

package cn.kotlin.kotlin_oop02

fun main(args: Array<String>) {

    // 加
    var c = CounterClass(9.0, '+', 9.0)
    c.onCount();

    // 剑
    CounterClass(100.0, '-', 50.0).onCount()

    // 乘
    CounterClass(10.0, '*', 10.0).onCount()

    // 除
    CounterClass(100.0, '/', 2.0).onCount()
}

7.执行结果:

【随笔二】Android-kotlin-实现简单计算器功能_右键_05


标签:operapor,whenFlag,kotlin,CounterClass,result,计算器,var,Android
From: https://blog.51cto.com/u_16163510/6513798

相关文章

  • Android-kotlin 抽象类与多态的表现
    上篇博文讲了kotlin语言中get/set方法的使用,今天来讲一下kotlin中的抽象类与多态的表现选择包名,然后右键:选择Class类型,会有class:选择File类型,不会自动有class:目录结构:定义描述抽象类Person人类:packagecn.kotlin.kotlin_oop05/***抽象类用abstract修饰*描述:人类的抽象......
  • 鹅厂资深Android开发带你了解面试重点Framework,掌握更加核心的技术
    前言今天,想跟大家聊聊,Framework开发的那些事。系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。对于之前维护系统应用模块的人来讲,修修补补,真的没有什......
  • ANDROID-KOTLIN-代理和委托
    代理和委托,在生活中的案例有很多:例如:小明工作很忙,需要办理银行卡,此时他委托给>>小李去给自己办理银行卡,小李来到办理中心把自己的身份证/小李的身份证,给办理人员,说是小明委托我,给他办理银行卡的在Kotlin的代理委托是使用by关键字来处理定义描述寻找的接口,规范寻找的功能的标准:pack......
  • 2022年Android大厂面试题(面经)总结(小红书、快手、爱奇艺、微信、抖音.....)
    小红书Android一面Java篇静态变量和实例变量的区别静态变量有static关键字修饰静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独......
  • Android AccessibilityService 事件分发原理
    在了解了无障碍服务基础使用之后,我们来探究一下AccessibilityService的事件接收方法回调的时机和它深层次的实现逻辑。AccessibilityService监听事件的调用逻辑AccessibilityService有很多用来接收外部调用事件变化的方法,这些方法封装在内部接口Callbacks中:publicinterface......
  • Android面试「25K—30K」的坑位,面试官喜欢问些什么?
    前言掉帧监控,函数插桩,慢函数检测,ANR监控,启动监控……这些让Android开发者们头皮发麻的内容,如今可都成为了大厂中面试必问题目:用什么机制去监控,在哪里函数插桩,反射调用用哪个类哪个方法和哪个属性?这些问题恐怕是会难倒一大批向高阶进军的开发者。目前大公司的app开发都要基于模块化......
  • 2022 Android开发面对“铜三铁四”,如何稳住工作、顺利求职?
    前言大厂似乎变成了一座围城,里面的人想要逃离,外面的人前仆后继为了一份offer焦虑奔走。说回主题啊,腾讯裁员的消息基本年年都有,但唯独这一次迟迟不见官方出来辟谣……这是不是已经默认了,但也情有可原,毕竟腾讯这个大的集团,其中有一些尸位素餐和管理人员不作为的情况也在所难免。“......
  • Android Framework层——App启动过程浅析
    1.关于Android系统的启动系统的启动过程非常复杂,这里只是简单的了解。先上谷歌提供的架构分层图⬇**引导程序BootLoader进行初始化Linux内核->启动init进程->init进程fork出zygote进程(处于c++framework层)->zygote进程fork出system_server进程(处于javaframework层)**system_ser......
  • Android程序员面试5分钟自我介绍法
    有简历,为何还要自我介绍?要回答这个问题,首先搞清楚为什么面试官要请你做自我介绍?面试官通过自我介绍想考察被面试者什么?只有了解面试官的目的,被面试者才能做好自我介绍。面试官通过被面试者自我介绍要考察以下五方面内容:第一,考察自我介绍内容和递交简历内容是否相冲突?如果简历是真实......
  • 【Android面试】2023最新面试专题一:HashMap篇
    1、请说一说HashMap,SparseArrary原理,SparseArrary相比HashMap的优点、ConcurrentHashMap如何实现线程安全?这道题想考察什么?1、HashMap,SparseArrary基础原理?2、SparseArrary相比HashMap的优点是什么?3、ConcurrentHashMap如何实现线程安全?考察的知识点HashMap,SparseArrary、Concurre......