首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin入门(4)声明与操作数组

上一篇文章介绍了基本变量类型Kotlin的用法,不过这只针对单个变量,如果要求把一组相同类型的变量排列起来,形成一个变量数组,那又该如何声明和操作呢?...Java声明数组,跟在C语言中声明是一样的,以整型数组为例,声明并赋值的语句如下所示: int[] int_array = new int[] {1, 2, 3}; 其它基本类型的数组声明与之类似...但在Kotlin,声明并赋值一个整型数组的语句是下面这样的: var int_array:IntArray = intArrayOf(1, 2, 3) 两相对比,对于整型数组的声明,Java...:LongArray = longArrayOf(1, 2, 3) var float_array:FloatArray = floatArrayOf(1.0f, 2.0f, 3.0f)...要想在Kotlin声明字符串数组,得使用Array,也就是把String用尖括号包起来;同时,分配字符串数组的方法也相应变成了arrayOf,具体代码如下所示: var string_array

1.2K30

Kotlin 程序设计》第三章 Kotlin 类型系统第三章 Kotlin 类型系统基本数据类型2.字符类型CharKotlin类型系统参考资料

Kotlin 是一门完全面向对象(Object Oriented)的语言。Kotlin中一切皆是对象。所有对象皆继承自Any(类似Java的所有对象的祖先类Object)。... Kotlin ,函数是对象,基本类型也是对象,所有东西都是对象:数字、字符、布尔和数组。...kotlin源码工程如下图所示: ?...containing the specified [Float] numbers. */ public fun floatArrayOf(vararg elements: Float): FloatArray...extends T 表明这个方法接受 T子类型的对象集合,并非T本身。这意味着,可以列表安全的读取T(集合中所有的元素都是T的一个子类),但是我们无法写入因为我们并不知道哪些类是T的子类。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

【Android UI】Path 测量 PathMeasure ② ( PathMeasure API 简介 | nextContour 函数 | getPosTan 函数 ★ | 曲线切线处理 )

getPosTan 函数 ★ 一、PathMeasure API 简介 ---- PathMeasure 官方文档 : https://developer.android.google.cn/reference/kotlin...android/graphics/PathMeasure PathMeasure 是 Path 的一个 工具类 , 字面意思就是 Path 的测量工具类 , 为该 PathMeasure 设置一个 Path 对象...移动到路径的下一个轮廓。 如果存在,则返回true;如果路径已完成,则返回false。...函数 ★ getPosTan 函数 作用是 获取指定长度位置的坐标点 以及该点对应切线的值 ; getPosTan 函数原型 : open fun getPosTan( distance: Float...distance: Float 参数 : 沿当前轮廓进行采样的距离 ; The distance along the current contour to sample pos: FloatArray!

38220

Kotlin学习之路(2)数据类型

简单来说Kotlin不支持范围小的数据类型隐式转为取值大的类型。Kotlin不允许通过Java的前缀表达式来强制转换类型!...】模块再详细讲解,先有个大概的了解也方便后续的学习 (1)数组变量的声明 Java整数数组是这样声明并初始化的 int[] int_array = new int[]{1,2,3} 其他数据类型的数组声明与之类似...,我们只要把这个int 换成long float double 即可,但是Kotlin这么玩是不可以的,Kotlin的数组声明 var int_array:IntArray = intArrayof...Sting[] sting_array = new Sting[]{"冲","鸭"} Kotlin不存在StingArray的素组类型,因为Sting是一种特殊的基本数据类型,想要在Kotlin声明字符串数组代码如下...var string_array:Array = arrayOf("冲","呀呀呀") (2)数组元素的操作 获取数组的长度,Java.length ,而在Kotlin中所使用的则是.

75220

GLSL ES 语言 | 数组

数组 GLSL ES 只支持一维数组,且没有 pop()、push() 等操作,声名数组只需要在变量后加上括号"[ ]" 和数组长度,如下: //声明含有4个数浮点数的数组 float floatArray...[4]; //声明含2个vec4的对象数组 vec4 vec4Array[2]; 数组的长度必须大于 0 的整型常量表达式,如下定义: 整型字面量 用const 限定字修饰的全局变量或局部变量,...不包括参数 由上面两条的项目组成的表达式 如下面代码会出错: int size = 4; vec4 vec4Array[size]; //错误,如果size使用const修饰则不会出错 注意,不可以使用...数组元素可以通过索引值来访问,索引值 0 开始,且只有整型常量表达式和uniform变量可以被用作数组的索引值。..., 2.0, 0.0, 1.0); 数组本身只支持[ ]运算符,但数组元素能够参与其自身类型支持的任意运算,如下: //将floatArray的第2个元素乘以3.14 float f = floatArray

1.7K10

Kotlin初探

Float(32位),Double(64),Int(32),Byte(8),Short(16),Long(64,类型用大写L,如12L),Any(任意类型),数组类型Array 根据传入的泛型数据自动匹配类型...,Kotlin还提供了指定类型的Array,如ByteArray,CharArray,ShortArray,IntArray,LongArray,FloatArray,DoubleArray,BooleanArray...的简洁性,我们创建一个Staff类,有String类型的name,position和泛型T(使用泛型仅仅是为了Kotlin接触以下泛型) java实现代码: Kotlin数据类: 通过对比我们就看出了优点了...上面使用了字符模板,Kotlin中有两种字符模板形式,\、 枚举 Kotlin枚举还支持方法。...Kotlin没有这个关键字,而是伴生对象,具体用法 使用的话直接People.ID。 13 单例模式 Kotlin中使用object修饰类的时候,该类是单例对象

1.6K20

.NET 创建对象的几种方式的对比

.net 创建一个对象最简单的方法是直接使用 new (), 实际的项目中,我们可能还会用到反射的方法来创建对象,如果你看过 Microsoft.Extensions.DependencyInjection...的源码,你会发现,为了保证不同场景的兼容性和性能,内部使用了多种反射机制。...使用 Activator.CreateInstance 如果你需要创建对象的话,.NET Framework 和 .NET Core 中正好有一个专门为此设计的静态类,System.Activator...NET Core 很熟悉的 IOC 容器,Microsoft.Extensions.DependencyInjection,把类型注册到容器后,然后我们使用 IServiceProvider 来获取对象...这里简单对比了几种创建对象的方法,测试的结果也可能不是特别准确,有兴趣的还可以 .net framework 上面进行测试,希望对您有用!

2.1K30

【Android UI】Paint Gradient 渐变渲染 ③ ( RadialGradient 环形渐变渲染 | 在给定中心和半径的情况下绘制径向渐变的着色器 | 水波纹效果 )

RadialGradient 文档地址 : https://developer.android.google.cn/reference/kotlin/android/graphics/RadialGradient...The relative position of each corresponding color in the colors array....colors: IntArray : 要分布圆的中心和边缘之间的sRGB颜色此值不能为null。 stops: FloatArray? : 可能为空。有效值介于0.0f和1.0f之间。...颜色数组每个对应颜色的相对位置。如果为null,则颜色圆的中心和边缘之间均匀分布。 tileMode: Shader.TileMode : 着色器平铺模式此值不能为null。...stops: FloatArray? : 可能为空。有效值介于0.0f和1.0f之间。颜色数组每个对应颜色的相对位置。如果为null,则颜色圆的中心和边缘之间均匀分布。

69620

第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统

,内存存储方式区别如下: 基本数据类型在被创建时,栈上给其划分一块内存,将数值直接存储栈上(性能高)。...引用数据型在被创建时,首先在栈上给其引用(句柄)分配一块内存,而对象的具体信息存储堆内存上,然后由栈上面的引用指向堆对象的地址。...如下表所示 Kotlin Java Int int Long long Float float Double double Kotlin对应的可空数字类型就相当于Java的装箱数字类型。...Double Java基本数字类型到引用数字类型的转换就是典型的装箱操作,例如int转为Integer。倒过来,Integer转为 int 就是拆箱操作。...Kotlin摒弃了这个数组类型声明的语法。Kotlin简单直接地使用Array类型代表数组类型。

2.1K20

【C++】构造函数分类 ② ( 不同的内存创建类的实例对象 | 栈内存创建实例对象 | new 关键字创建对象 )

一、不同的内存创建类的实例对象 1、栈内存创建实例对象 在上一篇博客 【C++】构造函数分类 ① ( 构造函数分类简介 | 无参构造函数 | 有参构造函数 | 拷贝构造函数 | 代码示例 - 三种类型构造函数定义与调用...栈内存的 变量 Student s1 ; 这些都是 栈内存 创建 类的实例对象 的情况 ; // 调用无参构造函数 Student s1; // 打印 Student s1 实例对象值..., 会自动将栈内存的实例对象销毁 ; 栈内存 调用 构造函数 创建的 实例对象 , 不需要关注其内存占用 ; 2、堆内存创建实例对象 栈内存 声明 类 的 实例对象 方式是 : 该 s1...实例对象存放在栈内存 , 会占用很大块的栈内存空间 ; Student s1; 堆内存 声明 类 的 实例对象 方式是 : 该 s2 实例对象是存放在堆内存的 , 栈内存只占 4 字节的指针变量大小..., 接受两个整数作为 构造函数参数 ; main 函数 , 使用 使用 new 关键字 来调用 有参构造函数 创建 MyClass 类实例对象 ; class MyClass { public

15220

Kotlin 极简教程 》第4章 基本数据类型与类型系统

01到类型,类型到接口API,再到软件服务,都可以看做是广义的“类型”范畴。 程序的变量程序执行期间,可能会有不同的取值范围,我们可以把变量可取值的最大范围称为这个变量的类型。...Any的源码注释,我们可以看到,判断两个对象是否相等,需要满足以下条件: 自反性:对于任何非空引用值x,x.equals(x)应返回true。...所以,Void是一开始堆栈处分配好空间。所以,将Void归成基本类型。 Kotlin,一切皆是对象。所有类型都是引用类型。没有类似Java的基本类型。...函数 arrayOfNulls() 可以用于创建一个指定大小、元素都为空的数组。这个特殊的空数组创建的时候,我们需要指定元素的类型。.... */ public fun floatArrayOf(vararg elements: Float): FloatArray /** * Returns an array containing

2K20

JavaScript,如何创建一个数组或对象

JavaScript,可以使用以下方式创建数组和对象: 一:创建数组(Array): 1:使用数组字面量(Array Literal)语法,使用方括号 [] 包裹元素,并用逗号分隔: let array1...2:使用 Array 构造函数创建数组,通过传递元素作为参数: let array4 = new Array(); // 空数组 let array5 = new Array(1, 2, 3); //...包含三个数字的数组 let array6 = new Array('apple', 'banana', 'orange'); // 包含三个字符串的数组 二:创建对象(Object): 1:使用对象字面量...2:使用 Object 构造函数创建对象,通过传递键值对作为参数: let obj4 = new Object(); // 空对象 let obj5 = new Object({ name: 'John...}); // 包含三个属性的对象 这些方式都可以创建数组和对象,并根据需要添加、修改或删除元素或属性。

18530
领券