JavaSE之java基础语法
关键字和保留字
关键字定义和特点
定义:被java语言赋予了特殊含义,用作专门用途的字符串。
特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。
用于定义数字类型的关键字 | ||||
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void | |||
用于定义流程的关键字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return | ||||
用于定义访问权限修饰符的关键字 | ||||
private | protected | pubic | ||
用于定义类、函数、变量修饰符的关键字 | ||||
abstract | final | staic | synchronized | |
用于定义类与类之间关系的关键字 | ||||
extends | improtants | |||
用于建立实例及引用类型,判断实例的关键字 | ||||
new | this | super | instanceof | |
用于异常处理的关键字 | ||||
try | catch | finally | throw | throws |
用于包的关键字 | ||||
package | import | |||
其他修饰符关键字 | ||||
native | strictfp | transient | volatile | assert |
用于定义数据类型值的字面值 | ||||
true | false | null |
保留字
定义: 现在java尚未使用,但以后版本可能会作为关键字使用。自己使用时应避免使用。
基本数据类型
整数类型(int为默认类型)
类型 | 占用储存空间 | 表数范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | $-2{15}$~$2$-1 |
int | 4字节 | $-2{31}$~$2$-1 |
long | 8字节 | $-2{63}$~$2$-1 |
注意:java的整型常亮默认为int型,声明long型常量须后加 'l'或'L'
浮点类型(double为默认类型)
类型 | 占用储存空间 | 表数范围 |
---|---|---|
float | 4字节 | -3.4e+38 ~ 3.4e+38 |
double | 8字节 | -1.79E+308 ~ +1.79E+308 |
注意:Java 的浮点型常量默认为double型,声明float型常量,须后加 'f'或'F'
字符类型(char)
类型 | 占用储存空间 |
---|---|
char | 4字节 |
注意:char类型是可以进行运算的。因为它都对应有Unicode码。
布尔类型(boolean)
类型 | 占用储存空间 |
---|---|
boolean | 1字节 |
注意:boolean类型数据只允许取值true和false,无null。
boolean类型不可以转换为其它的数据类型。
Java中的转义字符
转义字符 | 含义 |
---|---|
\n | 表示换行 |
\t | 表示横向跳格,作用同tab键 |
\b | 表示退格 |
\r | 表示回车 |
\f | 表示走纸换页 |
\\ | 表示反斜杠字符 |
\’ | 表示单引号字符 |
\” | 表示双引号字符 |
\d | 表示八进制字符 |
\xd | 表示十六进制字符 |
\ud | 表示Unicode字符 |
运算符
算术运算符
算术运算符 | 名称 | 举例 |
---|---|---|
+ | 加法 | 5+12=17 |
- | 减法 | 20-5=15 |
* | 乘法 | 3*7=21 |
/ | 除法 | 4/2=2 |
% | 求余 | 24%7=3 |
++ | 自增1 | int i = 5;i++ |
-- | 自减1 | int i = 5;i-- |
自增(自减)运算符:++,–
例:a++;先赋值后运算
int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1
例:++a;先运算后赋值
int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2
赋值运算符
运算符 | 名称 | 举例 |
---|---|---|
= | 赋值 | c=a+b将把a+b得到的值赋给c |
+= | 加等于 | c+=a等价于c=c+a |
-= | 减等于 | c-=a等价于c=c-a |
*= | 乘等于 | c=a等价于c=ca |
/= | 除等于 | c/=a等价于c=c/a |
%= | 模等于 | c%=a等价于c=c%a |
比较运算符(关系运算符)
比较运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
> | 大于 | a=5;b=2;a>b; | true |
< | 小于 | a=5;b=2;a<b; | false |
>= | 大于等于 | a=5;a>=3; | true |
<= | 小于等于 | a=5;b=2;b<=a; | true |
== | 等于 | a=5;b=2;a==b; | false |
!= | 不等于 | b=2;b!=2; | false |
注意:
1.>、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2.== 、 != 两边的操作数既可以是数值类型,也可以是引用类型
3.== 比较基本数据类型时,比较的是值。比较引用数据类型时比较的是地址。
逻辑运算符
逻辑运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
&& | 与 | a&&b | 如果a与b都为true,则返回true |
|| | 或 | a||b | 如果a与b任一为true,则返回true |
! | 非 | !a | 如果a为false,则返回true,即取反 |
^ | 异或 | a^b | 如果a和b有且只有一个为true,则返回true |
“&”和“&&”的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
位运算符
位运算符 | 含义 |
---|---|
<< | 空位补0,被移除的高位丢弃,空缺位补0。 |
>> | 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。 |
>>> | 被移位二进制最高位无论是0或者是1,空缺位都用0补。 |
& | 二进制位进行&运算,只有1&1时结果是1,否则是0; |
| | 进制位进行|运算,只有0|0时结果是0,否则是1; |
^ | 相同二进制位进行运算,结果是0;11=0,00=0不相同二进制位运算结果是1。10=1.01=1 |
~ | 正数取反,各二进制码按补码各位取;反负数取反,各二进制码按补码各位取反 |
三元运算符
语法形式:布尔表达式 ? 表达式1:表达式2
布尔表达式为true,运算结果为表达式1。反之,结果为表达式2。
int a = (10>3) ? 5 : 10;//10>3为true,a=5
int a = (10<3) ? 5 : 10;//10<3为false,a=10
程序流程控制
结构化程序设计中规定的三种基本流程结构,分别为:顺序结构,分支结构,循环结构。
顺序结构
程序由上向下执行。
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}//java中定义成员变量时采用合法的向前引用。
分支语句if-else
public class Test{
int a = 1;
if(a>1){
...
}else{
...
}
}//java中定义成员变量时采用合法的向前引用。
分支语句switch-case
public class SwitchTest {
public static void main(String args[]) {
int i = 1;
switch (i) {
case 0:
System.out.println("one");
break;
case 1:
System.out.println("two");
break;
default:
System.out.println("other");
break;
}
}
}
循环结构
循环结构:for循环
public class ForLoop {
public static void main(String args[]) {
int result = 0;
for (int i = 1; i <= 100; i++) {//1.初始化部分 2.循环条件部分 3.迭代部分
result += i;//循环体部分
}
System.out.println("result=" + result);
}
}
循环结构:while循环
public class WhileLoop {
public static void main(String args[]) {
int result = 0;
int i = 1;//1.初始化部分
while (i <= 100) {//循环条件
result += i;//循环体部分
i++;//迭代部分
}
System.out.println("result=" + result);
}
}
循环结构:do-while循环
public class DoWhileLoop {
public static void main(String args[]) {
int result = 0, i = 1;//初始化部分
do {
result += i;//循环体部分
i++;//迭代部分
} while (i <= 100);//循环条件部分
System.out.println("result=" + result);
}
}
特殊关键字break,continue
break语句
break语句用于终止某个语句块的执行
public class BreakTest{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;//当条件成立时,终止for循环
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}
continue语句
continue只能使用在循环结构中
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;//跳出成立的循环
System.out.println(i);
}
}
}