//
// ViewController.swift
// Label
//
// Created by 赵士军 on 2019/11/18.
// Copyright © 2019 赵士军. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//1导入框架
//#import <UIkit/UIkit.h>
// import UIKit
//2.定义一个标识符
//int a = 10;
//swift 中定义标识符:必须制定该标识符是一个常量还是一个变量
//var(变量)//let (常量)标识符的名称 : 标识符类型 = 初始化值
//var a : Int = 6
// var a :Int = 6
// let b : Int = 4
//
// a = 5
// print(a ,b)
// print("wewe")
// //常量和变量的使用:
// /*
// 在实际开发中优先使用常量,只有在需要修改的时候再改成 Var(变量)
// 常量的本质是:保存内存地址不可修改,但是可以通过内存地址拿到对象,之后修改对象的属性
// */
//
// let view : UIView = UIView.init(frame: CGRect(x: 0, y: 100, width: 100, height: 100))
// view.backgroundColor = .red
// self.view .addSubview(view)
// // Do any additional setup after loading the view.
//
// //数据类型
// var asr = 10.2
//
// //基本计算 Swift中没有隐式转换,不会z将整形自动转换成浮点型
// let m = 32
// let n = 3.14
//
// // Swift中没有隐式转化,不会将整形自动转成浮点型
// // let result = m + n 错误写法
// // 将整型转成浮点型
// let result = Double(m) + n
// // 将浮点型转成整型
// let result1 = m + Int(n)
//
// /*
// 逻辑分支
// 1.if 的使用
// if后面的()可以省略
// 2判断句不再有 非0即真 必须明确 Bool (true/false)
//
// */
// let af = 10
// if af != 0 {
// print("a不等于0")
// }else{
// print("a等于0")
// }
// //if else if 的使用
// let score = 80
// if score < 0 || score > 100 {
// print("没有意义的分数")
// } else if score < 60 {
// print("不及格")
// } else if score < 80 {
// print("及格")
// } else if score < 90 {
// print("良好")
// } else if score <= 100 {
// print("优秀")
// }
//
// //三目运算符
// let ms = 10
// let ns = 100
// var over = 0
//
// over = ns < ms ? ms : ns
//
//
// print(over)
//
// //逻辑分支
// /*
// 1.基本用法
//
//
// */
// //: Playground - noun: a place where people can play
//
//
// // 1.基本用法
// let sex = 0
//
// // 0:男 1:女 其他:其他
//
// // 1> switch可以不跟() 2> case语句结束后可以不跟break,默认系统会加
//
// switch sex {
// case 0:
// print("男")
// // fallthrough
// case 1:
// print("女")
// default:
// print("其他")
// }
// 2.基本用法的补充:
// 1>如果希望一个case中出现case穿透,那么可以在case语句结束后跟上fallthrough
// 2>case后面可以跟多个条件,多个条件以,分割
// switch sex {
// case 0, 1:
// print("正常人")
// default:
// print("其他")
// }
// 3.switch可以判断浮点型
// let ass : Double = 3.14
//
// //if a == 3.14 {
// // print("π")
// //} else {
// // print("非π")
// //}
//
// switch ass {
// case 3.14:
// print("π")
// default:
// print("非π")
// }
//
// // 4.switch可以判断字符串
// let m = 20
// let n = 30
// let opration = "+"
//
// var result = 0
//
// switch opration {
// case "+":
// result = m + n
// case "-":
// result = m - n
// case "*":
// result = m * n
// case "/":
// result = m / n
// default:
// print("非法操作符")
// }
//
// // 5.switch可以判断区间
// let score = 93
//
// switch score {
// case 0...60:
// print("不及格")
// case 60...80:
// print("及格")
// case 80...90:
// print("良好")
// case 90...100:
// print("不错噢")
// default:
// print("不合理的分数")
// }
//逻辑分支(guard)必须用在函数
// func online(age : Int) {
// if age >= 18 {
// if 带了身份证 {
// if 带了钱 {
// print("可以上网")
// } else {
// print("不可以上网,回家拿钱")
// }
// } else {
// print("不可以上网,回家拿身份证")
// }
// } else {
// print("不可用上网,回家去吧")
// }
// }
func online (age : Int){
//如果条件成立,则会执行后面的代码块
//如果条件不成立,则会执行{}中的语句,并且{}必须跟上
guard age >= 18 else {
print("未成年人不能上网")
return
}
// guard 带了身份证 else {
// print("不能上网")
// return
// }
// guard 带了钱 else {
// print("不能上网")
// return
// }
print("留下来上网")
}
// 1.普通的for循环
// for var a = 0; i < 10; i++ {
//
// }
// for i in 0 ... 10 {
// print(i)
// }
//for in 写法但是不需要用到下标值 如果不需要用到下标值 用 _ 代替
// for _ in 0 ..< 10 {
// print("")
// }
// var a = 10
//
//// 1.while循环
// // 1> while后面的()可以省略 2>没有非0(nil)即真
// while a > 0 {
//
// a -= 1
// print(a)
// }
// // 2.do while循环
// // 1> 类型while循环的差别 2>do需要换成repeat
// repeat {
// a += 1
// print(a)
// }while a < 100
//字符串的使用
//字符串之间的拼接
let string = "hello world"
let stringone = " 124"
let result = string + stringone
print(result)
//NSString stringwhithFor
// 拼接其他标识符的格式: \(标识符的名称)
let age = 19
let name = "s123"
let highte = 1.80
let info = "my name is \(name),age is\(age) ,and Higeht is\(highte)"
print(info)
// 3.3.字符串的格式化: 音乐播放器
let min = 3
let second = 04
//let timeStr = "0\(min):0\(second)"
let timeStr = String(format: "%02d:%02d", arguments: [min, second])
print(timeStr)
// 4.字符串的截取
let urlString = "www.520over.com"
// 将String类型转成NSString类型 string as NSString
let header = (urlString as NSString).substring(to: 2)
let middle = (urlString as NSString).substring(with: (NSRange(location: 4, length: 6)))
let footer = (urlString as NSString).substring(from: 11)
print(header)
print(middle)
print( footer)
/*
数组的使用
数组的定义 不可变数组(let)可变数组(var)
、
*/
// 1不可变数组
let arr = ["1","2","3"]
// 2.可变数组
var arrMone = [String]()
//可变数组的增删改查
// 1添加元素
arrMone.append("1")
arrMone.append("2")
arrMone.append("3")
print(arrMone)
// 2.删除
arrMone .remove(at: 0)
print(arrMone)
// 3.获取某一个下标值的元素
print(arrMone[0])
for i in arrMone {
print(i)
}
for i in 0...1 {
print(arrMone[i])
}
// 常见
for i in 0..<arrMone.count {
print(arrMone[i])
}
for i in arrMone[0...0] {
print("ddd\(i)")
}
//如果两个数组的类型完全一致,可以通过 + 进行合并
let resultM = arrMone + arrMone+arrMone
print("ddd\(resultM)")
}
/*
iOS 无线连接手机进行真机测试(必须在同一无线网环境下)
一、首先使用数据线将手机连接上苹果电脑、
二、打开Xcode,选择菜单栏中 Window ——>Devices and Simulators 弹出相应的对话框
三、将Connect via network复选框选中
四、将数据线从苹果电脑上拔掉,此时真机回显示为 DisConnected,点击手机 弹出一个快捷菜单
五、选中其中的Connect Via IP Address 命令,弹出对话框,输入手机的IP地址然后单击Connect按钮 此时真机就通过无线就连接到苹果电脑了,开发者可以在要测试的项目中选择真机进行测试
六、手机无线测试设置完毕
*/
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}