一、前言
博主学习Java有段时间了,年后就要步入职业生涯,想着对这段时间学习到的知识点做些总结,梳理下各个知识点,以此献给喜欢Java的小伙伴。
二、流程控制语句
最基础的用法,博主在这里就不一一演示了,这里博主想分享一些自己踩过的坑,与大家共勉
1.条件语句
if-else
switch
public static void main(String[] args) {
boolean state=false;
int i=2;
if((++i)>2 && (state=true))
i++;
if((++i)>4 || (state=false))
i++;
System.out.println(i);
}
输出结果:6
package test;
public class A {
public static void main(String[] args) {
boolean flag = true;
if (flag = false) {
System.out.println("hello");
} else {
System.out.println("ni hao");
}}}
输出结果: ni hao
public static void main(String[] args) {
int i=1;
switch (i) {
case 0:
i=i+1;
break;
case 1:
i=i+1;
case 2:
i=i+1;
break;
default:
break;
}
System.out.println(i);
}
输出结果: 3
总结:对于if语句,千万要看清楚括号里面是赋值运算还是逻辑判断,对于switch语句,看清楚语句后面是否跟有break,没有的话,它会继续向下执行。
2.循环语句
while
do-while
for
冒泡排序:
public static void main(String[] args) {
int[] arr= {12,23,99,52,64,89,3};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]) {
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
System.out.println(Arrays.toString(arr));
}
for(;;)这样的格式其实是正确的,只不过是无限循环,你需要手动跳出。
总结:while与do while最明显的差别就是do while是先执行后判断,至于用哪个,你要根据具体需求来判断。
3.跳转语句
break
continue
break:跳出当前循环语句
continue:终止本次循环,继续下次循环
博主想在这里分享一个跳出到指定循环位置到方法,就是用标签法:
public static void main(String[] args) {
int a=0;
loop:
for (int i = 0; i <10; i++) {
for (int j = 0; j < 10; j++) {
a++;
break loop;
}
}
System.out.println(a);
}
结果: 1
public static void main(String[] args) {
int a=0;
loop:
for (int i = 0; i <10; i++) {
for (int j = 0; j < 10; j++) {
a++;
continue loop;
}
}
System.out.println(a);
}
输出结果: 10
4.其它语句
return
目前博主用到这个关键字的作用只有两个:
1.用户返回代码块执行后的结果
2.用于流程控制,结束方法(其实这条跟第一条有点类似,只不过博主喜欢按功能将它划分)
用于返回程序执行结果:
public int getResult() {
int i=1;
return i;
}
返回结果:1
用于结束方法:
public static void getResult() {
int a=0;
while(true) {
a++;
if(a==10) {
System.out.println(a);
return;
}
}
}
输出结果:10