1.常量定义:  val val 类似于java中的final变量.一旦初始化了,val就不能再被赋值 val megs = "hello world" 2.变量的定义: var var 如同java里面的非final变量,可以在它的声明周期内多次被赋值 var spark:String = " i am big data " var spark: String = " i am" 解释器中支持table键 补充和提示 3.变量类型推断: 当分配…
关于scala的类型推断前面已经提到过多次.再来看一下下面这个例子: import java.util._ var list1: List[Int] = new ArrayList[Int] var list2 = new ArrayList[Int] list2 add 1 list2 add 2 var total = 0 for (index <- 0 until list2.size()) { total += list2.get(index) } println("Total i…
除了推演变量的类型,scala也会推演方法的返回类型.不过这里有一处需要注意:方法返回类型的推演依赖于方法的定义方式.如果用等号"="定义方法,scala就会推演方法返回类型:否则,它就认为方法的返回为void.看一个例子: def printMethodInfo(methodName: String) { println("The return type of " + methodName + " is " + getClass().getDe…
1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组,必须声明一个变量来引用数组,必须指定数组变量可以引用的类型.下面是语法声明数组变量: var z:Array[String] = new Array[String](3) or var z = new Array[String](3) or var z = Array("Zara", &…
在Java中变量类型分为两大类:基本类型和引用类型.虽然在JDK1.5以后引入了自动装箱和自动拆箱机制,大大减少了我们在直接类型和引用类型之间的纠结,但仍有一些我们不得不考虑的问题.比如我在工作遇到的基本类型和其包装类型的默认值的问题,比如泛型只能使用引用类型,比如默认情况下直接类型的值不能作为对象来操作(1.toString()就不能通过编译)等等. 在scala中一切都是对象. 在scala中1.toString()这样的写法是完全可以接受的.java中的每个基本类型在scala中都有对应的…
1.流程控制 1)do..while def doWhile(){ var line="" do{ line = readLine() println("readlineConetent" + line ) }while(line != " ") } 2)for 方式一: for (arg <-args) println(arg) 方式二: for (i <- 1 to 10 if i % 2 == 0) println(i) for…
C++ 学习笔记 一.变量和基本类型概述 类型是所有程序的基础.类型告诉我们数据代表什么意思以及可以对数据执行哪些操作. c++基本类型: 字符型 整型 浮点型 c++ 还提供了可用于自定义数据类型的机制,标准库正式利用了这些机制定义了许多更复杂的类型,比如可变长字符串string 和vector等.此外,我们还能修改已有的类型以形成复合类型. 二.基本内置类型 算数类型:表示整数.浮点数.单个字符和布尔值的类型. void类型:void类型没有对应的值,仅用在有限的一些情况下,通常用作无返回值…
1.Tuple:元祖.是一个有用的容器对象. 1)特点:  ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变:  ② 元祖可以包含不同类型的数据,对象:   ③ 索引是从 '_1' 开始,读取元祖中的内容 ④标识:' () ' 2)代码 //元祖 def doTuple() { //'()' 定义元祖 val pair = (100, "scala", "spark") //元祖的类型val pair: (Int, String, String…
1.for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环.Scalar的循环说明如下的各种形式: 1)Scala中for循环最简单的语法是: for( var x <- Range ){ statement(s); } 在这里,范围可能是一个数字范围,并且表示为i到j或有时像i到j左箭头 < - 操作者被称为生成器,这样命名是因为它是从一个范围产生单个数值. 2)for循环中,循环将遍历给定范围内的所有可能的计算,可以使用分号 (;) 分隔多个范围.下面是使用两个范围的例子,也…
方式一:标准的定义函数 def 函数名(参数1: 参数类型,参数2: 参数类型): 返回值类型 = { 函数体 } 例子 def max(x: Int,y: Int): Int ={ if(x > y) x else y } 注意:参数列表中必须标注好参数类型,因为scala编译器无法推断参数的类型 方式二:在一般的情况下可以省略,函数返回值的类型 def 函数名(参数1: 参数类型,参数2: 参数类型) = { 函数体 } def max(x: Int,y: Int) = { if(x >…