局部变量

数据量基础

你说的曾经没有我的故事 提交于 2019-11-28 04:13:12
局部变量 :局部变量是指用户可以自定义的变量,它的作用范围仅在程序的内部。局部变量名必须是以@开头 DECLARE @变量名 变量类型 为变量赋值的方式一般有两种,一种是使用SELECT语句,一种是使用SET语句 全局变量:全局变量是指sqlserver系统内部事先定义好的变量 注释符 -- 单行注释 /*多行注释 来源: https://www.cnblogs.com/zjfman/p/11391538.html

ruby的一些特性

我怕爱的太早我们不能终老 提交于 2019-11-28 02:20:43
  在本节的第五部分我们提到了用等号结尾的方法。ruby中的方法同样可以以问号和叹号结尾,问号通常用于 谓语方法 ,这种方法返回一个布尔值。例如array和hash类都定义了一个empty?方法,这个方法用于测试数据结构中有没有元素。如果方法以叹号结尾,这意味着我们在使用这个方法的时候要小心,比如大多数核心的ruby类库方法都提供两个同名的方法,一个以谈好结尾,一个没有,区别在于,如果使用没有叹号结尾的方法,你在调用它的时候会得到当前对象的一个拷贝而不会修改原始对象,而如果使用带有叹号的方法,你在调用它的时候会直接修改当前对象的值。比如array类对象中定义的sort和sort!方法。 我们再来谈谈前缀符号,在定义变量的时候如果你在变量前面加上$符号,这说明它是一个全局变量,局部变量使用@开头,类变量使用@@开头。开始的时候你可能需要适应一下这种用法,但是以后你就会发现,你要感谢中这语法它让你很清楚的知道你现在使用的变量的范围。这种符号前缀是为了消除ruby中灵活的语法结构带来的歧义。你可以这样理解符号前缀的好处,我们话很少的待解消除了在方法后加上括号的累赘:)。 --------------------------------------------------------------------------------------------------------------

对js闭包的粗浅理解

天涯浪子 提交于 2019-11-28 00:12:09
  只能是粗浅的,毕竟js用法太灵活。   首先抛概念:闭包(closure)是函数对象与变量作用域链在某种形式上的关联,是一种对变量的获取机制。这样写鬼能看懂。 所以要大致搞清三个东西:函数对象(function object)、作用域链(scope chain)以及它们如何关联(combination)   首先要建立一个印象,在js中,几乎所有的东西可以看作对象,除了null和undefined。比如常用的数组对象、日期对象、正则对象等。 var num = 123; // Number var arr = [1,2,3]; // Array var str = "hello"; // String   数字原始值可以看作Number对象,字符串原始值可看做String对象,数组原始值可看作Array对象。有的原始值还可直接调方法,如数组、正则,有的不行 [1,2,3].toString(); // 可以 /\w+/.toString(); // 可以 123.toString(); // 报错   比如数字,当用一个变量名呈接它时,或者加上括号,能够这样用 var num = 123; num.toString(); 123.toString(); // 报错,因解释器当成浮点数来解读 (123).toString(); // 可以   所以,函数也可以是一个对象

JavaSE 面试题: 成员变量与局部变量

别来无恙 提交于 2019-11-27 22:18:56
JavaSE 面试题 成员变量与局部变量 public class Test { static int s; int i; int j; { int i = 1; i++; j++; s++; } public void test(int j) { j++; i++; s++; } public static void main(String[] args) { Test t1 = new Test(); Test t2 = new Test(); t1.test(10); t1.test(20); t2.test(30); System.out.println(t1.i + ", " + t1.j + ", " + t1.s); System.out.println(t2.i + ", " + t2.j + ", " + t2.s); } } 参考答案 2, 1, 5 1, 1, 5 来源: https://www.cnblogs.com/hglibin/p/11380250.html

Java10类型推导

烂漫一生 提交于 2019-11-27 20:38:13
Java10类型推导 引言 ​ 2018年3月20日,大家期待已久的Java 10发布了,Java 10推出很多新的特性,比如局部变量类型推导、应用类数据共享、并行全垃圾回收器 G1等等,其中和我们开发者息息相关的就是局部变量类型推导,今天我们就来聊一聊Java 10的局部变量类型推导。 概念 ​ 所谓的局部变量类型推导其实就是通过增强java语言特性将类型推断扩展到局部变量,它引入了其他语言中很常见的“var”,其表现形式也类似于JavaScript的中的"var",只要编译器可以推断此种类型,你就不再需要专门声明一个局部变量的类型。 应用场景 java 10的局部变量类型推导不是在所有的地方都可以使用的,java10规定: 局部变量类型仅限于如下使用场景: 局部变量初始化 for循环内部索引变量 传统的for循环声明变量 局部变量类型推导它不能用于以下几个地方: 方法参数 构造函数参数 方法返回类型 ​类的字段 示例代码 1.在定义局部变量的时候使用 在定义局部变量时,使用var来定义。 package cn.itcast.demo; public class Demo1 { public static void main(String[] args) { var number = 1; var message ="Hello itcast"; System.out

【变量/常量】

笑着哭i 提交于 2019-11-27 18:14:08
对变量及常量的总结 在类中声明的变量或常量叫属性,或者叫成员变量,如name、salary、count 在方法中声明的变量叫局部变量,或者临时变量。 属性可以使用四种权限修饰符修饰,局部变量不可以 属性可以使用static修饰,局部变量不可以 属性可以使用final修饰,局部变量也可以 属性的生命周期很长,随着类加载或者创建对象被初始化,直到没有对象引用才回收 局部变量生命周期很短,执行某个方法时临时被初始化,方法结束即被回收。 如果局部变量与属性重名,则遵守就近原则,可以使用this区分,后续学习 属性可以在整个类中使用,局部变量只在当前方法中使用 属性都有默认的初始化值,如引用类型都是null,整型是0等,局部变量不被自动初始化,必须手工初始化,如taskname手工指定为null才为null,而属性name默认就为null 成员变量和局部变量的区别(理解) 在类中的位置不同 – 成员变量:类中方法外 – 局部变量:方法定义中或者方法声明上 在内存中的位置不同 – 成员变量:在堆内存 – 局部变量:在栈内存 生命周期不同 – 成员变量:随着对象的创建而存在,随着对象的消失而消失 – 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 初始化值不同 – 成员变量:有默认值 – 局部变量:没有默认值,必须定义,赋值,然后才能使用 注意事项: 局部变量名称可以和成员变量名称一样

java 内部类详解

梦想的初衷 提交于 2019-11-27 18:08:29
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 一、内部类基础 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。 下面就先来了解一下这四种内部类的用法。 1、成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部 ,形如下面的形式: class Circle { double radius = 0; public Circle(double radius) { this.radius = radius; } class Draw { //内部类 public void drawSahpe() { System.out.println("drawshape"); } } } 这样看起来,类Draw像是类Circle的一个成员,Circle称为外部类。 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。 class Circle { private

JVM基本指令及其说明

时光毁灭记忆、已成空白 提交于 2019-11-27 16:21:05
本文分为3个部分, 第一个部分列出常用的jvm指令 ,每一个指令基本都有几个类似的指令,看名字就知道了,比如像iconst、lconst、fconst、dconst这些主要是针对不同的类型(int、long、float、double),将对应类型的值push到栈顶,其他指令类似,所以基本指令就给出一个例子,其他的联想一个就好, 第二部分,给出一小段代码, 并给出指令集并详细给出每一行代码的解释。 第三部给出jvm全部的指令集, 方便查询 jvm 基本指令 iconst_1 int型常量值1进栈 bipush 将一个byte型常量值推送至栈顶 iload_1 第二个int型局部变量进栈 ,从 0 开始计数 istore_1 将栈顶int型数值存入第二个局部变量,从 0 开始计数 iadd 栈顶两int型数值相加,并且结果进栈 return 当前方法返回void getstatic 获取指定类的静态域,并将其值压入栈顶 putstatic 为指定的类的静态域赋值 invokevirtual 调用实例方法 invokespecial 调用超类构造方法、实例初始化方法、私有方法 invokestatic 调用静态方法 invokeinterface 调用接口方法 new 创建一个对象,并且其引用进栈 newarray 创建一个基本类型数组,并且其引用进栈 二、具体分析

成员变量与局部变量

送分小仙女□ 提交于 2019-11-27 14:13:09
package day12; /** 局部变量与成员变量 */ public class Test { // 成员变量:定位类体内方法体外 作用域是整个类。使用时可以不赋值,执行默认值。 static boolean b; static int i; static char c; static double d; public static void main(String[] args) { System.out.println("b的默认值是:" + b);// 调用因未赋值,执行默认值 System.out.println("i的默认值是:" + i); System.out.println("c的默认值是:" + c); System.out.println("d的默认值是:" + d); // 局部变量:定义在方法体内,只对当前方法有效不能使用static修饰。使用前必须完成赋值。 int in = 700; System.out.println(in); method(); } public static void method() { System.out.println("这是自己定义的方法"); } } 来源: https://www.cnblogs.com/yueluoshuxiang/p/11367017.html

java学习(第二篇)语法学习

你说的曾经没有我的故事 提交于 2019-11-27 10:18:50
1.java标识符 类名、变量名以及方法名都被称为标识符。 关于 Java 标识符,有以下几点需要注意: 所有的标识符都应该 以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始 首字符之后 可以是 字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字 的任何字符组合 关键字不能用作标识符 标识符是大小写敏感的 2.java修饰符 访问控制修饰符 : default(默认), public(公共) , protected(受保护), private(私有) 非访问控制修饰符 : final(最终), abstract(抽象), static(静态), 访问控制修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) public : 对所有类可见。使用对象:类、接口、变量、方法 protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类) 。 (1)default使用 默认访问修饰符 声明的变量和方法,对 同一个包内的类 是可见的。 (2)private私有访问修饰符是 最严格的访问级别 ,所以被声明为 private 的 方法、变量和构造方法 只能被所属类访问,并且