scala基础语法

1、声明值和变量

Scala有两种变量  一种 val 不可变,一种 var 可变
	
	val myStr = "Hello World"

	var myStr = "Hello World"
	

2、基本数据类型

	
	val i = 123  //123就是整数字面量
	val i = 3.14 //3.14就是浮点数字面量
	val i = true //true就是布尔型字面量
	val i = 'A' //'A'就是字符字面量
	val i = "Hello" //"Hello"就是字符串字面量
	

Scala允许对“字面量”直接执行方法

	5.toString() // 产生字符串“5”
	“abc”.intersect("bcd")  //输出“bc”
 Scala 没有++ --操作符 
 需要递增和递减时  var i = 5; i+=1;

3、Range(生成序列)

		
	1 to 51.to(5) 等价 //创建一个从1到5的数值序列,包含区间终点5,步长为1
		Range(1, 2, 3, 4, 5)

	1 until 5 //创建一个从1到5的数值序列,不包含区间终点5,步长为1
		Range(1, 2, 3, 4)
		
	1 to 10 by 2 //创建一个从1到10的数值序列,包含区间终点10,步长为2
		Range(1, 3, 5, 7, 9)
		
	o.5f to 5.9f by 0.3f //创建一个Float类型的数值序列,从0.5f到5.9f,步长为0.3f
		NumericRange(0.5, 1.3, 2.1, 2.8999999, 3.6999998, 4.5, 5.3)
		

4、打印语句

		
		三种打印方式
		1print()  
		2println()
		3printf()  //Scala还带有C语言风格的格式化字符串的printf函数:
			val i = 5;
			val j = 8;
			printf("My name is %s. I hava %d apples and %d eggs.\n","Ziyu",i,j)
			//结果:My name is Ziyu. I hava 5 apples and 8 eggs.

5、读写文件

		//写入文本文件
		import java.io.PrintWriter
			val out = new PrintWriter("output.text");
			for(i <- 0 to 5)
				out.println(i);
			out.close()
		//读文本文件的内容
		import scala.io.Source
			val inputFile = Source.fromFile("output.text");
			val lines = inputFile.getLines // 返回结果的一个迭代器
			for(line <- lines)
				println(line)
		

6 语句

1、if语句
	与java不同的是,Scala中的if表达式的值可以赋值给变量
	val x = 6
	val a = if(x>0) 1 else -1  //a的值为1
	
2、while语句
	var i = 9;
	while(i > 0){
		i-=1;
		printf("i is d%\n",i)
	}
	
	var i = 0;
	do{
		i += 1
		println(i)
	}while(i<5)
3、for循环

Scala的for循环的格式

	for(变量 <- 表达式) 语句块
	
	for(i <- 1 to 5) println(i)
	
	//打印三行三列星星(*)
	for(i <- 1 to 3){
      if(i==1){

      }else {
        println("")
      }
      for(j <- 1 to 3)
        print("*")
    }
	
	//打印乘法口诀
	for(i <- 1 to 9) {
      println("")
      for (j <- 1 to 9 if j <= i)
        print(j + "*" +i +"="+ i*j +"\t")
    }

	// 为了对结果进一步处理,采用 yield关键字
	for(i <- 1 to 5 if i % 2==0) yield i
	//结果Vector(2, 4)

7、数据结构

1、数组
	
	//声明数组
	val  intArr = new Array[Int](3); //声明一个长度为3的整型数组,每个数组的初始化为 0 
	 //给数组赋值
     intArr(0) = 12;
     intArr(1) = 13;
     intArr(2) = 14;
     //遍历数组
     for(i <- 0 to 2){
       println(intArr(i));
     } 

	 val myStrArr = new Array[String](3) //声明一个长度为3的字符串数组,每个数组元素初始化为null
	 myStrArr(0) = "BigData"
	 myStrArr(1) = "Hadoop"
	 myStrArr(2) = "Spark"
	 for (i <- 0 to 2) println(myStrArr(i)) 

	//Scala提供了更加简洁的数组声明和初始化方法
		val intValueArr = Array(12,45,33)
		val myStrArr = Array("BigData","Hadoop","Spark")

2、列表
	
	//声明一个列表
	val intList = List(1,2,3)
	//遍历列表
	for (i <- 0 to intList.length-1)
      println(intList(i))

	//获取头部,尾部
    val header = intList.head;
    val tail  = intList.tail;
	
	//在列表头部添加新元素
	val newList = 0::intList;

	//连接两个列表
	val newList2 = newList:::intList 
	//求和
	newList2.sum
	
3、元组

	//定义一个元组
	val tuple = ("BigData",2015,45.0)
	//访问元组中的数据
	print(tuple._1)
	print(tuple._2)
	print(tuple._3)

	//迭代元组
    tuple.productIterator.foreach{i => println(i)};
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值