变量

翻译自
ORALCE 《JAVA TUTORIAL 》
Variables

正如您在上一课中学到的,一个对象将其状态存储在字段中。

int cadence = 0;
int speed = 0;
int gear = 1;

什么是对象? 讨论向您介绍了领域,但您可能还有几个问题,例如:命名字段的规则和惯例是什么? 除了int,还有什么其他数据类型? 当声明声明时,是否必须初始化字段? 如果这些字段没有被明确地初始化,那么这些字段是否被分配了默认值 我们将在本课中探讨这些问题的答案,但在我们做之前,您必须首先了解一些技术上的区别。 在Java编程语言中,使用术语“字段”和“变量”; 这是新开发人员的常见混乱来源,因为这两者通常似乎都是相同的。

Java编程语言定义了以下类型的变量:

  • 实例变量(非静态字段)
    从技术上讲,对象将其各自的状态存储在“非静态字段”中,即不使用static关键字声明的字段。非静态字段也称为实例变量,因为它们的值对于每个类的实例是唯一的(换句话说就是每个对象);一只自行车的当前速度与另一只自行车的当前速度无关。

  • 类变量(静态字段)
    类变量是使用静态修饰符声明的任何字段;这告诉编译器,存在这个变量的正好一个副本,而不管类被实例化了多少次。定义特定类型自行车的齿轮数的范围可以被标记为静态,因为概念上相同数量的齿轮将适用于所有实例。代码静态int numGears = 6;将创建一个这样的静态字段。此外,可以添加关键字final,以表示齿轮数不会改变。

  • 局部变量
    类似于对象如何将其状态存储在字段中,方法通常会将其临时状态存储在局部变量中。 声明局部变量的语法类似于声明一个字段(例如,int count = 0;)。 没有特殊的关键字指定一个变量作为局部的; 该确定完全来自声明变量的位置——这在方法的开始和结束大括号之间。 因此,局部变量只对它们被声明的方法可见; 他们不能从课堂的其余部分访问。

  • 参数
    你已经看到了参数的例子,无论是在自行车类还是“Hello World!”这个应用的主要方法中。 回想一下,main方法的签名是public static void main(String [] args))。 这里,args变量是这个方法的参数。 要记住的重要事情是参数总是被分类为“变量”而不是“字段”。 这适用于其他参数接受构造(如构造函数和异常处理程序),您将在本教程的后面部分中了解到。

话虽如此,本教程的其余部分在讨论字段和变量时使用以下一般准则。 如果我们谈论“一般领域”(不包括局部变量和参数),我们可以简单地说“字段”。 如果讨论适用于“上述所有”,我们可以简单地说“变量”。 如果上下文需要区分,我们将酌情使用特定术语(静态字段,局部变量等)。 您也可能偶尔也会看到“成员”一词。 类型的字段,方法和嵌套类型统称为其成员。

命名

每个编程语言都有自己的一套规则和约定,您可以使用这些类型的名称,Java编程语言也没有什么不同。 用于命名变量的规则和惯例可以归纳如下:

  • 变量名称区分大小写。 变量的名称可以是任何合法标识符 - Unicode字母和数字的无限长度序列,以字母开头,美元符号“$”或下划线字符“_”。 但是,这个约定是始终用一个字母开始你的变量名,而不是“$”或“_”。 此外,按照惯例,美元符号字符根本不会被使用。 您可能会发现某些情况下,自动生成的名称将包含美元符号,但您的变量名称应始终避免使用它。 下划线字符存在类似的约定; 而在“_”开始你的变量的名字是技术上合法的,这种做法是不鼓励的。 空白是不允许的。
  • 后续字符可以是字母,数字,美元符号或下划线字符。 公约(和常识)也适用于此规则。 选择变量的名称时,请使用完整的单词而不是隐含的缩写。 这样做会使您的代码更容易阅读和理解。 在许多情况下,它也会使你的代码自我记录; 例如,命名为节奏,速度和档位的领域比缩写版本(如s,c和g)更加直观。 还要记住,您选择的名称不能是关键字或保留字。
  • 如果您选择的名称只包含一个单词,请以所有小写字母拼写该单词。 如果由多个单词组成,则将每个后续单词的第一个字母大写。 名称gearRatio和currentGear是这个惯例的主要例子。 如果您的变量存储一个常量值,例如static final int NUM_GEARS = 6,则约定略有变化,大小写每个字母,并将后续单词与下划线字符分开。 按照惯例,下划线字符从未在其他地方使用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 语言的基本特性,包括变量,基本数据类型,数组,运算符和控制流。 变量(Variables) 一个对象将状态存储在域...
    500强低级工程师阅读 442评论 0 1
  • 变量 变量是什么 变量命名规则 变量类型详解 变量的容量和占用内存情况 变量是什么 顾名思义,变量就是会变的量,量...
    河许人阅读 3,770评论 0 3
  • 基本内置类型 算术类型字符整型布尔值浮点数 空类型(void) 算术类型 带符号类型和无符号类型int、short...
    2625K阅读 3,174评论 0 1
  • 基本语法 注释 一般单行注释用双斜线 // 或者 # 多行注释用/* */ 如果用编辑软件基本都可以ctrl ...
    路墨阅读 901评论 1 4
  • 阳光 沙滩 没仙人掌, 这里是南方, 我赤脚站在沙滩上, 臆想力挽狂澜, 我望向前方, 海水闪闪发亮, 正当我陷入...
    余得水阅读 90评论 0 0