13,变量的作用域
变量的作用域指一个变量起作用的范围,它决定了一个变量何时可以访问,何时不可以访问。Java中任何变量的作用域都从该变量声明之后开始,并且只在该声明的语句块中使用,也就是该变量只能在声明它的那个花括号{中使用。
变量有分为成员变量和局部变量。
成员变量:在类中声明的变量称为成员变量,又叫全局变量。 使用范围:通常在类开始处声明,可在整个类中使用。
局部变量:在方法或块(块由两个花括号)中声明的变量称为局部变量。 使用范围:从声明处开始到它所在方法或块的结束处。 例: {
int x=4;
//这之间只有x可以访问 int y=1;
//x和y可以访问 {
int z =2;
//x,y,z都可以访问 z=5; }
x=4;
//只有x和y可以访问,不可以访问 }
14,Java中的运算符
算术运算符,关系运算符,赋值运算符,逻辑运算符,位运算符,条件运算符 1),算术运算符
|--------|--------|----------------|----------|
| 运算符 | 运算 | 范例 | 结果 |
| + | 正号 | +3 | 3 |
| - | 负号 | b=4;-b; | -4 |
| + | 加 | 5+5 | 10 |
| - | 减 | 6-4 | 2 |
| * | 乘 | 3*3 | 12 |
| / | 除 | 5/5 | 1 |
| % | 取模(取余) | 5%5 | 0 |
| ++ | 自增(前) | a=2;b=++a; | a=3;b=3; |
| ++ | 自增(后) | a=2;b=a++; | a=3;b=2; |
| ------ | 自减(前) | a=2;b=------a; | a=1;b=1; |
| ------ | 自减(后) | a=2;b=a------; | a=1;b=2; |
| + | 字符串相加 | "he"+"llo" | "hello" |
两个整数之间的相除(/)运算结果还是整数,其结果是除的结果的整数部分。 例如:5/2结果为2
要获得实数结果,运算中至少一个浮点数。 例如:5/2.0结果为2.5 2)、关系运算符
|-----|------|-------|-------|
| 运算符 | 运算 | 范例 | 结果 |
| = | 相等于 | 4=3 | false |
| != | 不等于 | 4!=3 | true |
| < | 小于 | 4<3 | false |
| > | 大于 | 4>3 | true |
| <= | 小于等于 | 4<=3 | false |
| >= | 大于等于 | 4>=3 | true |
3)、赋值运算符
|------|-----|----------------|----------|
| 运算符 | 运算 | 范例 | 结果 |
| = | 赋值 | a=3;b=2; | a=3;b=2; |
| += | 加等于 | a=3;b=2;a+=b; | a=5;b=2; |
| ---= | 减等于 | a=3;b=2;a-=b; | a=1;b=2; |
| *= | 乘等于 | a=3;b=2;a*=b; | a=6;b=2; |
| /= | 除等于 | a=3;b=2;a/=b; | a=1;b=2; |
| %= | 模等于 | a=3;b=2;a%=b; | a=1;b=2; |
4)、逻辑运算符
|------|----------|-----------------|-------|
| 运算符 | 运算 | 范例 | 结果 |
| & | AND(与) | false & true | false |
| | | OR(或) | false | true | true |
| | XOR(异或) | false true | true |
| ! | NOT(非) | !true | false |
| && | AND(短路与) | false && true | false |
| || | OR(短路或) | false || true | true |
在使用短路与(&&)时,如果第一个操作数(或表达式)为"假",则不再计算第二个操作数(或表达式),直接返回"假"。
在使用短路或(11)时,如果第一个操作数(或表达式)为"真",则不再计算第二个操作数(或表达式),直接返回"真"。
逻辑运算符只能用于布尔(boolean)类型之间;其结果值为布尔(boolean)类型。 5)、位运算符
|--------|--------|---------------------------------|
| 运算符 | 运算 | 计算规则 |
| & | 按位与 | 只有参加运算的两位都为1,'&'运算的结果才为1,否则为0。 |
| | | 按位或 | 只有参加运算的两位都为0,'|'运算的结果才为0,否则为1。 |
| | 按位异或 | 只有参加运算的两位不同,' '运算的结果才为1,否则为0。 |
| << | 左移位 | 左移指定位数,右边补0。 |
| >> | 右移位 | 右移高位是0,左边补0;高位是1,左边补1。 |
| >>> | 无符号右移位 | 左边补0。 |
| ~ | 按位取反 | 1取反是0,0取反是1。 |
位运算符只可用于整数类型、char类型,不可应用于浮点类型。 6)、条件运算符
条件运算符是一个三目运算符,也是唯一的一个三元运算符,符号为"?:",在程序中能实现简单的判断功能。
语法格式:
表达式1?表达式2:表达式3
其中表示1是一个布尔表达式,如果表达式1结果为true,则执行表达式2,否则执行表达式3.
举例说明:求a,b的最大值。 int a 4,b 6,max;
max=a>b?ab;//将a和b中的较大值赋给max
15、Java中的控制语句
- 、if(表达式)......else.......条件语句;
- 、for(表达式)....... 循环语句;
- 、while(表达式)....... 循环语句;
- 、do.....while(表达式)......循环语句;
- 、switch 多分支选择结构;
- 、continue 结束本次循环语句;
- 、break 终止执行switch或循环语句;
- 、return 从方法返回语句。
- 条件语句
分为四种:
(1)单分支条件语句 语法格式为:if(条件表达式){ 语句或语句块; }
(2)二分支条件语句 语法格式为:if(条件表达式){ 语句或语句块1; }else{ 语句或语句块2 } (3)嵌套条件语句 语法格式为:if(条件表达式){ if(条件表达式){ 语句或语句块1; } }else{ 语句或语句块2; } (4)多分支条件语句 语法格式为: if(条件表达式){ 语句或语句块1; }else if(条件表达式2){ 语句或语句块2; } ....... ....... }else if(条件表达式n){ 语句或语句块n; }else{ 语句0; }
****2.for循环语句 语法格式为:for(变量初始化表达式;循环条件表达式;迭代部分) { 语句或语句块;//循环体 }
for循环有一个特殊的循环,叫 死循环 。表现形式为: boolean isOk = true; 或 for(;;){} for(;isOk;){} for循环可以再嵌套for循环。 注意:在for循环的初始化或迭代部分,可以有多个表达式,表达式之间用逗号隔开。 例如: int count =0; for(int a= 1,b=10 ; a<b ; a++,b--){ count++; } 共循环多少次?
****3.while循环语句 语法格式为:while(循环条件 表达式){ 语句或语句块; }
****4.do-----while循环语句 语法格式为:do{ 语句或语句块; }while(表达式) ; (注意分号绝对不能省略)
****5.switch-----case多分支选择语句 ****语法格式为:****switch(条件表达式){ case 常量1; 语句1; break; ...... case 常量2: 语句2; break; ...... case 常量N: 语句N; break; [default:语句;break;] }
注意:
1.条件表达式的返回值类型必须是以下类型之一:int,byte,char,short. 2.case子句中的值常量N必须是常量,而且所有case子句中的值应是不同的。 3.default子句是可选的。
4.break语句用来在执行完一个case分支后,是程序跳出switch语句,即终止 switch语句的执行。
5.在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break.
****6.continue结束本次循环语句
使用continue语句可以立刻重新开始下一轮的循环,而不再执行循环后面的语句。 7,break终止执行switch和循环语句
使用break语句可以立刻终止循环,开始执行循环后面的语句。 8,return从方法返回语句
return语句主要作用是退出当前方法,将程序控制转移到方法的调用者。 一般格式为: return[值或表达式]; 16、方法调用语句
方法调用语句是执行对象的某个方法。
一个完整的方法调用语句由某个方法调用加上一个分号构成。 调用语法格式为:类对象名称。方法名(参数);
例如:
System out.println("This is a statement call a method!"); 调用对象System out的println方法。