循环语句

刚开始用运算符时,最容易出错的情况

1.例如 A=B&&C&&D ;

如果B为flase,则C,D则不执行,A的值直接为flase;
如果B为true,C为flase,则D就不执行;

2.例如 A=B||C||D;

如果B的值为true,C,D则不执行,A的值为true;
如果B为flase,C为true,则D就不执行;

循环语句

1.switch语句

格式:
switch(表达式){
case 取值1: 执行语句; break;
case 取值2: 执行语句; break;
……
default: 执行语句; break;
}
特点:

  1. switch(n)中 n不可以是 long类型,float类型,double类型;
  2. case之间与default没有顺序。先判断所有的case,没有匹配的case执行default;
  3. 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束;
  4. switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。
    备注:String 在jdk1.7之后才可以使用
1.for语句

用于数组的foreach与for用法的差别:

        int[] array = {1,2,3,4,5};
        for(int i = 0;i < array.length;i++) {
            System.out.println(array[i]);
        }
        
        for(int a : array) {
            System.out.println(a);
        }

上面写的和下面的foreach语法写的结果是一样的;
foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。

四个例题

1、求斐波那契数列的前40项的和???

 public static int fibonac(int n) {
        if(n==1||n==2) {     //第一项和第二项不满足公式,所以要单独写,并且结果为1;
            return 1;
        } else{
            return fibonac(n-1)+fibonac(n-2); //从第三项开始满足公式f(n)=f(n-1)+f(n-2);
        }
    }

2.用for循环产生20个随机数(10~20);

 public static void ranNumber(int a,int b) {
        double m=0;
        for(int i=0;i<20;i++) {  //用一个循环20次,产生20个数
            m=Math.random()*(b-a)+a; //math.random产生[0,1)的随机数 *(b-a)+a,即产生[a,b)的随机数;
            System.out.println(m);
        }
    }

3.输入一个数,求他是几位数,并顺序输出,逆序输出

public static void length(int n) {
        int count = 0,b=0,c=n;
        double m=0;
        System.out.print("逆序输出为:");
        while (n % 10 > 0 || n / 10 != 0) {  //n%10>0则保证循环从每次能去掉一位数,最后统计循环次数即为数字位数
            count++;                           //而 n/10!=0 则保证输入的数字如果为10的倍数,则能正常循环下去
            System.out.print(n % 10 + "  ");  //  每次循环的n%10的值,即为从最低位到最高位的数字
            n = n / 10;                         //减少一位继续循环;
        }
        System.out.println();
        System.out.print("顺序输出为:");
        for(int i=count;i>0;i--) {  //上面已判断出数字位数,所以循环执行位数次;
            m= Math.pow(10,i-1);     // 执行结果为10的(i-1)次方,且为double值
            int a=(int )m;          //将double值强转成int值;
            b=c/a;                      //循环开始依次从最高位开始取值;
            System.out.print(b+"  ");
            c=c-b*a;                  //去掉最高位,然后继续循环;
        }
            System.out.println();
            System.out.println("总个数为:"+count);
    }

4.求一个数字的二进制数有几个1;

public static int binary(int n) {
        int count=0;
        while(n!=0){    //循环条件为:int n的值不为0
            if(n%2==1) {   //因为二进制数模2的余数及就为他右移一位时”掉的“那个数(只有0或1),
                count++;   //如果余数为1,则这个数中1的个数+1;
            }
            n=n/2;          //右移一位操作(因为上面模二已经把最后一位判断了,所以右移一位继续执行循环)
        }
         return count;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值