Swift - 25 - 控制转移和二维数组

//: Playground - noun: a place where people can play

import UIKit

// fallthrough
// fallthrough会在当前case执行完之后继续下一个case
// 如果在下一个case中声明了变量, 则不能使用fallthrough
var coordinate = (1, 0)
switch coordinate {
case (0, 0):
    print("It‘s at origin!")
    fallthrough
case (_, 0):
    print("(\(coordinate.0), 0) is on the x-axis.")
    fallthrough
case (0, _):
    print("(0, \(coordinate.1)) is on the y-axis.")
    fallthrough
case (-2...2, 0...2):
    print("the coordinate is (\(coordinate.0), \(coordinate.1))")
default:
    print("(\(coordinate.0), \(coordinate.1)) is just an ordinary coordinate")
}

// break
for var i = 0; i < 10; i++ {
    print(i)
    for var j = 0; j < 10; j++ {
        print(j)
        if i + j == 10 {
            print(i + j)
            break   // 跳出break所在的循环体
        }
    }
}

// continue
var str = "askdjfskldjfdifjhget,n,mcnmvxcvawperiuzxncv,."
var num = 0;
for string in str.characters {
    switch string {
        case ",", ".":
            num++
        default:
            continue;
    }
}

// 初始化二维数组
var board = Array<Array<Int>>()
for i in 0..<10 {
    // count: 数组初始化后的元素个数 repeatedValue: 数组的元素的值
    board.append(Array(count: 10, repeatedValue: 0))
}

let randx = Int(arc4random()%10)
let randy = Int(arc4random()%10)
board[randx][randy] = 1
board

// mainloop用于标记某个循环, 有了标记, break就可以直接跳出某个指定的循环了. eg:
var i = 0, j = 0
mainFor:for i = 0; i < 10; i++ {   // mainFor这个标记是可以自定义的
    for j = 0; j < 10; j++ {
        if board[i][j] == 1 {
            break mainFor
        }
    }
}

print("board[\(i)][\(j)] = 1")

  

时间: 2024-10-20 09:54:21

Swift - 25 - 控制转移和二维数组的相关文章

2016/1/10 作业 1, 二维数组遍历输出求和 2,转置运算???? 3,九宫格?? 后两个存在问题

1 public class arr1 { 2 3 4 public static void main(String[] args) { 5 // 创建二维数组arr[][],输出二维数组所有元素的和. 6 7 int arr[][]={{1,3,5,7,9},{21,23,25,27,29}, 8 {12,14,16,18},{32,34,36,38}}; 9 int sum=0; 10 System.out.println("二维数组遍历"); 11 // for循环 遍历 求和

七、二维数组

1.只有一个下标的数组称为一维数组,有两个下标的数组称为二维数组,有N个下标的数组称为n维数组. 2.二维数组定义: 类型说明符 数组名[常量表达式1][常量表达式2] = {值1,值2,...}: int a[2][3] = {{7,6,3},{2,8,5}}; 说明2行3列的数组 3.常量表达式1表示第一维下标的长度 常量表达式2表示第二维下标的长度 4.二维数组的元素也称为双下标变量 5.赋值一般与两层for循环嵌套(双循环)使用.外层循环控制行数,内层循环控制每行对应的列数. 6.二维数

Swift语言学习No.2: 二维数组

之前在教程中学习了二维数组,原本里面很多知识点都不甚了解,后来经过一番资料查找,基本上理解透彻了,做个总结吧. 老规矩,先上代码: class Array2D<T> { let columns: Int let rows: Int var array: Array<T?> init(columns: Int, rows: Int) { self.columns = columns self.rows = rows array = Array<T?>(count:rows

一步一步教你用Swift开发俄罗斯方块:No.3 二维数组

数组是一个很有用的数据结构,很多程序都建立在数组之上,我很少看到哪个应用程序不用到数组的. 而我们的俄罗斯方块显然也需要数组,而且是更为特殊的  二维数组. 为什么是二维数组呢?其实我们的整个游戏区域,可以看做是一个二维数组区域,就像这样: 我们的每一个block都占据在这样一个20x10的区域之内,20行,10列的一个200个block的二维数组让我们可以根据(x,y)坐标来确定block的位置,而这些blocks其实就是组成我们的L形,或者Z形 等等不同但我们都熟知的俄罗斯方块: swift

2014.8.25二分法,二维数组

1 //二分法 2 //假设顶一个已经排好序的数组,用户输入一个数,找出这个数的位置,没有则返回空 3 int[] nums = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 4 int a = 0, b = nums.Length - 1, zj; 5 Console.WriteLine("请输入要查找的数:"); 6 int n = Convert.ToInt32(Console.ReadLine()); 7 while (b >

JavaScript 通过循环按执行顺序,做一个5&#215;5的二维数组,赋1到25的自然数,然后输出该数组的左下半三角。

通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,然后输出该数组的左下半三角.试编程. 基本思路: 1 var container_arr = []; 2 // 建立五个数组 3 for(var i = 0,count = 0 ; i < 5; i++){ 4 var arr = []; 5 for(var k = 0 ; k < 5 ; k ++){ 6 // 这个内层循环会执行 5 * 5 次 7 count ++; //count会从1 ~ 25 8 arr.push(co

二维数组的传输 (host &lt;-&gt; device)

前言 本文的目的很明确:介绍如何将二维数组传递进显存,以及如何将二维数组从显存传递回主机端. 实现步骤 1. 在显存中为二维数组开辟空间 2. 获取该二维数组在显存中的 pitch 值 (cudaMallocPitch 实现) 3. 将二维数组传递进显存 (cudaMemcpy2D 实现) 4. 在显存中对该二维数组进行处理 (目前必须按照 1 维数组的规则进行处理) 5. 将结果传递回内存 (cudaMemcpy2D实现) 重要概念 - pitch 对于内存的存取来说,对准偏移量为2的幂(现在

【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在数据类型的后面,也可以在数组名称的后面,其它的依次类推. 例如: int[][] map; char c[][]; 和一维数组一样,数组声明以后在内存中没有分配具体的存储空间,也没有设定数组的长度.  -------------------------------------------------

用二维数组打印出杨辉三角

用二维数组打印出杨辉三角 首先你得知道二位数组和熟练二位数组,再次你得知道杨辉三角的规律! 相信能知道这个的,你已经掉了半只脚在这个坑了,不说废话直接上... 针对Javascript掌握基础的: 在电脑输入cmd命令打开控制器先要创建node'.js的环境: 你得把这个文件夹和你的js文件放在一起! js代码如下: 1 let readline = require("readline-sync"); 2 console.log("请输入杨辉三角的行数:"); 3