函数调用

2018年4月19日JAVA

断了今生、忘了曾经 提交于 2020-02-10 09:13:12
异常 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常。 Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。JDK中内建了一些常用的异常类,我们也可以自定义异常。 Java异常的分类和类结构图 Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。 Throwable又派生出Error类和Exception类。 错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。 异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。 总体上我们根据Javac对异常的处理要求,将异常类分为2类。 非检查异常(unckecked exception):Error 和

PHP笔记

十年热恋 提交于 2020-02-10 02:45:10
//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出。 /* 【命名规则】 */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议全小写和下划线、数字 // func_name.php 私有属性名、方法名建议加下划线 // private $_name _func 接口名建议加I_ // interface I_Name /* 语言结构 */ array(), echo(), empty(), eval(), exit(), isset(), list(), print(), unset() echo, print 可省略括号。 /* 预定义常量 */ PATH_SEPARATOR //路径分隔符(Windows为分号,类Unix为冒号) DIRECTORY_SEPARATOR //目录分隔符 PHP_EOL //当前系统的换行符 PHP_VERSION //PHP版本号 PHP_OS //PHP服务操作系统 PHP_SAPI //用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI=='cli' 表示是在命令行下执行 PHP_INT_MAX

muduo base库学习笔记

柔情痞子 提交于 2020-02-10 00:44:41
谁能想到,这名16岁的少女四年前只是一名年仅12岁的少女 前言 注: 个人水平有限,不能保证此文完全正确,如果错误,请不吝指出。 此文在观看《大并发服务器开发》视频时所做。 因此本文所讲基于muduo库0.9.1-beta版本,需要依赖cmake及boost. (rawmd不依赖boost,依赖c++11) sudo apt-get install cmake libboost-dev libboost-test-dev . 更新时间:<2018-03-12> 原创时间: <2018-03-12> 面向对象编程与基于对象编程 std::boost::function std::bootst::bind muduo::base中类关系及作用 copyable.h 一个空类,用来标识子类是值语义。 Types.h 提供字符串类的声明,及两个类型转换函数模板。 implicit_cast (隐式转换),使代码阅读时更明晰。 down_cast (向下转型),基类指针转换为派生类指针,前提是基类指针指向派生类对象。 Timestamp.h/cc 提供封装好的时间类。 继承copyable,值语义。 继承boot::less_than_comparable ,less_than_comparable:要求提供<,可自动实现>,<=,>= BOOST_STATIC_ASSERT(sizeof

005-Java方法

有些话、适合烂在心里 提交于 2020-02-09 22:25:55
目标 1.理解什么是方法 2.掌握方法的声明格式 3.掌握方法的使用 4.掌握方法的重载 5.了解递归算法 第一节:方法 1.1 什么是方法 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。 1.2 为什么要声明方法 1 把复用的逻辑抽取出来,封装成方法,提高代码的重用性 2 实现相对独立的逻辑,提高代码的维护性 3 可以对具体实现进行隐藏、封装 1.3 方法的作用 简化代码,提高代码的可读性,可维护性,可重用性。 1.4 方法的声明格式 语法: 访问权限修饰符 其他修饰符 返回值类型 方法名称(参数列表) { //方法体【函数体】 return 返回值;//如果返回值类型void ,可以不用写return } 1.4.1方法的分类 根据方法有没有参数,可分为: 1.无参方法 2.有参方法 根据有没有返回值,可分为: 1.无返回值方法 2.有返回值方法 上机练习: 1. 最简单的无参方法 void sum1(){ System.out.println("加法操作"); } 2. 拥有修饰符的无参方法 public static void sum2(){ System.out.println("加法操作"); } 3. 拥有参数的方法 public static void sum3(int a,int b){ System.out.pritln("两数相加结果"

muduo base库学习笔记

穿精又带淫゛_ 提交于 2020-02-09 22:22:23
谁能想到,这名16岁的少女四年前只是一名年仅12岁的少女 前言 注: 个人水平有限,不能保证此文完全正确,如果错误,请不吝指出。 此文在观看《大并发服务器开发》视频时所做。 因此本文所讲基于muduo库0.9.1-beta版本,需要依赖cmake及boost. (rawmd不依赖boost,依赖c++11) sudo apt-get install cmake libboost-dev libboost-test-dev . 更新时间:<2018-03-12> 原创时间: <2018-03-12> 面向对象编程与基于对象编程 std::boost::function std::bootst::bind muduo::base中类关系及作用 copyable.h 一个空类,用来标识子类是值语义。 Types.h 提供字符串类的声明,及两个类型转换函数模板。 implicit_cast (隐式转换),使代码阅读时更明晰。 down_cast (向下转型),基类指针转换为派生类指针,前提是基类指针指向派生类对象。 Timestamp.h/cc 提供封装好的时间类。 继承copyable,值语义。 继承boot::less_than_comparable ,less_than_comparable:要求提供<,可自动实现>,<=,>= BOOST_STATIC_ASSERT(sizeof

C++无参函数调用疑问

空扰寡人 提交于 2020-02-09 17:10:21
下面这种写法报错: error: 'SayHello' was not declared in this scope #include <iostream> using namespace std; int main() { SayHello(); return 0; } void SayHello(){ cout<<"Hello!"<<endl; } 下面这种写法成功编译: #include <iostream> using namespace std; void SayHello(){ cout<<"Hello!"<<endl; } int main() { SayHello(); return 0; } 来源: https://www.cnblogs.com/loneykids/p/12287608.html

javascript面向对象

与世无争的帅哥 提交于 2020-02-09 15:11:09
# javascript面向对象(一) 对象其实就是一种引用类型。而对象的值就是引用类型的实例。在JavaScript 中引用类型是一种数据结构,将数据和功能组织在一起。它也常被称做为类,但JavaScript 中却没有类的概念。虽然JavaScript 是一门面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构。 ## 对象的创建以及常用操作 ## 1. **使用new运算符** var user = new Object(); //使用new运算符创建一个对象 user.name = 'tina; //给对象添加属性 user.age = 22; user.address = '四川成都'; 2. **对象字面量(JSON方式)** var user = { name:'编程浪子', age:22, address:'四川成都' }; 3. **简单方式(传统赋值方式)** var user = {}; user.name = 'tina'; //给对象添加属性 user.age = 22; user.address = '四川成都'; 4. **属性的调用** 对于对象属性的调用有两种方式: 调用方法如下: alert(user.name + " " +user.age);//返回 '编程浪子 四川成都' 另一种方法: alert(user['name'] +

PL/SQL --> 函数

青春壹個敷衍的年華 提交于 2020-02-09 15:04:37
--================== -- PL/SQL --> 函数 --================== 函数通常用于返回特定的数据。其实质是一个有名字的 PL / SQL 块,作为一个 schema 对象存储于数据库,可以被反复执行。函数通常被作为 一个表达式来调用或存储过程的一个参数,具有返回值。 一、建立函数的语法 CREATE [ OR REPLACE ] FUNCTION function_name ( argument1 [mode1] datatype1 , argument2 [mode2] datetype2 , ...) RETURN datatype IS | AS [local_variable_declarations;...] BEGIN --actions; RETURN expression ; END [function_name] ; 建立函数的几点注意事项 1. 指定参数数据类型时 (argument) ,不能指定其长度 2. 函数头部必须指定 return 子句,函数体内至少要包含一条 return 语句 3. 可以指定 in 参数,也可以指定 out 参数,以及 in out 参数 4. 可以为参数指定缺省值。指定缺省值时使用 default 关键字。如 arg1 varchar2 default 'SCOTT' 二

C++ 类和对象

一曲冷凌霜 提交于 2020-02-09 13:07:25
类和对象 OOP第二课 1 类的构成 1.1 从结构到类 1.2 类的构成 2 成员函数的声明 2.1 普通成员函数形式 2.2 将成员函数以内联函数的形式进行说明 3 对象的定义和使用 3.1 对象的定义 3.2 对象中成员的访问 3.3 类成员的访问属性 3.4 类中成员的访问方式 3.5 对象赋值语句 3.6 类的作用域 类(class)是面向对象程序设计的最基本的概念,是C++最强有力的特征,是进行封装和数据隐藏的工具,它将一个数据结构与一个操作集紧密地结合起来。类对象是类的实例,用类对象模拟现实世界中的事物比用数据对象更确切。 1. 类的构成 1.1 从结构到类 结构是C的一种自定义的数据类型,它把相关联的数据元素组成一个单独的统一体。 例2.1有关日期结构的例子 #include <iostream.h> struct Date { int year; int month; int day; }; int main() { Date date1; date1.year=2003; date1.month=8; date1.day=25; cout<<date1.year<<"."<<date1.month<<"." <<date1.day<<endl; return 0; } ⭐class与struct的比较 类是C++对C中结构的扩展。

python调用golang编写的动态链接库

末鹿安然 提交于 2020-02-09 07:42:18
楔子 我们都知道python的效率很低,但是好在可以和C语言无缝结合,C语言写好扩展模块之后再让python去调用简直不要太方便。但是使用C编写扩展模块也不是件容易的事情,于是笔者想到了go,go的效率虽然不如C,但是也没有逊色太多。而且go毕竟是一门高级语言,丰富的标准库、数据类型,编写扩展模块比C方便太多了。下面我们就来看看如何使用golang编写扩展模块交给python调用。 另外python和go之间进行交互,本质上是通过C语言来作为媒介的。在go中定义函数,参数和返回值需要是C中的类型,python调用时,参数和返回值也要指定为C中的类型。而这里只会介绍golang和C中的类型如何转换,至于python的类型和C的类型如何转换我只会直接拿来用,就不写注释介绍具体的用法了。因为python和C中的类型如何转换,比如如何在python中实现C中的数组、结构体等等,我在另一篇博客中 https://www.cnblogs.com/traditional/p/12243307.html 已经介绍的比较详细了,如果对python类型和C的类型之间的转化不是很清楚的小伙伴,可以先去看一看。 举个小栗子 package main import "C" //export age_incr_1 func age_incr_1(age int) int { return age + 1 }