Scala--1

package scala02object scala01_comment {def main(args: Array[String]): Unit = {//// 单行注释/*多行注释*//*** 文档注释*/// 代码规范// 1.将代码格式化 ctrl +alt +lval a: Int = 10// 2.代码不要写过长}}

 

package scala02object scala_valANDVar {def main(args: Array[String]): Unit = {//    (1)声明变量时,类型可以省略,编译器自动推导,即类型推导。java的jdk1.8新特性val i = 20val i1: Int = 10// 类型推断只能针对特定的数据类型,数值类型只能针对 Int Longval byte: Byte = 100val i2 = 100val l = 1010Lprintln(byte.getClass.getSimpleName)//    (2)类型确定后,就不能修改,说明 Scala 是强数据类型语言。var str: String = "hello"str = "ni hao "//    (3)变量声明时,必须要有初始值。val i3: Int = 11//    (4)在声明/定义一个变量时,可以使用 var 或者 val 来修饰,var 修饰的变量可改变,//    val 修饰的变量不可改。val i4: Int = 100//    i4 =300var i6: Int = 200i6 = 400//scala 中一般情况下 使用val修饰val i5 = 500//    (5)var 修饰的对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值)//    却是可以改变的。(比如:自定义对象、数组、集合等等)。val test01 = new Test02//    test01 =new Test02 errorvar test02 = new Test02test02 = new Test02//对象的状态(值)// TODO 对象的状态的(值)是否可变取决于对象内部属性自己的修饰符}//Scala 类中的属性 也是可以让系统给默认值//1.当前属性必须是var修饰的变量,并且要求使用等号链接//2 . 指定默认值必须使用一个特殊符号_class Test02 {var name: String = _var gge: Int = _
//    val name1: String = _}}

 

package scala02object scala03_Named {def main(args: Array[String]): Unit = {//TODO 如果使用运算符命名 必须和冒号隔开//TODO 关键字也可以命名// TODO 推荐使用驼峰命名//输出//1 字符串通过+号链接val str:String="hello"+"aaa"println("hello"+"you")println(str)//重复字符串拼接println("hello" * 10)
//    printf 用法printf("%d 岁的 %s %s",10,"aag","10周年")val age:Int=100val name:String="sss"println(s"${age} ---$name")
//    原始字符串println("""|aaaa|aaaaaa|aaaaaaaa|aaaaaaaa|aaa|""".stripMargin)
//    拼接jsonval jsonStr:String="{\"key\":\"value\")"println(jsonStr)println("""|{"key":"value"}|""".stripMargin)
//    手写sqlprintln("""|select| id ,|  name|  age|from|  user|where|  id ='1';|""".stripMargin)}}

 

 

package scala02import com.sun.xml.internal.bind.v2.TODOobject Scala04_base {def main(args: Array[String]): Unit = {
//    TODO:scalad代码本质所有代码都是程序化的,都是代码块(基于函数式编程)
//    当前代码块的最后一行会作为此代码快的返回值返回val unit:Unit={10+10
//  返回值类型就是 Unitprintln("我是代码块。。。")}val i: Int = {//  返回值类型就是 Unit
//      println("我是代码块。。。")10 + 10}}}

 

package scala02import java.awt.PrintGraphicsobject Scala06_Type {//数据类型def main(args: Array[String]): Unit = {// 整数类型//声明时不能超出当前长度范围//    val b:Byte=128  error//特殊场景val b2: Byte = 126 + 1println(b2)val b3: Byte = 1//    val b4:Byte=(126+b3)//最常用的 Int Long//    val i1:Int=15000000000// 浮点型val d: Double = 3.6val f: Float = 3.5f//    浮点型计算会有精度损失val d1: Double = 0.1 / 0.3//    字符类型 长度65535//    val c:Char=65535val c1: Char = 'a'val c2: Char = 97val c3: Char = '\t'println(c3 + 0)val c4: Char = '\n'val c5: Char = '\\'println(c5 + 0)val c6: Char = '\"'println(c6 + 0)//    Booleanval bool: Boolean = trueval bool: Boolean = false// Null (对javanull的补充)val str: String = null//    str.split( )if (str != null) {str.split("")}//    Unit 对java void 的补充//    在一些业务场景下 从代码块角度分析具体返回内容,从业务逻辑的角度分析 不需要任何返回值val unit: Unit = {10 + 10val unit: Unit = println("hellow scala")}println(unit)//  Nothing当前代码块或者函数不能正常返回内容 统一使用nothing来接受一般出现异常的情况会用val value: Nothing = {println("hello..")throw new RuntimeException}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/179051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

15 网关实战: 微服务集成Swagger实现在线文档

上节介绍了网关层面聚合API文档,通过网关的路由信息找到了各个服务的请求地址,这节讲一下微服务如何集成Swagger。 网关的API文档默认调用的是微服务的**/v2/api-docs**这个接口获取API详细信息,比如文章服务的URL:http://localhost:9000/blog-article/v2/api-docs,返回信…

Python分享之字符串格式化 (%操作符)

在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置&#xff…

Python二叉树用法介绍

更多资料获取 📚 个人网站:ipengtao.com 二叉树是一种常见的数据结构,具有树形结构,每个节点最多有两个子节点。Python中有多种方式来表示和操作二叉树,本文将介绍二叉树的基本概念、构建、遍历和一些常见操作&#x…

3个.NET开源免费的仓库管理系统(WMS)

前言 今天给大家推荐3个.NET开源免费的WMS仓库管理系统(注意:以下排名不分先后)。 仓储管理系统介绍 仓储管理系统(Warehouse Management System,WMS)是一种用于管理和控制仓库操作的软件系统&#xff0…

F5社区学习心得分享:如何克服云迁移挑战?

伴随数字时代的快速发展,很多企业都会借助云迁移,踏上转型之旅。尽管云迁移被认为是一种能够节约成本,且不会影响正常运营的现代化改造举措,然而我们并不能低估它的复杂性。正如有研究表明,约有41%的企业并没有通过云迁…

lv11 嵌入式开发 WDT实验 12

目录 1 WDT简介 2 Exynos4412下的WDT控制器 2.1 概述 2.2 WDT的特性 2.3 工作原理 2.4 其他细节 3 WDT寄存器详解 3.1 WTCON控制寄存器 3.2 WTDAT 实时中断寄存器 3.3 WTCNT 递减计数器 3.4 WTCLRINT清除中断寄存器 4 WDT编程 1 WDT简介 Watch Dog Timer即看门狗定…

数据库常见的数据模型

关系模型 是使用表格表示实体和实体之间关系的数据模型,无论是实体还是实体之间的联系都被映射成统一的关系,一张二维表。关系数据模型的结构简单明了,操作方便,有坚实的数学理论做基础,包括逻辑计算、数学计算等。但…

window.onload方法

问题 当在js文件中写好了如下代码: var button document.getElementById(btn); button.addEventListener("click",function(){alert("hhh"); });为按钮绑定了一个事件,点击按钮时没反应 解决 虽然我们写好了函数,但…

ZKP15.2 Formal Methods in ZK (Part I)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 15: Secure ZK Circuits via Formal Methods (Guest Lecturer: Yu Feng (UCSB & Veridise)) 15.2 Formal Methods in ZK (Part I) Circuits Workflow Source Code: Witness Generation and ConstraintsWitness Generatio…

【力扣】 209. 长度最小的子数组

【力扣】 209. 长度最小的子数组 文章目录 【力扣】 209. 长度最小的子数组1. 题目介绍2. 解法2.1 暴力求解2.2 前缀和 二分查找2.3 滑动窗口2.4 贪心回溯 3. Danger参考 1. 题目介绍 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 …

ubuntu安装远程桌面

ubuntu安装远程桌面 xrdp远程桌面访问 #用windows远程桌面连接成功,只能用root用户,用普通用户连接是灰色 sudo apt install xrdp systemctl status xrdpsystemctl stop xrdp解决普通用户连接是灰色 参考链接: https://blog.csdn.net/leegh1992/article/details/51160864 s…

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了

Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Desig…

华为OD机试真题-整数对最小和-2023年OD统一考试(C卷)

题目描述: 给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值 注意:两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元素。 输…

C或C++报错:ld returned 1 exit status报错的原因

C或C报错:ld returned 1 exit status(ld返回1,退出状态) 可能是以下原因: 1)程序正在运行,无法编译,上次运行的窗口未关闭。 程序窗口重复运行没有及时关闭,存在多个打开窗…

Python中的sys模块详解

1. 简介 sys模块是Python标准库中的一个内置模块,提供了与Python解释器和运行环境相关的功能。它包含了一些与系统操作和交互相关的函数和变量,可以用于获取命令行参数、控制程序的执行、管理模块和包、处理异常等。 2. 常用函数和变量 2.1 命令行参数…

二叉树之推排序(升序)

目录 1.思路1.1大堆的建立方法1.2排序的方法 2.代码实现以及测试代码 1.思路 如何将一个堆进行排序,并变成升序?首先,如果要完成升序,那我们可以建立一个大堆,因为大堆可以选出一个最大的值放在堆的最上面&#xff0c…

数组中的第 K 个最大元素(C++实现)

数组中的第 K 个最大元素 题目思路代码 题目 数组中的第 K 个最大元素 思路 通过使用优先队列(最大堆)来找到数组中第k大的元素。通过弹出最大堆中的前k-1个元素,留下堆中的顶部元素作为结果返回。 代码 class Solution { public:int find…

手写字符识别神经网络项目总结

1.数据集 手写字符数据集 DIGITS,该数据集的全称为 Pen-Based Recognition of Handwritten Digits Data Set,来源于 UCI 开放数据集网站。 2.加载数据集 import numpy as np from sklearn import datasets digits datasets.load_digits() 3.分割数…

Java17(LTS Long Term Support)特性

支持JDK17的主流技术框架 spring framework 6.xspringboot 3.xkafka 3.0(不在支持jdk8)jenkins 2.357(必须jdk11起步)James Gosling表示赶紧弃用Java8,使用性能最好的JDK17Chart GPT也推荐JDK17,从长期到性能来说。 JDK17的特性 …

操作符extends的作用是什么?

在TypeScript中,extends关键字用于创建类之间的继承关系。它允许一个类(子类)继承另一个类(父类)的属性和方法,并可以在子类中添加新的属性和方法或者修改继承自父类的属性和方法。 extends的作用是实现类…