Java基础知识复习–day05

本文深入讲解Java编程中的关键技巧,包括求解数学问题如最大公约数与最小公倍数、循环结构的应用、数组操作及初始化、质数检测、时间获取等,同时探讨了Eclipse的高效设置与快捷键运用。

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

1.设计代码,要求输入两个数,获得最大公约数和最小公倍数
public static void main(String[] args) {
  Scanner scan=new Scanner(System.in);
  System.out.println("请输入第一个数:");
  int num1=scan.nextInt();
  System.out.println("请输入第二个数:");
  int num2=scan.nextInt();
  int min=(num1<=num2?num1:num2);
  for(int i=min;i>=1;i--) {
   if(num2%i==0&&num1%i==0) {
    System.out.println("最大公约数是:"+i);
    break;
   }
  }
  int max=(num1>=num2)?num1:num2;
  for(int i=max;i<=num1*num2;i++)
  {
   if(i%num1==0&&i%num2==0) {
    System.out.println("最小公倍数:"+i);
    break;
   }
  }
 }

方法二

class Num {
    private Integer maxTemp;
    private Integer minTemp;

    public Integer getMaxTemp() {
        return maxTemp;
    }

    public void setMaxTemp(Integer maxTemp) {
        this.maxTemp = maxTemp;
    }

    public Integer getMinTemp() {
        return minTemp;
    }

    public void setMinTemp(Integer minTemp) {
        this.minTemp = minTemp;
    }

    @Override
    public String toString() {
        return "Num{" +
                "maxTemp=" + maxTemp +
                ", minTemp=" + minTemp +
                '}';
    }
}

public class Test {
    public static void main(String[] args) {
        Test test=new Test();
        System.out.println(test.getGCD(12,25));
        System.out.println(test.getGCD(11,121));
        System.out.println(test.getGCD(145,144));

        System.out.println(test.getLCM(11,121,test.getGCD(11,121)));
    }

    public Integer getLCM(Integer num1, Integer num2,Integer gcd){
        if(num2%num1==0){
            return num2;
        }
        return num1*num2/gcd;
    }

    public Integer getGCD(Integer num1, Integer num2) {
        Num num=setNum(num1,num2);
        while (num.getMaxTemp()%num.getMinTemp()!=0){
            num1=num.getMaxTemp()-num.getMinTemp();
            num=setNum(num1,num.getMinTemp());
        }
        return num.getMinTemp();
    }

    public Num setNum(Integer num1, Integer num2) {
        Num num = new Num();
        if (num1 > num2) {
            num.setMaxTemp(num1);
            num.setMinTemp(num2);
        } else {
            num.setMaxTemp(num2);
            num.setMinTemp(num1);
        }
        return num;
    }
}
2.while的循环结构和dowhile的循环结构

while(){
}
do{
}
while();

3.记录正负数的个数
public static void main(String[] args) {
  Scanner scan=new Scanner(System.in);
  System.out.println("请输入一个数,如果结束,请输入0:");
  int num=scan.nextInt();
  int positiveNumber=0;
  int negativeNumber=0;
  while(num!=0)
  {
   if(num>0)
    positiveNumber++;
   else
    negativeNumber++;
   System.out.println("请输入下一个数,如果结束,请输入0:");
   num=scan.nextInt();
  } System.out.println("输入结束\n您一共输入了"+positiveNumber+"个正整数和"+negativeNumber+"个负整数");
 }
4.9✖9乘法表
public static void main(String[] args) {
  for(int i=1;i<=9;i++) {
   for(int j=1;j<=i;j++)
    System.out.print(i+"*"+j+"="+i*j+" ");
   System.out.println();
  }
 }
5.输出100以内的质数
public static void main(String[] args) {
  boolean isFlag=true;
  for(int i=2;i<=100;i++) {
   for(int j=2;j<=Math.sqrt(i);j++){
    if(i%j==0){
     isFlag=false;
     break;
    }
   }
   if(isFlag) {
    System.out.println(i);
   }
   isFlag=true;
  }  
 }
6.如何通过System获取当时间?

long start=System.currentTimeMillis();

7.循环结构是如何最后退出循环的,有哪些不同的情况说明?

①循环条件返回false
②在循环体内,一旦执行到break,跳出循环

8.一个数如果恰好等于它的因子之和,这个数就称为"完数"。编写找出1000以内的所有完数。
public static void main(String[] args) {
  for(int i=1;i<=1000;i++) {
   int factor=0;
   for(int j=1;j<=i/2;j++) {
    if(i%j==0)
     factor+=j;
   }
   if(i==factor) {
    System.out.println(i);
   }
  }
 }
9.eclipse使用时候需要做的设置

1.设置字符集:Window->preference
2.通过Window->preference->codeTemp设置文档注释
3.设置创建默认选项:Window->Perspective->Customize Perspective->Menu Visibility

10.快捷键的含义

1.ALT/ :补全
2.SysoALT/ :补全(System.out.println()😉
3.Ctrl+点击:查看源代码
4.Ctrl+O:查询
5.Ctrl+Shift+o:导入包
6.Shift+回车:下一行
7.Ctrl+Shift+回车:上面空出一行

11.叙述数组的定义是什么?

数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

12.创建数组是否为连续的?数组长度确定之后是否可以修改?

1.创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
2.数组的长度一旦确定,就不能修改。

13.一维数组是如何进行静态初始化和动态初始化的

声明:int[] ids;//int[]格式也可以
静态初始化:ids=new int[]{1001,1002,1003,1004};//基本类型可以省略new int[]
动态初始化:String[] names=new String[5];

14.数组的默认初始值是多少?

整型:0
浮点型:0.0
char型:0或’\u000’
boolean:false
引用数据类型:null

15.回忆内存的简化结构

在这里插入图片描述

16.一维数组创建过程

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值