JAVA学习记录(第四周)20211227-20220102

207 阅读1分钟

2021年12月27日

求最大公约数和最小公倍数

import java.util.Scanner;
class maxDivisorAndminMultiple
{
	public static void main(String[] args)
	{
		Scanner input = new Scanner(System.in);
		System.out.println("输入第一个数:");
		int m = input.nextInt();

		System.out.println("输入第二个数:");
		int n = input.nextInt();
		//最大公约数
		int min = (n >= m)? m : n;
		for (int i = min; i >= 1 ; i--)//从最大的公约数往回减,不然无法体现break的停止。
		{
			if(m % i == 0 && n % i == 0)
			{
				System.out.println("最大公约数是:" + i);
				break;
			}
		}
		//最小公倍数
		int max = (n >= m)? n : m;
		for (int j = max; j <= m * n; j++ )//其实可以使用i,因为for循环是独立的。
		{
			if(j % m == 0 && j % n == 0)
			{
				System.out.println("最小公倍数是:" + j);
				break;
			}
		}
	}
}

2021年12月28日

打印1-100之间所有7的倍数的整数的个数及总和(体会设置计数器的思想)

import java.util.Scanner;
class theMultipleOfSeven
{
	public static void main(String[] args)
	{
		int sum = 0;
		int count = 0;
		for(int i = 1; i <= 100; i++)//把i <= 100写成1 <= 100,进入无限加的状态。
		{
			if(i % 7 == 0)
			{
				System.out.println(i);
				sum += i;
				++count;//这里count++和++count是一样的,一般都写成count++。
			}
		}
		System.out.println("sum = " + sum);
		System.out.println("count = " + count);
	}
}

2021年12月29日

循环结构四要素①初始化条件、②循环条件、③循环体、④迭代条件

  • while循环的结构
  • while(②)
  • {
    • ③;
    • ④;
  • }
  • 执行过程①-②-③-④-②-③-④-...-②
  • 说明:
  1. 写while循环千万不要丢了迭代条件。一旦丢了,就可能导致死循环!
  2. 我们写程序,要避免出现死循环。
  3. for循环和while循环是可以相互转换的!
  4. 区别:for循环和while循环的初始化条件部分的作用范围不同。for是初始化只在作用域内有效,while初始化全局有效。
  5. 算法:有限性
  • do-while循环的结构
  • do{
    • ③;
    • ④;
  • }while(②);
  • 执行过程①-③-④-②-③-④-...-②
  • 说明:
  1. do-while循环至少会执行一次循环体!
  2. 开发中,使用for和while更多一些。较少使用do-while
class differenceDowhileAndWhile
{
	public static void main(String[] args)
	{
		int i = 3;//如果初始化为11,则整个程序不执行。
		while (i <= 10)
		{
			
			System.out.println("while " + i);
			i++;//i++写在打印前面,输出2-11
		}
		int j = 3;//如果初始化为11,还会输出一次11,如果初始化满足条件于while无区别。
		do
		{
			System.out.println("do-while " + j);
			j++;
		}
		while (j <= 10);
	}
}

2021年12月30日

遍历100以内的偶数,并降偶数相加、记次数。

class evenNumberTest
{
	public static void main(String[] args)
	{
		int num = 1;
		int sum = 0;
		int count = 0;
		while(num <= 100)
		{
			if (num % 2 == 0)
			{
				System.out.println(num);
				count++;
				sum += num;
			}
			System.out.println("everyNumber: " + num);//打印每一个数
			num++;
			System.out.println();//打印换行。

		}
		System.out.println("sum = " + sum);
		System.out.println("count = " + count);
	}
}

2021年12月31日

从键盘读入个数不确定的整数,并判断读入的整数和负数的个数,输入为0时结束程序。

说明:

  1. 不在循环条件部分循环限制次数的结构:for(;;) 或 while(true)
  2. 结束循环有几种方式?
  3. 方式一:循环条件部分返回false
  4. 方式二:在循环体中,执行break
import java.util.Scanner;
class whileTrue
{
	public static void main(String[] args)
	{
		int positivenumber = 0;//不能写入循环体。
		int negativenumber = 0;//不能写入循环体。
		while (true)
		{


			Scanner input = new Scanner(System.in);
			System.out.println("输入数字:");
			int num = input.nextInt();
			if(num > 0)
			{
				positivenumber++;
			}
			else if(num < 0)
			{
				negativenumber++;
			}
			else//不能写=0,是赋值语句。
			{
				System.out.println("The end.");
				break;
			}
		}
		System.out.println("the positivenumber is: " + positivenumber);
		System.out.println("the negativenumber is: " + negativenumber);
	}
}