循环结构
while
while( 布尔表达式 ) {
// 循环体
}
只要布尔表达式为True,就会一直反复执行循环体。
示例:
public class Test {
public static void main(String args[]) {
int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("
");
}
}
}
do while
do {
// 循环体
}while( 布尔表达式 );
无论表达式是否为True,都先执行一次循环体,然后就跟while一样先判断布尔表达式,如果为True再继续执行循环,为False就退出循环。
示例:
public class Test {
public static void main(String args[]){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("
");
}while( x < 20 );
}
}
for
for(初始化; 布尔表达式; 更新) {
// 循环体
}
- 初始化:定义一个或多个循环控制变量,也可以为空语句。
- 布尔表达式:根据True或False决定是否继续执行循环。
- 更新:更新循环控制变量。
示例:
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("
");
}
}
}
Java也有更方便从数组遍历元素的for循环:
for(声明语句 : 表达式)
{
// 循环体
}
- 声明语句:跟数组元素类型匹配的局部变量。
- 表达式:数组或返回数组的方法。
示例:
public class Test {
public static void main(String args[]){
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("
");
String [] names ={"James", "Larry", "Tom", "Lacy"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
break
跳出整个循环。
示例:
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
break; // x等于30时跳出循环,后面都不打印了
}
System.out.print( x );
System.out.print("
");
}
}
}
continue
跳过当前这次循环,执行下一次循环。
示例:
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue; // 不会打印30,但是会继续打印后面元素
}
System.out.print( x );
System.out.print("
");
}
}
}
break和continue可以从字面意思来区分,break中断循环,continue继续下次循环。
条件语句
if
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
示例:
public class Test {
public static void main(String args[]){
int x = 10;
if( x < 20 ){
System.out.print("这是 if 语句");
}
}
}
if else
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
示例:
public class Test {
public static void main(String args[]){
int x = 30;
if( x < 20 ){
System.out.print("这是 if 语句");
}else{
System.out.print("这是 else 语句");
}
}
}
也可以跟多个if else:
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
示例:
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("这是 else 语句");
}
}
}
嵌套的if else
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}
示例:
public class Test {
public static void main(String args[]){
int x = 30;
int y = 10;
if( x == 30 ){
if( y == 10 ){
System.out.print("X = 30 and Y = 10");
}
}
}
}
switch case
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
- expression:变量或返回变量的方法,变量类型可以是byte、short、int或char,以及String类型。
- value:字符串常量或字面量,且与表达式的变量类型相同。
- break:可选,有break时会中断后续匹配跳出switch语句,没有break时会继续执行后面的case。
- default:当所有case都没有匹配到时,会执行default语句,一般放在最后的位置。
示例:
public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("优秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
break;
case 'F' :
System.out.println("你需要再努力努力");
break;
default :
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}
}
参考资料:
https://www.runoob.com/java/java-loop.html