《Java和Android开发学习指南(第2版)》——第2章,第2.4节变量
本节书摘来自异步社区《Java和Android开发学习指南(第2版)》一书中的第2章,第2.4节变量,作者 【加】Budi Kurniawan,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.4 变量
变量是数据占位符。Java是一种强类型的语言,因此,每个变量必须有一个声明的类型。Java中有两种数据类型:
引用类型一个引用类型的变量,提供对一个对象的引用。
基本类型一个基本类型的变量,保存一个基本类型。
Java如何存储整数值
你一定听说过计算机使用二进制数字,即只包含0和1的数字。本节对此提供了一个概要,当你学习操作符的时候可能用的上。
一个字节占8个位,这表示要分配8个位来存储一个字节。最左边的位是一个符号位。0表示正值,1表示负值。0000 0000是0的字节表示,0000 0001表示1,0000 00010表示2,0000 0011表示3,并且0111 1111表示127,127是byte所能保存的最大的正值。
那么,如何得到一个负数的二进制表示呢?很简单。先获取其对应的正数的二进制表示,然后将所有的位都取反,并且加上1。例如,要得到−3的二进制表示,首先从3开始,它是0000 0011。将所有的位都取反,得到
1111 1100 加1以后,得到 1111 1101
这就是−3的二进制表示。
对于int类型,规则是相同的。例如,最左边的是符号位。唯一的区别是,一个int类型占32位。要表示一个int类型中的−1的二进制形式,我们从1开始,它是
0000 0000 0000 0000 0000 0000 0000 0001 将所有的位都取反后,得到: 1111 1111 1111 1111 1111 1111 1111 1110 加1以后,得到了想要的数字(−1)。 1111 1111 1111 1111 1111 1111 1111 1111
除了数据类型,Java变量还有名称和标识符。在选择标识符的时候,有如下几条规则:
1.标识符是Java字母和数字的一个长度没有限制的序列。标识符必须以一个Java字母开头。
2.标识符必须不是Java关键字(表2.3中给出),不能是一个布尔字面值,也不能是空字面值。
3.标识符必须在其作用域内是唯一的。第4章将会介绍作用域。
Java字母和Java数字
Java字母包括大写的和小写的ASCII Latin字母A到Z(u0041-u005a,注意,u表示一个Unicode字符)和a到z(u0061-u007a),由于历史的原因,还包括ASCII下划线(_或u005f)和美元符号($或u0024)。$字符只能在机器生成的源代码中使用,极少数情况下,用来访问遗留系统中已经存在的名称。
Java数字包括ASCII数字0~9(u0030-u0039)。
以下是一些合法的标识符:
salary row_count 以下是一些不合法的标识符: java+variable
2x不合法,是因为它以数字开头;java+variable不合法,是因为它包含加号。
还要注意,标识符的名称是区分大小写的。x2和X2是两个不同的标识符。
你可以这样声明一个变量:先写类型,后面跟着名称加上一个分号。如下是变量声明的几个例子:
byte x; int rowCount; char c;
在上面的例子中,我们声明了3个变量:
byte类型的变量x。
int类型的变量rowCount。
char类型的变量c。
x、rowCount和c是变量名或标识符。
还可以在同一行声明具有相同类型的多个变量,两个变量之间用逗号隔开。例如:
int a, b;
这等同于:
int a; int b;
然而,在同一行声明多个变量的做法,我们不推荐,因为这降低了程序的可读性。
最后,可以在声明一个变量的同时给变量赋一个值:
byte x = 12; int rowCount = 1000; char c = x;
变量的命名惯例
变量名应该简短而有含义。它们应该是混合大小写的且以小写字母开头。后续的单词都以一个大写的字母开头。变量名不应该使用下划线_或美元符号$开头。例如,如下是与Sun的编码惯例一致的几个变量名的例子:userName、count和firstTimeLogin。
《Java和Android开发学习指南(第2版)》—— 导读 本书是针对那些想要学习Java语言,特别是想要进行Android应用程序开发的人编写的。本书包含两个部分,第1部分主要介绍Java,第2部分介绍如何有效地构建Android应用程序。
《Java和Android开发学习指南(第2版)》—— 2.10 本章小结 本章介绍了Java语言的基础知识,包括继续学习高级内容之前应该掌握的基本概念和话题。讨论的话题包括字符集、变量、基本数据类型、字面值、操作符、操作符优先级以及注释。
《Java和Android开发学习指南(第2版)》—— 2.9 注释 在整个代码中编写注释,充分地说明一个类提供了什么函数,一个方法做些什么,一个字段包含什么等,这是一种好的做法。在Java中,有两种类型的注释,它们都和C和C++中的注释有类似的语法。
《Java和Android开发学习指南(第2版)》—— 2.8 操作符 计算机程序是实现某一功能的操作汇集在一起的一个集合。有很多种类型的操作,包括加法、减法、乘法、除法和位移。在本小节中,我们将学习各种Java操作。
《Java和Android开发学习指南(第2版)》—— 2.7 基本类型转换 在处理不同的数据类型的时候,我们常常需要进行转换。例如,将一个变量的值赋给另一个变量,就涉及转换。如果两个变量具有相同的类型,赋值总是会成功。从一种类型到相同类型的转换,叫作等同转换(identity conversion)。
《Java和Android开发学习指南(第2版)》—— 2.6 字面值 很多时候,我们需要给程序中的变量赋值,例如,将数字2赋给一个int型变量,或者将字符“c”赋给一个char型变量。为此,需要按照Java编译器能够理解的格式来书写值的表示形式。表示一个值的源代码叫作字面值。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Java学习之java高级特性
- java安装1.8和1.7,报错:Error: Registry key 'SoftwareJavaSoftJava Runtime Environment'CurrentVers
- 【JAVA】在java类中连接和读取mysql数据库的实例(控制台显示)
- java 程序员 和 三八女神节有什么神秘的关系,你晓得吗? 用Java 给女神绘制一张贺卡你会吗?
- CSDN日报191011:Android、Redis、Java开发干货分享!
- 安装android Studio和运行react native项目(基础篇)
- Android eclipse中程序调试
- Android Java端的Socket.io-client
- 《Java和Android开发学习指南(第2版)》——第2章,第2.1节ASCII和Unicode
- 《Java和Android开发实战详解》——1.2节Java基础知识
- 基于Java实现Android 校园 C2C 平台APP【100010562】
- 【VLC-Android】Mac下编译vlc-android
- Android窗口管理服务WindowManagerService对输入法窗口(Input Method Window)的管理分析
- android环境下解决java.io.IOException: Malformed ipv6异常的方法
- android 新版阿里云maven仓库
- Android Apk反编译得到Java源代码
- Android-Java和HTML5交互-混合开发-优化
- java.lang.ClassNotFoundException: Didn't find class "android.os.PersistableBundle" on path: DexPathL
- android开发教程(八)——环境搭建之java-ndk
- Android Design Support Library(二)用NavigationView实现抽屉菜单界面
- Eclipse迅速执行:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- android Bluetooth程序设计
- 【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册
- Android下载文件提示文件不存在。。。 java.io.FileNotFoundException
- java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
- android 源文件 zip包下载.地址
- Android开发之Java代码规范
- 【深度好文】Android界面性能调优手册