Fork me on GitHub
不卑不亢不慌不忙

life is struggle


  • 首页

  • 分类

  • 归档

  • 标签

  • 收集

  • 关于

  • 公益404

  • 搜索

Integer缓存策略

发表于 2016-12-12 | 分类于 笔记 | 阅读次数

这篇文章其实是讲Java和Python的,其他的语言并不知道。

在Java里你可能会遇到这样一个问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class JavaIntegerCache {
public static void main(String... strings) {
Integer integer1 = 3;
Integer integer2 = 3;
if (integer1 == integer2)
System.out.println("integer1 == integer2");
else
System.out.println("integer1 != integer2");
Integer integer3 = 300;
Integer integer4 = 300;
if (integer3 == integer4)
System.out.println("integer3 == integer4");
else
System.out.println("integer3 != integer4");
}
}

那么问题来了,答案是什么,首先,我们应该比较的是地址,这是引用类型,那么应该两个都不等吗?

阅读全文 »

快学Scala-第二章 Scala基础

发表于 2016-12-04 | 分类于 笔记 | 阅读次数

第三节 Range

在执行for循环时,我们经常会用到数值序列,比如,i的值从1循环到5,这时就可以采用Range来实现。Range可以支持创建不同数据类型的数值序列,包括Int、Long、Float、Double、Char、BigInt和BigDecimal等。

在创建Range时,需要给出区间的起点和终点以及步长(默认步长为1)。下面通过几个实例来介绍:
(1)创建一个从1到5的数值序列,包含区间终点5,步长为1

1
2
scala> 1 to 5
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)

之前我们已经介绍过,在Scala中允许对“字面量”直接执行方法,所以,上面的代码,也可以用下面的代码来实现:

1
2
scala> 1.to(5)
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)

(2)创建一个从1到5的数值序列,不包含区间终点5,步长为1

1
2
scala> 1 until 5
res1: scala.collection.immutable.Range = Range(1, 2, 3, 4)

(3)创建一个从1到10的数值序列,包含区间终点10,步长为2

1
2
scala> 1 to 10 by 2
res2: scala.collection.immutable.Range = Range(1, 3, 5, 7, 9)

(4)创建一个Float类型的数值序列,从0.5f到5.9f,步长为0.3f

1
2
scala> 0.5f to 5.9f by 0.8f
res3: scala.collection.immutable.NumericRange[Float] = NumericRange(0.5, 1.3, 2.1, 2.8999999, 3.6999998, 4.5, 5.3)

注:此博客参考自 厦门大学林子雨博客 仅供博主自身复习用

快学Scala-第二章 Scala基础

发表于 2016-12-03 | 分类于 笔记 | 阅读次数

第二节 基本数据类型和操作

基本数据类型

Scala的数据类型包括:Byte、Char、Short、Int、Long、Float、Double和Boolean。和Java不同的是,在Scala中,这些类型都是“类”,并且都是包scala的成员,比如,Int的全名是scala.Int。对于字符串,Scala用java.lang.String类来表示字符串。

阅读全文 »

快学Scala-第二章 Scala基础

发表于 2016-12-02 | 分类于 笔记 | 阅读次数

第一节 声明值和变量

Scala有两种类型的变量,一种是val,是不可变的,在声明时就必须被初始化,而且初始化以后就不能再赋值;另一种是var,是可变的,声明的时候需要进行初始化,初始化以后还可以再次对其赋值。

阅读全文 »

快学Scala-第一章 Scala简介

发表于 2016-12-01 | 分类于 笔记 | 阅读次数

Scala是一门现代的多范式编程语言,平滑地集成了面向对象和函数式语言的特性,旨在以简练、优雅的方式来表达常用编程模式。Scala的设计吸收借鉴了许多种编程语言的思想,只有很少量特点是Scala自己独有的。Scala语言的名称来自于“可伸展的语言”,从写个小脚本到建立个大系统的编程任务均可胜任。Scala运行于Java平台(JVM,Java 虚拟机)上,并兼容现有的Java程序,Scala代码可以调用Java方法,访问Java字段,继承Java类和实现Java接口。在面向对象方面,Scala是一门非常纯粹的面向对象编程语言,也就是说,在Scala中,每个值都是对象,每个操作都是方法调用。

阅读全文 »
1…131415…20
Melodylican

Melodylican

life is struggle

98 日志
9 分类
78 标签
RSS
GitHub Twitter 微博
Creative Commons
友情链接
  • 阿里中间件技术团队
  • 阮一峰
  • 简单之美
© 2012 - 2019 Powered By Melodylican
个人专属
博客