程序主入口类,基本覆盖了入门需要掌握的Scala知识。主要涵盖,变量定义,常量,类与对象,集合映射等常用方法。
package org.lean.scala import org.learn.clazz.Person import scala.collection.immutable.HashMap import scala.io.Source import java.io.PrintWriter import java.io.File object Main { private var myName: String = ""; def main(args: Array[String]) { println("HelloWorld"); var byte_tmp: Byte = 255.toByte var short_tmp: Short = 255.toShort; var int_tmp: Int = 255; var long_tmp: Long = 255.toLong; var dbl_tmp: Double = 255.toDouble; var flt_tmp: Float = 255.toFloat; var str_tmp: String = 255.toString(); var bool_tmp: Boolean = 255.!=(0); println(str_tmp.equals(null)); var anysTMP = 12; //表示变量 val anysTMPl = "Good Baby"; //表示常量 anysTMP.+=(24); //闭包式 同 anysTMP=anysTMP+24; println(anysTMP); //anysTMPl="Hello"; error,not support println(anysTMPl + " HELLO"); //println(AnotherObj.myName); error,not support println(AnotherObj.myAge); //Class and Object var p = new Person p.setName("Hword"); print(p.getName); //Array var arTmp = new Array[String](3); arTmp(0) = "Good World"; arTmp(1) = "I'm Jack"; arTmp(2) = "boast show"; for (i <- 0 to 2) { println(arTmp(i)) } //List var listTmp = List(1, 2, 3); println(listTmp(0)); listTmp = 90 :: listTmp; //concat element,but not support different Type of Element println(listTmp(0)); println(listTmp); //useful method of List var countl = listTmp.count { x => x > 3 } println(countl) //drop println(listTmp.drop(1)); println(listTmp.dropRight(1)); //exist check println(listTmp.exists { x => x == 90 }) //filter println(listTmp.filter { x => x > 1 }) //loop for all element,return boolearn result println(listTmp.forall { x => x > 0 }) //loop for all with any method listTmp.foreach { x => println(" this is list's foreach =: " + x) } //map ,return self by changes println(listTmp.map { x => x * x }) //build string with any string println(listTmp.mkString("#")) //reverse println(listTmp.reverse); //sort println(listTmp.sortWith({ (c: Int, n: Int) => c > n })) //Tuple Section val tplTmp = ("Google", "Baidu", 0x9002) println(tplTmp); println(tplTmp._1); // Note: start index is 1 println(tplTmp._2); println(tplTmp._3); //Set And Map var setTmp = Set("hao123", "hao360"); println(setTmp) println(setTmp + "hao163") var mapTmp = new HashMap[String, String](); mapTmp.+=("KEY1" -> "Hao123"); mapTmp.+=("KEY2" -> "Hao321"); println(mapTmp("KEY1")); println(mapTmp.get("KEY1")); //File's read and write for (line <- Source.fromFile("d.txt").getLines()) { println(line) } var writer:PrintWriter=new PrintWriter(new File("d.txt")); writer.write("Im Test Line"); writer.close() //singleton singleObj.name="Hello Scala"; println(singleObj.name); } object singleObj{ var name:String=""; } }
package org.learn.clazz class Person { private var rName: String = ""; private var age: Int = 255; def getName(): String = { return rName; } def setName(name:String)={ rName=name; } }
package org.lean.scala object AnotherObj { private var myName:String="Another"; var myAge:Int=12; }
另外两个文件一个是单态对象定义,一个是Class定义
相关推荐
本篇文章主要面向有一定Java开发经验的程序员,旨在帮助他们入门Scala。 ### 1. Scala简介 Scala是由Martin Odersky设计的一种静态类型的编程语言,它的名字来源于"Scalable Language"的缩写,表明它能够从小规模...
【课程大纲】第1讲-Spark的前世今生第2讲-课程介绍、特色与价值第3讲-Scala编程:基础语法第4讲-Scala编程:条件控制与循环第5讲-Scala编程:函数入门第6讲-Scala编程:函数入门之默认参数和带名参数第7讲-Scala编程...
本篇知识点将围绕Scala中文版书籍所提及的关键概念,重点介绍Scala入门基础的各个方面。Scala旨在提供简洁且表达力强的方式来编写程序,同时也能够无缝地与其他语言(如Java)交互。 Scala编程语言的设计者是Martin...
**入门篇** 1. **基础语法**:Scala的基础包括变量声明、类型系统、控制结构(如if/else、循环)、函数定义等。理解这些是学习Scala的第一步。 2. **对象和类**:Scala的面向对象特性体现在类和对象上,它们是构建...
课程内容分为十个主要任务,包括Scala入门、面向对象编程、高阶函数、模式匹配、集合、类型参数、高级类型、隐式转换、并发编程以及Kafka的设计理念与基本架构。每个任务都有明确的知识目标和能力目标,如Scala入门...
#### 第一部分:入门篇 - **第1章:可伸展的语言** - 介绍Scala语言的设计理念和特性。 - 探讨Scala语言如何适应不同规模的软件开发项目。 - 分析Scala语言与其他语言相比的优势。 - **第2章:Scala的第一步** -...
标题中提到的“Getting Started with SBT for Scala”直接指出了文章的主题内容,即为使用SBT作为Scala项目的入门指导。SBT是Scala的构建工具(Build Tool),其全称是Simple Build Tool,主要用于Scala和Java项目的...
这篇文档是为已经有一定编程经验,特别是对Java有一定了解的程序员提供的一份快速Scala语言和编译器入门指南。Scala是一种多范式编程语言,它结合了面向对象和函数式编程的特点,由EPFL(瑞士洛桑联邦理工学院)的...
### Spark从入门到实战——SCALA编程篇 #### 一、大数据分析框架概要与Spark课程学习计划 在大数据时代,高效处理海量数据成为企业和组织的核心需求之一。Spark作为当前最受欢迎的大数据分析框架之一,以其高性能...
通过本篇介绍,我们不仅了解了Akka Scala的基本概念和核心优势,还深入探讨了其关键技术点,包括Actor系统、消息传递机制、配置与高级应用等。Akka Scala作为一种强大的并发编程工具,为构建高度可扩展、容错的...
标题中的“大数据MapReduce Ubuntu Linux上的Hadoop Scala by Maven intellj Idea”表明,这篇文章将深入探讨如何在Ubuntu Linux操作系统上使用Scala编程语言,通过Maven构建工具来开发Hadoop MapReduce项目,并在...
Kafka 入门基础篇 Kafka 是 LinkedIn 公司开发的一种分布式消息队列系统,支持离线和在线日志处理。它可以实时处理大量数据,满足各种需求场景,如基于 Hadoop 的批处理系统、低延迟的实时系统、Storm/Spark 流式...
对于初学者来说,入门Spark需要掌握一系列的基本概念和步骤。在开始之前,建议先对Spark的使用场景、核心概念、RDD(弹性分布式数据集)的创建以及支持的语言有初步的了解。可以参考官方文档和相关教程,以便对Spark...
Kafka 使用 Scala 和 Java 编写,允许每秒处理数百万条消息,使其在大数据和流计算领域中独树一帜。 Kafka 的核心概念包括: 1. Topic(主题):主题是 Kafka 中消息的分类,类似于数据库中的表。生产者将消息发布...
在本文中,我们将深入探讨Apache Flink的SQL支持,即FlinkSQL的入门概述。Flink是一个批流统一的数据处理框架,它的Table API和SQL提供了一种统一的方式来处理批处理和流处理任务。Table API是Java和Scala语言内置的...
这篇文档可能介绍了如何在Android平台上使用Scala,包括它的优势、语法特点以及与Java的互操作性。 3. **《Android多媒体框架初步分析.htm》**:Android的多媒体框架是处理音频、视频和图像的关键部分。此文档可能...
Spark的易用性体现在其丰富的API支持,包括Java、Python和Scala,以及对交互式Python和Scala shell的支持,这使得开发者可以快速构建和测试应用。Spark的通用性在于它可以处理批处理、交互式查询、实时流处理、机器...
包含:socket网络编程及实战,系统学习docker,看的见的算法 7个经典应用诠释算法精髓,一站式学习Redis 从入门到高可用分布式实践,Spring Boot 2.0深度实践之核心技术篇,Scala 学习 进击大数据Spark生态圈,剑指Java面试...
SparkStreaming之Dstream入门 Spark Streaming是Apache Spark中的一个组件,用于处理流式数据。它可以从多种数据源中接收数据,如Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等,并使用Spark的高度抽象原语如...
入门篇:在这一部分,学习者将接触Spark相关技术,并且学习在standalone模式下的安装部署。同时,本部分还将指导学习者如何设置开发环境、测试代码、程序打包以及程序运行。 生态篇:这一部分深入介绍了Spark的各个...