黑马程序员——语法基础

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------


·Java中的关键字

Java的关键字有着特殊的意义,用来表示一种数据类型或者表示程序的结构等,关键字不能用作变量名、常量名方法名、类名、包名等,不同地方所作用的关键字如下图:

     ·Java中的标示符


除了命名的规则和区分大小写,标示符的命名也要规范,阅读起来有意义,这也是一名程序员专业的体现,这在高新技术课程的讲解中张孝祥老师提过好几次,印象中比较深的是对Class类型的引用变量命名为clazz,以及对引用返回值的变量命名为retVal,让人从细节中受益匪浅。


·常量


Java中除了常知的整数常量、小数常量、字符常量、字符串常量,还有特殊的两个常量,就是null常量和boolean常量,它们的值分别是null、true、false。而且,整数常量的表现形式不止是十进制,二进制,八进制和十六进制也是。


·关于final


说到常量,也不得不提到final这个关键字了,它可以修饰类,被它修饰的类不能被继承,它可以修饰方法(构造方法不可以被final修饰)被它修饰的成员方法无法被覆盖,它可以修饰成员变量,被final修饰的成员变量只能被赋值一次,而且赋值后值无法改变!

final对变量进行定义的时候,可以先声明而不给赋初值,这样在关键字final的使用上可以比较灵活,一个在类中的未被赋予初值的final成员变量因此可以实现创建出来的每个对象保持各自的最终不变特性。


毕老师在讲匿名内部类的时候讲到一个例子让我印象有点深刻:


上图,method方法参数列表里被final修饰的变量,在对象创建后可以传递两次参数,这个跟被final修饰的变量赋值后不能被再次赋值不是矛盾么?不矛盾,因为,当第一次调用method时,变量y进栈,赋值为10并锁定,方法执行后它的生命周期结束出栈,内存释放。再次调用method并传了20,就再次开辟了新的栈内存空间,过程跟上一步一样。但是如果在方法体内写上对y值进行改变的语句,就会提示错误“无法为最终变量赋值”。


·变量


变量即内存中一块储存数据的区域,它有名称(变量名),而且有类型(变量类型),储存的数据可以可以在同一类型内进行不断变化。

为什么要定义变量:可以储存不断改变的数据,并且重复使用。

作用域:变量所在的{}内。

初始化:在栈内存的变量要给予初始化,JVM不会像在堆内存中那样会给你默认初始化。

它如何开辟内存空间的:通过明确变量数据类型、变量名称、变量值。


·Java的数据类型和大小


 

char:2个字节,byte:1个字节,shot:2个字节,int: 4个字节,

long:8个字节,float:4个字节,double:8个字节,boolean :一个字节。

其中一个字节由8个二进制位组成。

 ---------------------- 
 ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看: 
http://edu.csdn.net
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值