天天看點

【第03天】給定整數 a 和 b,a 是否能被 b 整除 | if 判斷與運算符運用

文章目錄

  • ​​序、專欄前言​​
  • ​​序、本章前言​​
  • ​​一、if語句​​
  • ​​二、【例題1】​​
  • ​​1、題目描述​​
  • ​​2、解題思路​​
  • ​​3、模闆代碼​​
  • ​​4、代碼解析​​
  • ​​三、課後習題​​

序、專欄前言

   本專欄開啟,目的在于幫助大家更好的掌握學習​

​Java​

​​,特别是一些​

​Java學習者​

​難以在網上找到系統地算法學習資料幫助自身入門算法。

   但最最主要的還是需要獨立思考,對于本專欄的所有内容,能夠進行完全掌握,自己完完全全将代碼寫過一遍,對于算法入門肯定是沒有問題的。

   算法的學習肯定不能缺少總結,這裡我推薦大家可以到高校算法社群将學過的知識進行打卡,以此來進行鞏固以及複習。

  學好算法的唯一途徑那一定是題海戰略,大量練習的堆積才能練就一身本領。專欄的任何題目我将會從【題目描述】【解題思路】【模闆代碼】【代碼解析】等四闆塊進行講解。

序、本章前言

   前一章細講了​

​for​

​​循環的作用與重要性,今天将會詳解同樣重要​

​if​

​​語句與​

​運算符​

​。對于該内容必須掌握。

一、if語句

  ​

​if​

​語句在程式中的角色不可或缺,它的存在就像一個岔路口,決定了我們程式走向的分支。它的主體如圖所示

if(布爾表達式){
            //body
        }else if (布爾表達式){
            //body
        }else if (布爾表達式){
            //body
        }else{
            //body 
        }      
  • ​​

    ​if​

    ​​語句可分為​

    ​if​

    ​​、​

    ​else if​

    ​​、​

    ​else​

    ​​,其中​

    ​else if​

    ​​、​

    ​else​

    ​是可以省略不寫的
  • 程式會從上往下進行判斷,從​​

    ​if​

    ​​開始,如果某個括号内的布爾表達式為​

    ​true​

    ​​,則會執行該代碼塊内的代碼,同時不會再去判斷和進入其他的​

    ​else if​

    ​判斷
  • 當所有的​​

    ​if​

    ​​與​

    ​else if​

    ​​都為​

    ​false​

    ​​時,且程式中存在​

    ​else​

    ​​語句,則會自動執行​

    ​else​

    ​​語句的内容
    【第03天】給定整數 a 和 b,a 是否能被 b 整除 | if 判斷與運算符運用

二、【例題1】

1、題目描述

  給定多組資料,每次給定兩個整數,如果能被整除,則輸出​​

​YES​

​​,否則輸出​

​NO​

​。

2、解題思路

  對于判斷兩個數​

​a,b​

​​是否為倍數與因數的關系,則需要使用到取餘運算符​

​%​

​​。因為我們知道如果​

​a,b​

​滿足要求,則一定滿足​​​​​​​​​​​​​​式子:。其中表示的就是的餘數,是任意一個非負整數。

  取餘運算符​

​%​

​​可以直接獲得的餘數,寫成​

​a%b​

​。我們隻需要判斷該值是否為0即可知道兩者關系。

3、模闆代碼

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        while (t-->0){
            int a=sc.nextInt();
            int b=sc.nextInt();
            if (a%b==0){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }
        }
    }
}      
import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        while (t-->0){
            int a=sc.nextInt();
            int b=sc.nextInt();
            System.out.println(a%b==0?"YES":"NO");
        }
    }
}      

4、代碼解析

  • 由于隻有​​

    ​YES​

    ​​和​

    ​NO​

    ​​兩種情況,是以我們隻需要​

    ​if​

    ​​和​

    ​else​

    ​語句即可
  • 對于這種隻有兩種情況的,我們也可以使用條件判斷語句​​

    ​布爾表達式?代碼1:代碼2​

    ​​,當表達式為​

    ​true​

    ​​執行代碼​

    ​1​

    ​​,表達式為​

    ​false​

    ​執行語句2。

三、課後習題

序号 題目連結 難度評級
1 ​​兩數相除​​ 1