用的书:《Java从入门到精通》
day1(3.1-3.3): 【Java】从头开始的Java复健day1
day2(3.4-3.8): 【Java】从头开始的Java复健day2
第四章 流程控制
4.1 复合语句
复合语句为局部变量创造了一个作用域
在其中被定义的局部变量只能在该复合语句中被使用
public class Java4_1 {
public static void main(String[] args){
int x = 20;
{// 这个花括号里的是复合语句
int y = 40;
System.out.println(y);
int z = 245;
boolean b;
{// 这个花括号也里的是复合语句
b = y > z;
System.out.println(b);
}
}
// System.out.println(y, z, b);
// 此处yzb都不能被使用
String word = "hello java";
System.out.println(word);
}
}
4.2 条件语句
if条件语句
- if条件后如果只有一条语句可以省掉{},但是最好不要
- if条件后如果没有语句可以省掉{}加; 也可以只跟个{}
if...else语句
可以简化为三元运算 详情见代码
if...else if语句 switch多分支语句
详情见代码
public class Java4_2 {
public static void main(String[] args){
boolean b = false;
if (b){}
if (b);
int x = 45;
int y = 12;
if (x > y){
System.out.println("变量x大于变量y");
}
if (x < y){
System.out.println("变量x小于变量y");
}
int math = 95;
int english = 56;
if (math > 60){
System.out.println("数学及格了");
} else {
System.out.println("数学没及格");
}
if (english > 60){
System.out.println("英语及格了");
} else {
System.out.println("英语没及格");
}
int m;
int n = -8;
if (n > 0){
m = n;
}
else {
m = -n;
}
System.out.println(m);
// 可以简化为
m = n > 0?n:-n;
System.out.println(m);
if (math >= 60 && math < 90){
System.out.println("数学:及格");
}
else if (math >= 90) {
System.out.println("数学:优秀");
}
else {
System.out.println("数学:不及格");
}
String user_input = "1";
switch (user_input){
// case后的表达式必须是整型、字符型或者字符串型
case "1":
System.out.println("1.取钱");
// 没有break;就直接执行下一个case中的语句,直到遇到break;
break;
case "2":
System.out.println("2.存钱");
break;
case "end":
break;
// default为可选项
default:
System.out.println("请输入1或者2,退出输入end");
}
}
}
4.3 循环语句
while循环
详情见代码
do...while循环
先执行循环体再判断while
for循环
for(表达式1;表达式2;表达式3){}
- 表达式1:初始化变量
- 表达式2:循环条件
- 表达式2:修改变量操作
foreach语句
主要用在遍历数组比较方便
for(元素变量 x : 遍历对象 obj){
引用了x的java语句;
}
public class Java4_3 {
public static void main(String[] args){
int i = -2;
while (i <= -1){
i++;
System.out.println("run while");
}
do {
i++;
System.out.println("run do while "+ i +" times.");
}while (i <= -3);
// 若变量初始值为0 想循环n次 则写变量<n
// 若变量初始值为1 想循环n次 则写变量<=n
for (int j=1; j<=3; j++){
System.out.println("run for "+ j +" times.");
}
int arr[] = {7, 10, 1};
System.out.println("item in arr is: ");
for (int x : arr){
System.out.println(x);
}
}
}
循环控制
break
跳出当前循环体 但是只能跳出一层循环
想跳出外层循环的话
标签名:循环体{
break 标签名;
}
continue语句
跳过本次循环接下来的语句开始下一次循环
也支持标签
标签名:循环体{
continue 标签名;
}
public class Java4_4 {
public static void main(String[] args){
System.out.println("---------break---------");
for (int i=1; i<=4; i++){
System.out.println("running for1 in "+ i +" times");
for (int j=1; j<=4; j++){
System.out.println("running for2 in "+ j +" times");
if (j >= 1){
// 跳出了for2但是还在进行for1
break;
}
}
}
System.out.println("-------跳出外层循环-------");
// 跳出外层循环
Loop: for (int i=1; i<=4; i++){
System.out.println("running Loop in "+ i +" times");
for (int j=1; j<=4; j++){
System.out.println("running for3 in "+ j +" times");
if (j >= 1){
// 跳出了for1(Loop)
break Loop;
}
}
}
System.out.println("--------continue--------");
for (int i=1; i<=4; i++){
System.out.println("running for in "+ i +" times");
if (i > 1){
// 跳出了for2但是还在进行for1
continue;
}
System.out.println("running after if in the "+ i +"time");
}
System.out.println("-------跳出外层循环-------");
// 跳出外层循环
Loop: for (int i=1; i<=2; i++){
System.out.println("running Loop in "+ i +" times");
for (int j=1; j<=4; j++){
System.out.println("running for in "+ j +" times");
if (j > 1){
// 跳出了里层的for直接到Loop重新循环
continue Loop;
}
System.out.println("running after if in the "+ i +"time");
}
}
}
}
标签:复健,语句,Java,int,day3,System,break,println,out
From: https://www.cnblogs.com/ryukirin/p/17612956.html