main函数

Scala学习笔记05:函数

别等时光非礼了梦想. 提交于 2020-02-05 07:49:28
文章目录 一、声明函数 1、显式声明函数 (1)声明格式 (2)注意事项 (3)案例演示 2、隐式声明函数 (1)声明格式 (2)注意事项 (3)案例演示 二、Scala函数种类 1、成员方法 (1)基本概念 (2)案例演示 2、本地函数 (1)基本概念 (2)案例演示 3、匿名函数 (1)基本概念 (2)案例演示 4、高阶函数 (1)基本概念 (2)案例演示 三、神奇的占位符 1、基本概念 2、案例演示 (1)过滤集合 (2)处理集合 (3)参数占位符 四、闭包 1、基本概念 2、案例演示 五、可变参数 1、基本概念 2、案例演示 六、尾递归 1、基本概念 2、案例演示 一、声明函数 函数其实是一段具有特定功能的代码的集合,由函数修饰符、函数名、函数参数列表、函数返回值声明与函数体组成。 1、显式声明函数 (1)声明格式 [public | private | protected] def 函数名(参数列表) : 返回值声明 = {函数体} (2)注意事项 函数通过 def 关键字定义 def 前面可以具有修饰符,可以通过 private 、 protected 来控制其访问权限。注意默认访问权限是 public 还可使用 override 、 final 等关键字修饰 函数体中 return 关键字往往可以省略掉,一旦省略掉,函数将会返回整个函数体中最后一行表达式的值

Java中保留小数点后几位

隐身守侯 提交于 2020-02-05 02:00:32
不想多说啥了。。ε=(´ο`*)))唉 基础都给忘了。。今天比赛 跌入十八层地狱。。。。 用DecimalFormat对象的format方法进行格式化。。 1 package cn.test; 2 3 import java.text.DecimalFormat; 4 import java.util.Scanner; 5 6 class Main{ 7 public static void main(String[] args) { 8 Scanner sc = new Scanner(System.in); 9 float f = sc.nextFloat(); 10 DecimalFormat decimalFormat = new DecimalFormat("#.0000"); 11 String format = decimalFormat.format(f); 12 System.out.println(format); 13 14 } 15 } 还可以用上面的 printf 函数方法 " %.2f " 来源: https://www.cnblogs.com/csong7876/p/8683591.html

Go 系列教程 —— 第 15 部分:指针

ぃ、小莉子 提交于 2020-02-04 21:45:11
什么是指针? 指针是一种存储变量内存地址(Memory Address)的变量。 如上图所示,变量 b 的值为 156 ,而 b 的内存地址为 0x1040a124 。变量 a 存储了 b 的地址。我们就称 a 指向了 b 。 指针的声明 指针变量的类型为 *T ,该指针指向一个 T 类型的变量。 接下来我们写点代码。 package main import ( "fmt")func main() { b := 255 var a *int = &b fmt.Printf("Type of a is %T\n", a) fmt.Println("address of b is", a) } 在线运行程序 & 操作符用于获取变量的地址。上面程序的第 9 行我们把 b 的地址赋值给 *int 类型的 a 。我们称 a 指向了 b 。当我们打印 a 的值时,会打印出 b 的地址。程序将输出: Type of a is *int address of b is 0x1040a124 由于 b 可能处于内存的任何位置,你应该会得到一个不同的地址。 指针的零值(Zero Value) 指针的零值是 nil 。 package mainimport ( "fmt")func main() { a := 25 var b *int if b == nil { fmt.Println("b is",

9.Go语言基础之结构体

有些话、适合烂在心里 提交于 2020-02-04 20:55:20
Go语言中没有类的概念,也不支持“类”的继承等面向对象的概念。 Go语言中通过结构体的内嵌再配合接口,比面向对象具有更高的扩展性和灵活性。 1.类型别名和自定义类型 1.1自定义类型 在Go语言中有一些基本的数据类型,如string,整型,浮点型,布尔等数据类型,Go语言中可以使用type关键字来定义自定义类型。 自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。 //将MyInt定义为int类型 type MyInt int 通过Type关键字的定义,MyInt就是一种新的类型,它具有int的特性。 1.2类型别名 类型别名是Go1.9版本添加的新功能。 类型别名规定:TypeAlias只是Type的别名,本质上TypeAlias与Type是同一个类型。就像我们的英文名,乳名,但这些名字都指的是一个人。 type TypeAlias = type 我们之前见过的rune和byte都是类型别名,他们的定义如下: type byte = uint8 type rune = int32 1.3类型定义和类型别名的区别 类型别名与类型定义,表面上看只有一个等号的差异,我们可以通过下面的代码来查看他们的区别。 package main import "fmt" type NewInt int type MyInt = int func main(

Go 系列教程 —— 12. 可变参数函数

China☆狼群 提交于 2020-02-04 20:33:36
什么是可变参数函数 可变参数函数是一种参数个数可变的函数 语法 如果函数最后一个参数被记作 ...T ,这时函数可以接受任意个 T 类型参数作为最后一个参数。 请注意只有函数的最后一个参数才允许是可变的。 通过一些例子理解可变参数函数如何工作 你是否曾经想过 append 函数是如何将任意个参数值加入到切片中的。这样 append 函数可以接受不同数量的参数。 func append(slice []Type, elems ...Type) []Type 上面是 append 函数的定义。在定义中 elems 是可变参数。这样 append 函数可以接受可变化的参数。 让我们创建一个我们自己的可变参数函数。我们将写一段简单的程序,在输入的整数列表里查找某个整数是否存在。 package main import ( "fmt" ) func find(num int, nums ...int) { fmt.Printf("type of nums is %T\n", nums) found := false for i, v := range nums { if v == num { fmt.Println(num, "found at index", i, "in", nums) found = true } } if !found { fmt.Println(num, "not

Go 系列教程 —— 7. 包

落爺英雄遲暮 提交于 2020-02-04 16:56:32
什么是包,为什么使用包? 到目前为止,我们看到的 Go 程序都只有一个文件,文件里包含一个 main 函数和几个其他的函数。在实际中,这种把所有源代码编写在一个文件的方法并不好用。以这种方式编写,代码的重用和维护都会很困难。而包(Package)解决了这样的问题。 包用于组织 Go 源代码,提供了更好的可重用性与可读性 。由于包提供了代码的封装,因此使得 Go 应用程序易于维护。 例如,假如我们正在开发一个 Go 图像处理程序,它提供了图像的裁剪、锐化、模糊和彩色增强等功能。一种组织程序的方式就是根据不同的特性,把代码放到不同的包中。比如裁剪可以是一个单独的包,而锐化是另一个包。这种方式的优点是,由于彩色增强可能需要一些锐化的功能,因此彩色增强的代码只需要简单地导入(我们会在随后讨论)锐化功能的包,就可以使用锐化的功能了。这样的方式使得代码易于重用。 我们会逐步构建一个计算矩形的面积和对角线的应用程序。 通过这个程序,我们会更好地理解包。 main 函数和 main 包 所有可执行的 Go 程序都必须包含一个 main 函数。这个函数是程序运行的入口。main 函数应该放置于 main 包中。 package packagename 这行代码指定了某一源文件属于一个包。它应该放在每一个源文件的第一行。 下面开始为我们的程序创建一个 main 函数和 main 包。 在 Go

day08作业-韩明琰

懵懂的女人 提交于 2020-02-04 16:32:15
类和对象作业 填空题 1.类是组成Java程序的基本要素,类体有两部分构成:一部分是变量的定义,另一部分是_____方法______ 的定义。 2.执行Person p = new Person();语句后,将在___堆内存________中给Person对象分配空间,并在栈内存中给引用变量p分配空间,存放Person对象的引用。 3._____构造______是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不书写返回值类型,在创建对象实例时系统自动调用。 4.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字 _____this_______ 。 5.使用关键字 ____this_______ 来调用同类的其它构造方法,优点同样是以最大限度地代码的利用程度 ,减少程序的维护工作量。 6.用关键字 _____static_______ 修饰的成员变量是类变量,类变量是指不管类创建了多少对象,系统仅在第一次调用类的时候为类变量分配内存,所有对象共享该类的类变量。 7.使用static修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是类名.静态变量名和___ ______对象名______________。 8.在一个类文件中的关键字package,import,class出现的可能顺序是___ _____package import

Go 系列教程 —— 2. Hello World

筅森魡賤 提交于 2020-02-04 14:34:33
建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 $HOME/go 。所以我们要在 $HOME 目录下创建 go 目录。 而在 Windows 下,工作区应该设置在 C:\Users\YourName\go 。所以请将 go 目录放置在 C:\Users\YourName 。 其实也可以通过设置 GOPATH 环境变量,用其他目录来作为工作区。但为了简单起见,我们采用上面提到的放置方法。 所有 Go 源文件都应该放置在工作区里的 src 目录下。请在刚添加的 go 目录下面创建目录 src 。 所有 Go 项目都应该依次在 src 里面设置自己的子目录。我们在 src 里面创建一个目录 hello 来放置整个 hello world 项目。 创建上述目录之后,其目录结构如下: go src hello 在我们刚刚创建的 hello 目录下,在 helloworld.go 文件里保存下面的程序。 package main import "fmt" func main() { fmt.Println("Hello World") } 创建该程序之后,其目录结构如下: go src hello helloworld.go 运行 Go 程序 运行 Go 程序有多种方式

OO前三次作业总结

邮差的信 提交于 2020-02-04 08:22:48
OO前三次作业总结 代码结构 Dispatcher 类 方法: public Dispatcher() public void dispatch() 电梯调度原理: 维护的请求队列保证队首永远是有效请求(即非同质请求),每次调度过程为: 1、将队首(设为front)弹出。 2、调用Elevator.move()方法,移动电梯,并改变电梯状态。 3、根据front的类型,调用RequestQueue.cleanByElevator()方法,或者调用RequestQueue.cleanByFloor()方法,将请求队列内的同质请求清除,保证队首永远不是同质请求。 ALS_Dispatcher 类 ALS_Dispatcher 类继承自 Dispatcher类,重写了dispatch方法,调度原理太复杂实在没时间重写了QAQ,如有兴趣,代码中有些许注释可以食用。 public class ALS_Dispatcher extends Dispatcher public ALS_Dispatcher() public void dispatch() public static void main(String[] args) Request 类 属性: private String type; private String dir; //方向 private String StrForm;

Java基本概念

梦想的初衷 提交于 2020-02-04 05:44:05
问题及答案来源自《Java程序员面试笔试宝典》第四章 Java基础知识 4.1基本概念 1、J ava语言有何优势? 纯面向对象的语言 具有平台无关性,可移植性好 提供了很多内置的类库 提供了对web应用开发的支持 具有很好的安全性和健壮性 除去了C++中难以理解和容易混淆的特性(头文件、指针、多重继承等) 2、Java与C/C++有何区别? Java和C++的相同点: Java和C++都是面向对象语言,都使用了面向对象思想(例如封装、继承、多态等) 由于面向对象有许多非常好的特性(继承、组合等),因此二者都有很好的重用性 Java和C++的不同点: Java为解释性语言,而C/C++为编译型语言(Java执行速度比C/C++慢,但Java能跨平台执行而C/C++不能) Java代码运行过程:源代码通过Java编译器编译成字节码(.class),然后由JVM解释执行 C/C++代码运行过程:源代码通过编译和链接后生成可执行的二进制代码 Java为纯面向对象语言,所有代码要在类中实现,而C++兼具面向过程和面向对象编程的特点 Java没有C/C++中的指针 Java没有C++中的多重继承,但是Java引入了接口的概念,可以通过实现多个接口来实现与C++中多重继承一样的目的 在C++中需要开发人员管理内存分配(申请和释放),而Java中提供了垃圾回收器来实现垃圾的自动回收 C+