大创项目个人周报(24.7.15-24.7.21)
本周主要利用B站学习Kotlin语言
一、完成环境的配置和软件的下载
1、开发环境配置
安装Java 8 环境
2、IDEA安装与使用
熟悉IDEA软件
3、熟悉简单代码
var a : Int//
println("KFC vivo 50")
二、变量与基本类型
1、变量的声明与使用
var [变量名称] : [数据类型]
例:
fun main() {
var a : Int = 10
}
fun main() {
var a = 10
}
val
是常量,var
是变量
2、数字类型介绍
val a = 1_000_000_000
val a = 0xAF
val one: Double = 1 // 这种写法是错误的,因为1不是小数,无法编译通过
val one: Double = 1.0 // 但是这种写法就是对的,因为这样表示就是小数,即使小数位是0
3、数字类型的运算
fun main() {
var a = 10
println(a++) //这里++在后面,打印a的值依然是10,但是结束之后a的值就变成11了
println(++a) //这里++在前面,打印a的值是这里先自增之后的结果,就是12了
}
println(5 / 2) //结果是2,而不是2.5
Kotlin提供了一组整数的位运算操作,可以直接在二进制层面上与数字表示的位进行操作,不过只适用于Int和Long类型的数据:
shl(bits)– 有符号左移
shr(bits)– 有符号右移
ushr(bits)– 无符号右移
and(bits)– 按位与
or(bits)– 按位或
xor(bits)– 按位异或
inv()– 取反
- 按位与: 让这两个数每一位都进行比较,如果这一位两个数都是1,那么结果就是1,否则就是0;
- 按位或: 只要任意一个为1(不能同时为0)那么结果就是1;
- 按位异或: 只有两边不相同的情况下,结果才是1,也就是说一边是1一边是0的情况;
4、布尔类型介绍
布尔类型是Kotlin中的一个比较特殊的类型,它并不是存放数字的,而是状态,它有下面的两个状态:
- true - 真
- false - 假
5、字符串类型介绍
val str: String = "Hello World"
注意,字符串中的字符一旦确定,无法进行修改,只能重新创建。
有时候为了方便,可以将不同的字符串拼接使用:
fun main() {
val str1 = "Hello"
val str2 = "World"
val str = str1 + str2
println(str) //使用 + 来拼接两个字符串,得到的结果就是两个字符串合在一起的结果
}
但是需要注意字符串拼接的顺序,只能由字符串拼接其他类型
流程控制
1、选择结构(if-else)
2、选择结构(when)
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
3、循环结构(for)
fun main() {
for (i in 1..3) //这里直接写入1..3表示1~3这个区间
println("666")
}
我们也可以自由控制每一轮增加多少:
fun main() {
for (i in 1..10 step 2) {
println(i)
}
}
若倒着遍历:
fun main() {
for (i in 10 downTo 1) {
println(i) //这里得到的就是10到1倒着排列的范围了
}
}
- 我们可以使用continue关键字来跳过本轮循环,直接开启下一轮
- 我们可以使用break关键字来提前终止整个循环
虽然使用break和continue关键字能够更方便的控制循环,但是注意在多重循环嵌套下,它只对离它最近的循环生效(就近原则):
4、循环结构(while)
三、函数
1、创建和使用函数
fun 函数名称([函数参数...]): 返回值类型 {
//函数体
}
例:
//这个函数用于计算两个Int数之和
fun sum(a: Int, b: Int) : Int {
return a + b //使用return语句将结果返回
}
fun main() {
var result = sum(1, 2) //获取函数返回值
println(result)
println(sum(2, 4)) //直接打印函数返回值
}
2、再谈变量
- getter:用于获取这个变量的值,默认情况下直接返回当前这个变量的值
- setter:用于修改这个变量的值,默认情况下直接对这个变量的值进行修改
3、递归函数
4、实用库函数介绍
import kotlin.math.* //我们需要使用import来引入某些库,这样才能使用库函数
fun main() {
1.0.pow(4.0) //我们可以使用pow方法直接计算a的b次方
abs(-1); //abs方法可以求绝对值
max(19, 20); //快速取两个数的最大值
min(2, 4); //快速取最小值
sqrt(9.0); //求一个数的算术平方根
}
5、高阶函数与lambda表达式
6、内联函数
三、类与对象
1、类的定义与对象创建
class Student(var name: String, val age: Int = 18)
fun main() {
//使用Student类型的变量接收构造方法得到的对象
var stu: Student = Student("小明", 18)
}
我们可以使用.运算符来访问对象的属性,比如我们要访问小明这个学生对象的属性:
fun main() {
val stu = Student("小明", 18)
println("对象的name = ${stu.name}, age = ${stu.age}")
}
四、本周遇到的问题及利用chatGPT等AI工具的解决过程
五、下周计划
- 利用kotlin语言,实现cs构架