Java入门(五)之循环与判断

Java入门之循环与判断

1. 循环结构

1. while语句

while(布尔表达式){
	//循环内容
}
//例子
while(true){
	System.out.println("无限循环");
}

int i = 100;
while(i){
	i--;
	System.out.println("还有"+i+"次循环就结束啦。");
}

2. do...while语句(不常用)

while语句如果不满足条件,就不会执行。但是do...while语句即使不满足条件,也会执行一次。

do {
       //代码语句
    System.out.println("就算是错的我也能运行鸭");
}while(false);

3. for循环语句

/*
	1. 初始值是指初始化的值,我们可以在for语句内定义,也可以在for语句外先定义好这个值。
	但是我们必须在此处赋予它一个初始化的值,例如从0开始。例如:int i = 1;或i = 1;
	2. 布尔表达式,当结果为false时,循环结束。
	3. 更新,每次循环后,可以做一个更新的动作。比如i++,即每次循环后i加一。
*/
for(初始值;布尔表达式;更新){
	//代码语句
}
/*
	实例
*/
 for(int x = 10; x < 20; x = x+1) {
     System.out.println("我是第" + x + "个数。");
 }

4. 增强的for循环

/*
	Java5 引入了一种主要用于数组的增强型 for 循环。
	Java 增强 for 循环语法格式如下:
*/
for(声明语句 : 表达式)
{
   //代码句子
}
/*
	那么,什么情况下可以用这样的for循环呢
	当你要循环一个数组对象的时候,就可以使用了。
*/
int [] nums = {10, 20, 30, 40, 50};
for(int i:nums){
     System.out.print( x );
     System.out.print(",");
}

2. 条件语句

1. if语句

/*
	我们可以使用if语句来判断条件
*/
if(布尔表达式){
    //代码句子
}
/*
	实例
*/
int x = 100;
if(x%2 == 0){
    System.out.println("x是偶数。");
}

2. if...else

/*
	if语句后可以跟else语句,当条件为false时,执行else语句
*/
if(布尔表达式){
    //代码句子
}else{
    //代码
}
/*
	实例
*/
int x = 100;
if(x%2 == 0){
    System.out.println("x是偶数。");
}else{
    System.out.println("x是奇数。");
}

3. if...else if...else

/*
	if语句可以进行多重嵌套
*/
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}
/*
	实例
*/
int score = 66;
if(score >= 90){
    System.out.println("优秀");
}else if(score >= 80){
   	System.out.println("良好");
}else if(score >= 60){
 	System.out.println("合格");
}else {
   System.out.println("奥力给");
}

4. 嵌套的if...else

/*
	我们可以使用套娃式的写if语句
*/
if(布尔表达式){
    //代码
    if(布尔表达式){
        //代码
    }
    //代码
}
/*
	嵌套的if语句即我们可以在if语句内再加上新的if语句,这只是一个用法,而不是新的语句。
	不仅可以在if语句中加入if语句,也能在else语句中加入
	不仅可以嵌套if语句,也可以嵌套if...else语句
	以上是废话,无聊可以看看
	实例
	|
	v
*/
int num = 6
if(num % 2 == 0){
    if(num > 0){
        System.out.println("这是一个大于 0 的偶数");
    }else{
        System.out.println("这是一个不大于 0 的偶数");
    }
}else{
    if(num > 0){
        System.out.println("这是一个大于 0 的奇数");
    }else{
        System.out.println("这是一个不大于 0 的奇数");
    }
}

3. break和continue

我们可以使用这两个语句控制循环。
大多时候,我们会和条件语句配合使用。

1. break

当出现break语句时,会跳出循环,不会再进行之后的循环。

String [] strs = {"张三","李四","王大锤","无名氏"}
for(String str:strs){
    if("王大锤".equals(str)){
        System.out.println("找到王大锤");
        break;
    }
    System.out.println("还没找到王大锤");
}
/*
	当找到王大锤后,之后的循环已经没有意义,使用break跳出循环。
*/

2. continue

当出现continue语句时,会中止当前循环,回到开头进行下一个循环。

int [] nums = {66,70,88,96,56};
int sum = 0;
for(int num : nums){
    if(num >= 60){
        sum += 1;
        continue;
    }
    System.out.println("检测到不合格分数");
}
System.out.println("有"+sum+"人及格");
/*
	如上面这样写,如果合格,就不会继续下面的代码,如果不合格,才会打印出提示。
*/

练习:

编写一个颜值判断系统

  1. 当颜值为0-60为丑比,当颜值为60-80为中等,当颜值80-90为清秀,当颜值90-100为盛世美颜,当颜值大于100为颜值爆表。
  2. 批量检测颜值,将多个颜值存入int数组,循环检测每个分数段有几个人并输出。同时,当检测到坏数据(小于0时),打印出呀, 你丑到我了,并将直接中止本次循环不计入统计。当检测到颜值爆表时,打印出糟糕,你美爆了我的小程序,并跳出循环。

拓展 switch语句

  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
  • 实际开发中,我很少用到这个语句,所以作为拓展放在这里。这个语句可以在条件很多时更有条理的写出判断。例如1-7对应周几,分数段判断等情况。
switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
原文地址:https://www.cnblogs.com/Jennyism/p/javaSE-05.html