判断是否是闰年

本文通过三个具体的Java程序实例,详细讲解了如何判断闰年、解决经典的鸡兔同笼问题变种及实现数值累加的算法。同时介绍了基本的DOS命令、数据类型转换规则、运算符使用技巧、位运算符的概念及三目运算符与switch语句的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.给定一个年份,判断是否是闰年

package li.xiao.feng2;

import java.util.*;




public class leap_year 
{


public static void main(String[] args) 
{
int year;
Scanner input=new Scanner(System.in);
System.out.print("please enter the year  :");
year=input.nextInt();
if(year%400==0||(year%4==0&&year%100!=0))
{
       System.out.println(year+" is "+"leap year!");
}
else
System.out.println(year+" is  not "+"leap year!");



}


}




2.公鸡5元一只,母鸡3元一只,3只小鸡1元,
  如果用100元钱,买100只鸡,不佘不欠,可以买公鸡,母鸡,小鸡,各多少只。


package li.xiao.feng2;
import java.util.Scanner;
public class for_for_for {


public static void main(String[] args) {

     int   i,j,k,sum;
     Scanner input=new Scanner(System.in);
  for(i=0;i<=20;i++)
  for(j=0;j<=33;j++)
  for(k=0;k<=300;k++)
  {

    sum=0;
  if((i*5+j*3+k*1==100)&&(k%3==0))

{

          sum=i+j+k;

System.out.print("可以买的鸡的总数为:"+sum);
          System.out.println("    买公鸡,母鸡,小鸡的数量各为:"+i+", "+j+", "+k+"只");

}
 
  }
  input.close();
}


}




3.求如果指定基数为2,次数为5, 则求2+22+222+2222+22222的值;


第1项:2*0+2
第2项:2*10+2
第3项: 前一项*10+2;


package li.xiao.feng2;
import java.util.*;
public class basic_number
{


public static void main(String[] args) 
{
int basic,num,i,j,flag=1,sum=0,item;
Scanner input=new Scanner(System.in);

while(flag==1)
{
sum=0;
System.out.print("请输入基数和次数:");
basic=input.nextInt();
num=input.nextInt();
      while(num<=0||basic<=0)
  {
   System.out.print(" 次数或基数输入错误,请重新输入");
   basic=input.nextInt();
   num=input.nextInt();
   }
      item=0;
      for(i=1;i<=num;i++)
      {   
            item=item*10+basic;
       sum=sum+item;
             
      }
for(i=1;i<=num;i++)
{
for(j=0;j<i;j++)
{
     System.out.print(basic);
      }
if(i!=num)
     System.out.print(" + ");
    }
 System.out.println("  = "+sum);
 System.out.println("继续请按1,退出请按0");
   flag=input.nextInt();
}
input.close();
}
}

总结11-25和26号两天学习的知识和技术

一:DOS命令:
1.切换目录:
  cd /d 目标目录


2.编译java源代码
  javac -d . java源文件名称


3.运行.class文件(字节码文件)
  java 包.class类名


二:数据类型的转换:
1.自动转型:小范围数据转换成大范围的数据
      大范围数据类型  变量名=小范围数据类型的值;
      eg:  long x=5;


2.强制转型:大范围数据类型转换成小范围数据类型
      小范围数据类型  变量名=(小范围数据类型)大范围数据类型的值;
      eg:  int a=(int)5L;
3.Java语言的整型常量默认为int。

4.Java浮点型常量默认为double型,如要声明一个变量为float型,则需在数字后面加f或F

5.boolean 类型不能转换成任何其它数据类型

三:易混淆运算符:
    1. 自增运算符:++ 
        易混淆的点:a++ 先保存旧值,再自增,用旧值参加运算
                    ++a 直接自增,用自增后的值参加运算


    2. 短路与&& 如果前面的判断结果为false,则后面的判断不再执行。
      非短路与&  每一个判断逻辑都要执行


    3. 短路或|| 如果前面的判断结果为true,则后面的判断不再执行。
      非短路或 |  每一个判断逻辑都要执行


四:位运算符:
    在计算机中数字的运算都是按照“补码”的形式运算的。
    正数的原码、反码、补码是相同的;
    负数的反码是其原码的除了符号位以外的二进制位取反。
    负数的补码是反码加1。
    符号位是最左边的那个二进制位,0代表正数,1代表负数。


    按位与:& 两个二进制位都为1,结果才为1;其余情况结果为0;
    按位或:|  只要有一个二进制位为1,结果就为1;两个二进制位都为0,则结果为0;
    按位异或:^  相同的两个二进制位结果为0,不同的二进制位结果为1。
    按位取反:~ 0变1,1变0.
    右移: >> 右移后,左边的二进制位用符号位来补,正数补0,负数补1
    左移: << 左移后,右边的二进制位用0来补。
    无符号右移:>>> 右移后,左边的二进制位用0来补。


五:三目运算符:
    结果返回boolean值的表达式?"结果为true时内容":"结果为false时内容"

六:  switch语句有关规则
        

      表达式的返回值必须是下述几种类型之一:
int, byte, char, short,String,enum;
     case子句中的取值必须是常量,且所有case子句中的取值应是不同的;
     default子句是可选的;
    break语句用来在执行完一个case分支后使程序跳出switch语句块;





<think>首先,用户的问题是:“java判断是否是闰年”,意思是“Java判断是否是闰年”。我需要用中文回答问题。 我的回答应该包括如何用Java实现判断闰年的逻辑。闰年的规则是: - 年份能被4整除但不能被100整除,或者能被400整除。 我将提供一个Java方法的示例代码,解释其逻辑。 然后,在回答结束后,我必须根据用户的问题和我的回答提出3-5个相关问题。这些问题必须以“§§相关问题§§”开头,并且不能换行分散,必须在一行中输出这个标题。 相关问题的格式: - 第一行必须是“§§相关问题§§”,完整输出。 - 然后列出3-5个问题,每个问题前用数字和点号(如“1. ”)表示。 示例中,代码是Python的,但用户问的是Java,所以我要用Java写代码。 现在,构建回答: 1. **解释闰年规则**:用中文简要说明。 2. **提供Java代码**:写一个简单的Java方法,比如`isLeapYear(int year)`,返回布尔值。 3. **解释代码**:简要解释代码逻辑。 之后,输出相关问题。 相关问题应该基于用户的问题和我的回答。可能的想法: - 用户可能想知道闰年判断的细节。 - 或者Java编程的其他方面。 例如: 1. 如何在Java中处理年份输入? 2. 闰年规则的历史或原因? 3. 其他编程语言如何实现? 4. Java中日期处理相关的类(如`java.time.Year`)? 5. 如何处理负年份或无效输入? 确保3-5个问题。 最后,确保所有输出用中文。 完整回答结构: - 开头:解释和代码。 - 结尾:§§相关问题§§ 1. ... 2. ... 3. ... 现在,写Java代码: ```java public static boolean isLeapYear(int year) { if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) { return true; } else { return false; } } else { return true; } } else { return false; } } ``` 或者更简洁的: ```java public static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } ``` 我使用简洁版本,因为它更清晰。 在回答中,用代码块包裹代码,就像示例中那样。 回答内容: - 首先,用中文解释:闰年判断规则是... - 然后提供Java代码。 - 简要解释。 结束部分: - §§相关问题§§ - 然后1. 2. 3. ... 确保“§§相关问题§§”在单独一行,且不换行。</think>在Java中,判断一个年份是否是闰年遵循以下规则:年份能被4整除但不能被100整除,或者能被400整除。以下是实现该逻辑的Java代码示例: ```java public class LeapYearChecker { public static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } public static void main(String[] args) { int year = 2024; // 示例年份 if (isLeapYear(year)) { System.out.println(year + " 是闰年。"); } else { System.out.println(year + " 不是闰年。"); } } } ``` **代码解释**: - `isLeapYear` 方法接收一个整数年份作为参数。 - 使用逻辑表达式 `(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)` 直接判断闰年条件。 - `main` 方法演示了如何调用该方法并输出结果(例如,2024年是闰年)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值