变量
========================================
* 局部变量
定义在方法内或局部代码块中的变量
*) 必须手动初始化,即赋值
int a;//未初始化,未分配内存
a = 2;//第一次赋值就是初始化
*) 作用域,在它定义的代码块内有效
*) 作用域内,不能重复定义变量
void a() {
int i = 10;
if(...) {
int j = 11;
int i = 20;//错
i++;
}
j++;//错
}
* 成员变量
定义在类中的变量
方法
======================================
* 命名的代码块
* 可以接收参数
void f(int x) {
System.out.println(2*x + 3);
}
f(2);
f(5);
* 可以返回值
int f(int x) {
return 2*x + 3;
}
* void 表示空,即不返回值
* return
*) 有返回值的方法中,用来返回值
return x;
*) void 方法中,结束方法,回到调用位置继续执行
return;
流程控制语句
==============================================
if-else if-else
switch-case-default
* 只能判断 byte,short,int,char, enum
java新版本中,也能判断 String
* 当一个 case 成立,从这个 case 向后
无条件执行每个 case,直到结束,
或遇到一个 break,中断执行
witch(a) {
case 875:
....
case 65:
....
case 89842:
....
break;
case 5:
....
case 2346:
....
default: //否则
}
for
for(变量定义; 循环执行条件; 变量修改) {
}
例如:从1打印到10
for(int i=1; i<=10; i++) {
System.out.println(i);
}
while 先判断再执行
while(循环条件) {
}
do-while 先执行再判断,至少执行一次
do {
} while(循环条件);
while vs for
---------------------------------------
*) 完全可以互相替代
*) for
固定循环次数、数据规律的变化
*) while
循环次数不确定、数据变化无规律
循环嵌套
------------------------------------------
for(int i=1;i<=3;i++) {
for(int j=1;j<=2;j++) {
System.out.println(i+", "+j);
}
}
1, 1
1, 2
2, 1
2, 2
3, 1
3, 2
break
--------------------------------------
中断循环
跳出循环
continue
--------------------------------------
继续执行循环的下一轮
循环命名
--------------------------------------
嵌套循环中,
如果要 break 或 continue 外层循环
可以为外层循环命名
outer:
for(...) {
for(...) {
continue outer;
break outer
}
}