main方法和def 函数
package scala_01
object ScalaDemo1 {
def main(args: Array[String]): Unit = {
println("Hello World!~")
val stu: StudentJava = new StudentJava(1,"zs",18)
println(stu.id)
println(stu.name)
println(stu.getAge)
println(stu getAge)
println(stu)
ScalaDemo1.print()
println(ScalaDemo1.print())
ScalaDemo1.print2("hahah")
}
def print():String={
println("scala")
return "0"
}
def print2(s:String): Unit ={
println("scala2")
println(s)
}
}
变量,类型转换,字符串分割拼接
package scala_01
object ScalaDemo2 {
def main(args: Array[String]): Unit = {
val i = 100
var j = 200
println(i)
println(j)
j = 300
println(j)
val k = 100
val kk: Int = 200
println(k + kk)
val str1: String = "123"
println(Integer.valueOf(str1))
val str2: String = "321"
println(str2.toInt)
val str3: String = "Hello,World"
println(str3.split(","))
val builder: StringBuilder = new StringBuilder()
builder.append("a")
builder.append("pple")
println(builder)
val str4: String = "bana"
val str5: String = "na"
println(s"$str4,$str5")
println("-" * 50)
}
}
文件读写和JDBC
package scala_01
import java.sql.DriverManager
import scala.io.{BufferedSource, Source}
object ScalaDemo3 {
def main(args: Array[String]): Unit = {
val source: BufferedSource = Source.fromFile("scala/data/students.txt")
val it: Iterator[String] = source.getLines()
for (elem <- it) {
println(elem)
}
println("-"*50)
for (elem <- Source.fromFile("scala/data/students.txt")
.getLines()) {
println(elem)
}
println("-"*50)
Source.fromFile("scala/data/students.txt")
.getLines()
.foreach(println)
Class.forName("com.mysql.jdbc.Driver")
val conn =
DriverManager.getConnection("jdbc:mysql://master:3306/student?useSSL=false", "root", "123456")
val statement = conn
.prepareStatement("select * from student where age=?")
statement.setString(1,"22")
val rs = statement.executeQuery()
while (rs.next()){
val name = rs.getString("name")
val age = rs.getString("age")
println(s"$name,$age")
}
conn.close()
}
}
面向对象编程
class Student(id: String, name: String, age: Int) {
println("默认的构造函数")
val _id = id
val _name = name
val _age = age
var _clazz: String = _
def this(id: String, name: String, age: Int, clazz: String) {
this(id, name, age)
_clazz=clazz
println("重载构造方法")
}
override def toString(): String = {
s"Student(_id=${_id}, _name=${_name}, _age=${_age},_clazz=${_clazz})"
}
}
object ScalaDemo4 {
def main(args: Array[String]): Unit = {
val stu: Student = new Student("1001", "zs", 18)
println(stu._id)
println(stu._name)
println(stu._age)
println(stu)
println("-" * 50)
val stu2: Student = new Student("001", "张三", 21, "文科一班")
println(stu2._id)
println(stu2._name)
println(stu2._clazz)
println(stu2)
}
}
继承
object ScalaDemo5 {
def main(args: Array[String]): Unit = {
val b:A = new B("002","ls",22)
println(b)
}
}
class A(id:String,name:String){
println("A的构造方法")
val _id=id
val _name =name
override def toString = s"A(_id=${_id}, _name=${_name})"
}
class B(id:String,name:String,age:Int) extends A(id,name){
println("B中的构造方法")
val _age=age
override def toString = s"B(${_id}, ${_name}, ${_age})"
}
case类,最常用的
object ScalaCaseDemo6 {
def main(args: Array[String]): Unit = {
val ss:Stu = Stu("0003","ww",21,"男","理科八班")
println(ss.id)
println(ss.name)
println(ss.age)
println(ss.gender)
println(ss.clazz)
ss.age=88
println(ss.age)
}
}
case class Stu(id:String,name:String,var age:Int,gender:String,clazz:String)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构