2020-02-18 00:06:17    12    0    0

Scala基础类型



Scala中以 0x 或者 0X开头的是十六进制,可以包含0到9以及大写或小写的A到F表示的数字,注意:Scala的shell总是以十进制打印整数。


Scala的3引号和Python的类似,但是Scala可以去除开始的空格,用法如下:

scala> """
     | where are you
     | hahahaha
     | 
2020-02-17 00:35:51    10    0    0

一. 查看网卡名称

查看要配置的网卡名称,比如 以太网

  1. ipconfig

二. 配置网卡地址

  1. $ 配置静态IP地址
  2. netsh interface ip set address "以太网" static 10.10.10.22 255.255.255.0 10.10.10.1
  3. $ 配置动态IP地址
  4. netsh interface ip set address "以太网" dhcp
  5. $ 查看IP地址
  6. netsh interface ip show address "以太网"
  7. $ 添加指定DNS
  8. netsh interface ip add dnsservers "以太网" 114.114.114.114 index=1
  9. netsh interface ip add dnsservers "以太网" 8.8.8.8 index=2
  10. $ 添加动态DNS
  11. netsh interface ip set dns "以太网" dhcp
  12. $ 查看DNS
  13. netsh interface ip show dns "以太网"
2020-02-17 00:11:44    21    0    0

 类、字段、方法

在类中,通过 val 或者 var 定义的字段是指向对象的变量,def 定义的方法包含可执行代码。标记私有防止外部直接访问字段:private var sum = 0  。在 Scala 中 默认就是public的,比如ChecksumAccumulator.scala

class ChecksumAccumulator {
    private var sum = 0
2020-02-16 19:23:24    20    0    0


Scala的解释器执行结果被存在了类似 res0 的val值里面,可以再次调用 res0。

 

定义函数

def max(x: Int, y:Int): Int = {
    if (x > y) x
    else y
}

 Scala方法参数的一个重要特征是它们都是 val 而不是 var。

 

Scala脚本

在Scala 脚本中,args是一个字符串类型的

2020-02-07 16:26:43    23    0    0

  1. # Insert your preferred key mappings here.
  2. unmapAll
  3. map ? showHelp
  4. map h previousTab
  5. map a previousTab
  6. map l nextTab
  7. map d nextTab
  8. map r reload
  9. map x removeTab
  10. map t createTab
  11. map T duplicateTab
  12. map b goBack
  13. map B goForward
  14. map j scrollDown
  15. map k scrollUp
  16. map s scrollPageDown
  17. map w scrollPageUp
  18. map g scrollToTop
  19. map G scrollToBottom
  20. map F LinkHints.activateMode
  21. map f LinkHints.activateModeToOpenInNewTab
2020-01-30 22:37:44    26    0    0

Java从8开始,不但引入了Lambda表达式,还引入了一个全新的流式API:Stream API。它位于java.util.stream包中。这个Stream不同于java.io的InputStream和OutputStream,它代表的是任意Java对象的序列,它类似Python中的迭代器。

一. 创建Stream

1.1 Stream.of()

创建Stream最简单的方式是直接用Stream.of()静态方法,传入可变参数即创建了一个能输出确定元素的Stream,虽然这种方式基本上没啥实质性用途,但测试的时候很方便。

  1. import java.util.stream.Stream;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Stream<String> stream = Stream.of("A", "B", "C", "D");
  5. stream.forEach(System.out::println);
  6. }
  7. }


2020-01-29 19:37:04    24    0    0

反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息。


一. 类的加载

1.1 加载的流程

class是由JVM在执行过程中动态加载的。JVM在第一次读取到一种class类型时,将其加载进内存。Java的所有类都是一个叫做Class的类的一个实例,Class类大概如下所示。每加载一种classJVM就为其创建一个Class类型的实例,并关联起来。注意:这里的Class类型是一个名叫Classclass

  1. public final class Class {
  2. private Class() {}
  3. }

注意JVM在执行Java程序的时候,并不是一次性把所有用到的class全部加载到内存,而是第一次需要用到class时才加载。

2020-01-29 01:02:52    19    0    0

一. 定义枚举类

通过enum关键字来定义枚举类,enum定义的类型就是class,只不过它有以下几个特点:

  • 定义的enum类型总是继承自java.lang.Enum,且无法被继承;
  • 只能定义出enum的实例,而无法通过new操作符创建enum的实例;
  • 定义的每个实例都是引用类型的唯一实例;
  • 可以将enum类型用于switch语句。
  1. enum Weekday {
  2. MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三"), THU(4, "星期四"), FRI(5, "星期五"), SAT(6, "星期六"), SUN(0, "星期日");
  3. public final int dayValue;
  4. private final String chinese;
  5. private Weekday(int dayValue, String chinese) {
  6. this.dayValue = dayValue;
  7. this.chinese = chinese;
  8. }
  9. @Override
  10. public String toString() {
  11. return this.chinese;
  12. }
  13. }
2020-01-29 00:38:39    17    0    0

一. 数据类型

Java的数据类型分如下两种,引用类型可以赋值为null,表示空,但基本类型不能赋值为null

  • 基本类型:byte,short,int,long,boolean,float,double,char
  • 引用类型:所有classinterface类型


Java核心库为每种基本类型都提供了对应的包装类型:

基本类型对应的引用类型
booleanjava.lang.Boolean
bytejava.lang.Byte
shortjava.lang.Short
intjava.lang.Integer
longjava.lang.Long
floatjava.lang.Float
doublejava.lang.Double
charjava.lang.Character

2020-01-29 00:10:14    21    0    0

一. 字符串原理

  • 概要说明
    Java中,String是一个引用类型,它本身也是一个class,实际上字符串在String内部是通过一个char[]数组表示的,因此,按下面的写法也是可以的String s2 = new String(new char[] {'H', 'e', 'l', 'l', 'o', '!'}); 因为String太常用了,所以Java提供了"..."这种字符串字面量表示方法。Java字符串的一个重要特点就是字符串不可变。这种不可变性是通过内部的private final char[]字段,以及没有任何修改char[]的方法实现的。

  • 早期JDK版本的String
    总是以char[]存储,它的定义如下:

  1. public final class String {
  2. private final char[] value;
  3. private final int offset;
  4. private final int count;
  5. }