一、数据类型、变量与常量
1.数据类型
1)Java的数据类型占用固定的内存长度,与具体的软硬件平台环境无关。
2)Java的每种数据类型都对应一个默认的数值,使得这种数据类型的变量的取值总是确定的。
2.标识符
1)标识符可以由字母、数字和两个特殊字符(”_”以及”$”)组合而成。
2)标识符必须以字母、下划线或美元符号开头
3)Java是大小写敏感语言,标识符命名时需要注意;同时标识符应该尽可能反应他所表示的变量、常量、对象或类的意义。
*Java定义标识符的一些准则:
1.类名、接口名:采用名词,首字母大写,内含的单词首字母大写。ApplicationInOut
2.方法名:采用动词,首字母小写,内含单词首字母大写。actionPerformed
3.变量名:采用名词,首字母小写,内含单词首字母大写。connectNumber
4.常量名:全部大写,单词间用下划线分开。HEAD_COUNT
数据类型 | 关键字 | 占用位数 | 默认数值 | 取值范围 |
布尔型 | boolean | 8 | false | true,false |
字节型 | byte | 8 | 0 | -128~127 |
字符型 | char | 16 | '\u 0000' | '\u 0000'~'\u FFFF' |
短整型 | short | 16 | 0 | -32768~32767 |
整型 | int | 32 | 0 | -2147483648 |
长整型 | long | 64 | 0 | -9223372036854775808 |
浮点型 | float | 32 | 0.0F | 1.40129846432481707e-45 |
双精度型 | double | 64 | 0.0D | 4.94065645841246544e-324 |
3.常量
1.布尔常量
2.整型常量
1)十进制的整型常量用非0开头的数值表示:400
2)八进制的整型常量用0开头的数字表示:016 (表示十进制14)
3)十六进制的整型常量用0x开头的数字表示:0x1F(表示10进制31)
3.浮点常量
1)一般浮点常量占用32位内存,用F、f表示。
2)双精度浮点常量占用64位内存,用带D或d或不加后缀的数值表示。
3)浮点常量还有一般表示法和指数表示法两种不同的表示方法。
4.字符常量
1)字符常量用一对单引号括起的单个字符表示,这个字符可以是拉丁字母表中的字符,也可以是转义符,还可以是要表示的字符所对应的八进制数或Unicode码。
2)对于八进制表示法只能表示‘\u000’到‘\u377’范围内的字符,而不是全部的Unicode码,只能表示其中ASCALL字符集的部分。
引用方法 | 对应的Unicode码 | 意义 |
“\b” | '\u0008' | 退格 |
“\t” | '\u0009' | 水平制表符 |
“\n” | '\u000a' | 换行
|
“\f” | '\u000c' | 表格符 |
“\r” | '\u000d' | 回车 |
“\"” | '\u0022' | 双引号 |
“\'” | '\u0027' | 单引号 |
“\\” | '\u005e' | 反斜线 |
5.字符串常量
Java中可用“+“将两个或更多字符串常量串接在一起。 “Hello World” + “\n” 结果为 “Hello World \n”
4.变量
1)变量是程序在运行过程中数值可变的数据,通常用来记录和运算中间结果或者保存数据。
2)Java中的变量必须先声明后使用。
二、表达式
表达式是由变量、常量、对象、方法调用和操作符组成的式子。
1.逻辑运算
逻辑运算是针对布尔型数据进行的运算,运算结果仍是布尔型量。
“&”和“|”被称为非简洁运算符,利用他们做与、或运算时,运算符左右两边的表达式总会被执行。而利用“&&”和“||”做简洁运算时,运算符右边的等式有可能被忽略而不被执行。如:x > y&&x++ == y--;如果左边为真,则整个式子为真,右边可能不会执行。
运算符 | 运算意义 | 运算样例 | 运算规则 |
& | 非简洁与 | a&b | a,b都真时结果才为真 |
| | 非简洁或 | a|b | a,b都假时结果才为假 |
! | 取反 | !a | a真时为假,b假时为真 |
^ | 异或 | a^b | a,b同真假时结果为假 |
&& | 简洁与 | a&&b | a,b都真时结果才为真 |
|| | 简洁或 | a||b | a,b都假时结果才为假 |
2.位运算
位运算是对操作数以二进制比特位为单位进行的操作和运算,位运算的操作数和结果都是整型量。
在带符号的右移中,左移后左边的留下空位中填入的是复制的原数的符号位,即正数为0,负数为1。在不带符号的右移中,右移后左边的空位一律填0。
运算符 | 运算意义 | 运算样例 | 运算规则 |
~ | 位反 | ~a | 将a按比特位取反 |
>> | 右移 | a>>n | a各比特位右移n位 |
<< | 左移 | a<<n | a各比特位左移n位 |
>>> | 不带符号的右移 | a>>>n | a各比特位右移左边空位一律填0 |
a(十进制表示) | 二进制补码表示 | a<<2 | a>>2 | a>>>2 |
30 | 00011110 | 01111000 | 00000111 | 00000111 |
-17 | 11101111 | 10111100 | 11111011 | 00111011 |
1.分支语句
1)if语句:
if(条件表达式)//注意是条件表达式而不是常、变量
语句块;
else
语句块;
2)switch语句:
switch(表达式)//可以为常、变量
{
case 判断值1: 语句块1
case 判断值2: 语句块2
…
case 判断值n: 语句块n
default 语句块 n+1
}
2.循环语句
1)while语句:
while(条件表达式)
循环体
2)do-while语句://不管while中的条件表达式,先执行一次do中循环体内容
do
循环体
while(条件表达式)
3)for语句
for(表达式1;表达式2;表达式3)
循环体
3.跳转语句
1)continue语句
2)break语句
上述continue和break使用方法分为带标号和不带标号。
带标号:break\continue 标号名; 其中标号应该标志某一个语句块。
3) return语句