杰瑞教育3

输入年月日,判断是该年的第几天。

//方法一

Scanner in = new Scanner(System.in);

System.out.println("请输入年份:");

int year=in.nextInt();

System.out.println("请输入月份:");

int mon=in.nextInt();

System.out.println("请输入日期:");

int day=in.nextInt();

int sum=0;

//假设2月有28天

   switch (mon) {

      case 1:   

         sum = day;

         break;

      case 2:

         sum=31+day;

         break;

      case 3:

         sum=31+28+day;

         break;

      case 4:

         sum=31+28+31+day;

         break;

      case 5:

         sum=31+28+31+30+day;

         break;

      case 6:

         sum=31+28+31+30+31+day;

         break;

      case 7:

         sum=31+28+31+30+31+30+day;

         break;

      case 8:

         sum=31+28+31+30+31+30+31+day;

         break;

      case 9:

         sum=31+28+31+30+31+30+31+30+day;

         break;

      case 10:

         sum=31+28+31+30+31+30+31+30+31+day;

         break;

      case 11:

         sum=31+28+31+30+31+30+31+30+31+30+day;

         break;

      case 12:

         sum=31+28+31+30+31+30+31+30+31+30+31+day;

         break;

      default:

         System.out.println("您输入有误!");

         break;

      }

//switch结构执行完后可以得到平年的天数

//下面判断是否是闰年,并且月份大于2月。如果是,天数加1,如果不是,保留原天数。

      if ((year%4==0&&year%100!=0||year%400==0)&&mon>2){

//       if(mon>2){

//          sum++;

//       }

         sum+=1;

      } else {

      }

      System.out.println(“今天是”+year+”年中的第”+sum+”天”);

//方法二

Scanner in = new Scanner(System.in);

System.out.println("请输入年份:");

int year=in.nextInt();

System.out.println("请输入月份:");

int mon=in.nextInt();

System.out.println("请输入日期:");

int day=in.nextInt();

int i=0;

switch (mon) {
case 12:
   i = i + 30;
case 11:
   i = i + 31;
case 10:
   i = i + 30;
case 9:
   i = i + 31;
case 8:
   i = i + 31;
case 7:
   i = i + 30;
case 6:
   i = i + 31;
case 5:
   i = i + 30;
case 4:
   i = i + 31;
case 3:
   i = i + 28;
case 2:
   i = 31 + i;
case 1:
   i = i + day;
   break;
default:
   break;
}

循环结构

【while循环】

1.格式:while(循环条件){

     循环操作(循环中被重复执行的操作)

int i=1;            //声明循环变量

while(i<=100){       // 判断循环条件

System.out.println(“杰瑞教育”);   //执行循环体操作

 i++;     //更新循环变量

}

以上不为死循环,因为在system输出后加一句i++;执行100次。

2.特点:先判断,再执行。

3.while后面()中的表达式,计算后的结果必须为boolean类型。

4.循环变量一定要修改。

所有循环的流程:

  1. 声明循环变量
  2. 判断循环条件
  3. 执行循环体操作
  4. 更新循环变量
  5. 不断执行2.3.4步,直到循环条件不成立为止。

【do-while循环】

  1. 格式:do{

循环操作(先执行一遍循环操作)

}while(循环条件);(分号不可少)

  1. 特点:先执行,再判断。无论初始条件是否成立,do-while循环至少执行一次。

//找出所有的水仙花数 abc=a*a*a+b*b*b+c*c*c第一个水仙花数是153  例如:153=1*1*1+5*5*5+3*3*3.水仙花数是三位数.

       int i=100;

       int a;

       int b;

       int c;

       while(i<1000){

           a=i%10;

           b=(i/10)%10;

           c=i/100;

           int sum=0;

           sum=a*a*a+b*b*b+c*c*c;

           if(i==sum){

              System.out.println("水仙花数为:"+i);

           }

           i++;

      }

//任意输入一个整数,将它倒序输出。

       Scanner in = new Scanner(System.in);

       System.out.println("请输入一个整数:");

       int num = in.nextInt();

       int j= 0;

       int m=1;

       while ((num/m)!=0) {

           System.out.print((num/m)%10);

           j++;

           m*=10;

       }  

      System.out.println(" 您输入的数字共有"+j+"位" );

【for循环】

  1. 格式:

for(初始化参数;条件判断;更新循环变量){

   循环操作;

}

例如:

   for(int i=0;i<100;i++){

      System.out.println(“杰瑞教育”);

}

For循环执行的顺序是:初始化参数,条件判断,循环操作,更新循环变量。

  1. 特点:先判断,再执行。
  2. for循环中括号里的三个表达式可以依情况省略(但一般情况下不省略),但两个分号不能省略,缺一不可。
  3. 4. for(int i=0,j=0;i<100&&j<50;i++,j++){

      System.out.println(“杰瑞教育”);

}

for循环中每个表达式均可拥有多个部分,表达式1和表达式3用逗号分隔,表达式2用&&或||连接。

//斐波那契数列

       int num1=1;

       int num2=1;

       System.out.print(num1+" "+num2+" ");

       int num;

       for(int i=3;i<=20;i++){

           num=num1+num2;

           num1=num2;

           num2=num;

           System.out.print(num+" ");

           if(i%5==0){

              System.out.println();

           }

      }

【break】

break的作用:跳出本层循环,继续执行循环后面的语句。

注意:break只能往外跳一层,当循环套循环,或循环套switch时,只能跳出一层。

例如:for(int i=1;i<20;i++){

        if(i%3==0){

           break;

         }

System.out.println(i);

}

System.out.println(“循环结束!”);

输出结果为:1

            2

            循环结束

【continue】

continue的作用:跳过本次循环剩余的代码,直接执行下一次循环。

注意:使用continue时,一定要注意更新循环变量的语句位置必须在continue上方!!!

【return】

return的作用:终止当前方法。(不但循环停止,循环后面的语句也不再执行。)

作用范围:continue<break<return.

//计算出1~100之间所有不能被3整除的整数的和

 //当和大于(或等于)2000终止,求和以及对应的数字

       int sum = 0;

       int i;

       for ( i = 1; i <= 100; i++) {

           if ((i % 3) != 0) {

              sum += i;           

           }

           if (sum>=2000) {

              break;

           }

          

       }      System.out.println("和为:" + sum + " 对应数字为:" + i);

//编写一个程序,最多接收10个数字,并求出其中所有正数的和。用户可通过输入999终止程序,统计用户输入的正数个数,并显示这些正数的和。

       Scanner in = new Scanner(System.in);

       int num;

       int i=0;

       int sum=0;

       while(i<10){

           System.out.println("请输入一个数:");

           num = in.nextInt();

           if(num==999){

              System.out.println("正数个数为:"+i+"和为:"+sum);

              break;

           }

           if(num>0){       

              sum+=num;

           }

           i++;

       }

      System.out.println("正数个数为:"+i+"和为:"+sum);

原文地址:https://www.cnblogs.com/rongqingye/p/5716992.html