首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据入门基础系列之九月哥谈Java SE的变量

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

精彩内容

【注意】:2018年6月,进群需要缴费49元!!! 每过一个月,新增加的学员相应加10元。如2018年7月,进群需要缴费59元!!!

本月(2018年6月)前面的博文里,我已经介绍了

微信公众号:大数据躺过的坑

作者:九月哥

如有问题或建议,请公众号留言

最近更新:

欢迎加入:【大数据初学党福音】大数据入门基础系列之从Java SE基础到项目实战(目前仅限在校大学生)

在这篇微文里,我将给大家带来谈Java SE的变量

Java SE的变量

那么今天九月哥就给小伙伴们列举以下几个点:

说明:以下内容非强制或必学,做到了解即可。但是,最好熟练!

变量是什么

Java中的变量是什么

为什么要定义Java中的变量

Java变量的声明格式

使用Java变量的注意事项

Java变量的命名规范

Java变量的划分

Java变量的作用域

1、常量是什么?

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

2、Java中的变量是什么?

变量是在程序执行的过程中,在某个范围内其值可以发生改变的量。是用于存储可变数据的容器。

理解:如同数学中的未知数。

从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

我们通过变量来操纵存储空间中的数据,变量就是指这个存储空间!空间位置是确定的,但是里面放置什么值不确定!

变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。

(1)内存中的一个存储区域。

(2)该区域有自己的名称(变量名)和数据类型。变量如何命名?使用标识符,c++中标识符只能包括字母、数字、下划线,而且不能以数字开头。java中的标识符是字母、数字、下划线、$,而且不能以数字开头。

(3)该区域的数据可以在数据类型内不断变化。

3、为什么要定义Java中的变量?

是因为,用来不断的存放同一类型的常量,并可以重复使用。

(1)可以重复使用

(2)可以不断的变换数值

4、Java变量的声明格式

Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:

type varName [=value] [{,varName[=value]}] ;

注意事项:

每个变量都有类型,类型可以是基本类型,也可以是引用类型。

变量名必须是合法的标识符(标识符前面已经讲解)。

变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量声明举例:

double salary ; boolean done;

long earthPopulation ; int age ;

可以在一行中声明多个变量: int i ,j;

不提倡这种风格,逐一声明每一个变量可以提高程序可读性。

可以将变量的声明和初始化放在同一行中,例如:

如图:

数据类型 变量名 = 初始化值;

5、使用Java变量的注意事项

(1) 变量的作用范围(一对{}之间有效)

(2) 初始化值

作用域:

我们都知道变量在一个大括号的作用域里,那么这个变量就在这个大括号里有效。

而且在同一个作用域里不能定义两个相同的变量。

初始化:

格式:

数据类型 变量名 = 初始化值;

没有初始化的变量不能使用。

使用前一定要初始化,建议在定义的时候就初始化值(不强制)。

例:

// 定义一个变量x

int x = 1;//直接初始化

int x;

x = 1; //定义完初始化

以上注意的是,必须在变量使用前初始化完成。

在一行上可以定义一个变量。可以写多个,但习惯上不建议。

int a = 10; int b = 20; int c = 30;//一起定义多个变量用,隔开,不建议使用此方法。

//推荐使用

int a = 10;

int b = 20;

int c = 30;

单个定义变量用;字符隔开。

6、Java变量的命名规范

注意:规范不代表是规定

1. 所有变量、方法、类名:见名知意

2. 类成员变量:首字母小写和驼峰原则 : monthSalary

3. 局部变量:首字母小写和驼峰原则

4. 常量:大写字母和下划线:MAX_VALUE

5. 类名:首字母大写和驼峰原则: Man, GoodMan

6. 方法名:首字母小写和驼峰原则: run(), runRun()

7、Java变量的划分

(1) 局部变量(lacal variable)或本地变量:

方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。

在使用前必须先声明和初始化(赋初值)。

局部变量:

修饰符 type name = value

什么是局部变量?

方法的形式参数以及在方法中定义的变量。

作用范围?

形参:在方法体中任何位置都可以访问。

方法中定义变量:从定义处开始,直到所在代码块结束。

生命周期?(在内存中存在的时间)

出生:运行到创建变量的语句时。

死亡:超过了其作用范围。

(2) 实例变量(成员变量 member variable):

方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。隶属于类。

如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)

成员变量:

在类中定义, 访问修饰符 修饰符 type name = value

什么是成员变量?

成员变量就是类中的属性。当new对象的时候,每个对象都有一份属性。一个对象中的属性就是成员变量。

作用范围?

在类内部,任何地方都可以访问成员变量。

生命周期?在内存中存在的时间。

出生:new对象的时候,开辟内存空间。

死亡:堆内存地址没有引用,变成垃圾,被垃圾回收器回收后。

(3) 静态变量(类变量 static variable):

使用static定义。从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)

类变量:

访问修饰符 static type name = value

什么是类变量?

被static修饰的属性。

作用范围?

在类变量定义之后。

生命周期?在内存中存在的时间

出生:类加载时,类变量就分配内存空间。

死亡:JVM退出

8、Java变量的作用域

在java中,变量的作用域分为四个级别:类级,对象实例级,方法级,块级。

类级变量又称全局变量或静态变量,需要使用staitc关键字修饰,你可以与c/c++中的static变量对比学习。类级变量在类定义后已经存在,占用内存空间,可以通过类名来访问,不需要实例化。

对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。

方法级变量就是在方法内部定义的变量,就是局部变量。

块级变量就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如if,for语句的块。

块是指有大括号包围的代码,例如:

说明:

• 方法内部除了能访问方法级的变量,还可以访问类级和实例级的变量。

• 块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。

• 方法级和块级的变量必须被显示地初始化,否则不能访问。

运行结果:

微学苑

name=微学苑, i=0, j=3

【大数据初学党福音】大数据入门基础系列之从Java SE基础到项目实战(目前仅限在校大学生)

如何加入

如何加入?

答:第一步:关注【大数据躺过的坑】

第三步:加九月哥小助手,然后拉你进群。

注意:2018年6月,进群需要缴费49元!!! 每过一个月,新增加的学员相应加10元。如2018年7月,进群需要缴费59元!!!

以下是大数据躺过的坑的Java SE微信付费交流群

【群公告】

1、进群需修改备注名

格式如:学校-深大 年纪-大四 网名-某某 专业-计科

例如:

学生党是

湖大-大三-奋斗小青年-计科

必须备注!这样很方便我们同行交流

2、群里禁止刷屏的表情包!禁止广告!

3、群里除了管理员其他人禁止发任何链接!(包括学习资源学习资料的链接都不可以发!)

4、进群禁止相互乱加人!有人举报立刻移出群聊!

5、由于是学习讨论群!禁止长期潜水!群主会半年或一年定期清理人!给他人一个机会

6、群里禁止闲聊!不准聊一切与学习无关的话题!

——————分割线——————

(1)本群作为技术分享交流群,以后将可享受到还有更多免费资源、免费分享!

(2)会想留在此群就――不许发外链,不许推广公众号,不许发广告,不许发某宝红包/某团红包(没错可以发微信大红包!)。

(3)一旦发现踢出去,删除拉黑,再也进不来的!

觉得有用就转发分享一下吧

大家6月份的第二个周五愉快,与你前行

大数据手把手交流: 201590535

本人个人博客:

http://www.cnblogs.com/zlslch/ http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/

对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071

如何加入大数据

微信公众号:

大数据躺过的坑

一码不扫,何扫天下

如何加入人工智能

微信公众号:

人工智能躺过的坑

一码不扫,何扫天下

看完本文有收获?请转发分享给更多人

关注「大数据躺过的坑」,提升大神技能

欢迎新旧粉丝(撒花),我是大数据躺过的坑九月哥。大家对微信博文有什么问题都可以@我留言,我会尽快回复大家。希望以后可以和各位成为技术道友!

九月哥

超过10万+人正在关注

目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。语言涉及:Java、Scala、Python、Shell、Linux等。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件,热衷于分享开源技术,热爱开源、拥抱开源,我是90后九月哥,微信公众号:大数据躺过的坑,我为自己带盐,谁说90后不能活出精彩人生!!!

注意:此群是免费

注意:此群是49元

觉得不错,请点赞和留言↓↓↓

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180608B09J5800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券