变量
按数据类型划分
- 基本数据类型变量(8种基本数据类型:byte, short, int, long, float, double, char, boolean)
- 引用数据类型(类(字符串)、接口、数组)
按声明位置划分
- 局部变量:方法或代码块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量(属性)
注:类的外面不能有变量声明。
基本数据类型
1字节(byte)=8位,即8位二进制数
类型 | 占用内存 | 值范围 | 默认值 |
---|---|---|---|
byte | 1 byte | -128~127 | 0 |
short | 2 byte | 0 | |
int | 4 byte | -32768~32767 | 0 |
long | 8 byte | 0 | |
float | 4 byte | 0.0f | |
double | 8 byte | 0.0d | |
char | 2 byte | ' \u0000-u\ffff ' | false |
boolean | 1 byte | true或false | '\u0000 ' |
标识符
对包、类、变量、属性、方法、参数等的命名,要求见名知意。
命名规则:
- 由字母、数字、下划线和美元符号组成;
- 不能以数字开头;
- 严格区分大小写;
- 长度无限制;
- 不能是Java中的保留字和关键字。
变量命名语法:
- 数据类型 变量名 = 初始值
- 数据类型 变量名
注:
- float f = 10.1f 直接输入10.1,默认为double类型。
- long l = 2200000000l 直接输入2200000000,默认为int类型,超出范围。
- char与int的运算以及类型转换。
部分命名规范
- 包名全部单词小写,单词间用.隔开,且开始以公司域名命名。如:com.baidu.Demo1;
- 类名用大写驼峰命名法,即每个单词首字母均大写;
- 局部变量、属性、参数和方法用小写驼峰命名法,即第一个单词首字母小写,后面单词首字母均大写;
- 全局变量所有单词字母均大写,单词间用下划线隔开。
类型转换
boolean数据类型不能转换为其他任何数据类型。
自动类型转换:容量小的数据类型自动转换为容量大的数据类型
byte, short, int->float->long->double
byte, short, int不会互相转换,计算时转换为int类型
强制类型转换:容量大的数据类型转换为容量小的数据类型时,要使用强制转换符。有可能造成精度降低或数据溢出。
(数据类型)变量名 将变量强制转换为数据类型
Q:字符串的类型转换?
运算符
- a/b 若a,b均为整型数据,则返回整型数据,向下取整。
- a++(a--)先执行自增(自减)操作,再执行当前语句的其他操作;++a(--a)先执行当前语句的其他操作,再执行自增(自减)操作。
- && 当第一个表达式为假时不运算第二个表达式;|| 当第一个表达式为真时不运算第二个表达式。
- +可用于字符串的连接,也可将字符串与其他数据类型相连接,拼成一个新的字符串。
- 运算符优先级。
Q:异或如何实现交换变量值?
转义字符
部分字符在代码中有特殊的含义,如单引号标识字符的开始或结束,双引号标识字符串的开始或结束。而当需要使用无特殊含义的该字符时,则需要先转义再使用。
转义字符 | 意义 | ASCⅡ码(十进制) |
---|---|---|
\n | 换行,将当前位置移到下一行开头 | 010 |
\r | 回车,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT)(跳到下一个TAB位置) | 009 |
\\ | 代表一个反斜线字符'\' | 092 |
\' | 代表一个单引号字符 | 039 |
\" | 代表一个双引号字符 | 034 |
注:
- '\r'是回车(carriage return),'\n'是换行(line feed),前者使光标到行首,左右移动,后者使光标下移一格,上下移动。通常用的Enter是两个加起来。
- 在java, windows系统中,\r, \n, \r\n均为换行且新的输入光标在新一行的开头;\n\r为换行之后再换行,新的输入光标在新的第二行的开头。