zoukankan      html  css  js  c++  java
  • 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 : //可选
           //语句
    }
    
  • 相关阅读:
    ASP.NET结合COM组件发送Email
    木马生成技术
    AJAX中使用Session
    对象模型文档对象模型DOM简介
    何遍历数据源中的表名称
    AJAX.NET用户开发指南
    用ASP.NET上传大文件
    .net反编译利器
    Equals和GetHashcode
    Factory Method模式
  • 原文地址:https://www.cnblogs.com/Jennyism/p/javaSE-05.html
Copyright © 2011-2022 走看看