Einführung in die ganzzahlige Division und Restberechnung in Java. (Modulo, div, mod, Rest), Lektion, Seite 721292
https://www.purl.org/stefan_ram/pub/java_modulo_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Der Divisionsrest in Java 

Zur Vereinfachung der Diskussion beschränken wir uns in dieser Lektion auf nicht-negative ganze Zahlen.

Vielleicht kennen einige Leser schon die „Division mit Rest“, der zufolge 47 geteilt durch 10 beispielsweise gleich „4 Rest 7“ ist.

Die vollständige Zahl 47 läßt sich als Summe aus dem Wert 40, der sich ergibt, indem man den ganzzahligen Quotienten 4 mit dem Divisor 10 multipliziert, und diesem Rest 7 auffassen. Man erhält den ganzzahligen Quotienten seinerseits, indem man die Nachkommastellen des normalen Quotienten abschneidet. Zur Verdeutlichung wird der ganzzahlige Quotient auch manchmal als ‹div› geschrieben: ‹47 div 10 = 4›.

Der Rest der Division eines Zählers z  (beispielsweise 47) durch einen Nenner n  (beispielsweise 10) gibt im allgemeinen an, wie viel noch übrig bleibt, wenn man vom Zähler das Produkt (z  div n ) · n  (beispielsweise 40) subtrahiert.

Beispielsweise ist der Rest der Division von 47 durch 10 gleich 7, denn »( 47 / 10 )« ist »4« und daher »( 47 / 10 )* 10 + 7 == 47«.

Der Rest der Division durch eine Zahl ist immer kleiner  als diese Zahl. Der Rest der Division durch 4 ist beispielsweise 0, 1, 2, oder 3.

Ein Wert ist durch eine Zahl teilbar  genau dann, wenn der Rest der Division des Wertes durch jene Zahl gleich 0 ist.

Syntax (vereinfacht)

Ausdruck
.----------. .-. .----------.
--->| Ausdruck |--->· % ·-->| Ausdruck |--->
'----------' '-' '----------'
Priorität und Assoziativität der bisher behandelten Operatoren
   ()                   Eingeklammerter Ausdruck
() Aufrufoperator
+ - ! Unaere vorangestellte Operatoren
L * / % Multiplikation, Division, Divisionsrest
L + - Addition, Subtraktion
L < > <= >= Vergleiche
L == != Gleichheitspruefungen
L && Und
L || Oder
R = Zuweisung

Typanforderungen

In dieser Lektion nehmen wir an, daß die Operanden des Divisionsrest-Operators »%« beide den Typ »int« haben und beide nicht negativ sind. Der ganze Ausdruck hat dann ebenfalls den Typ »int« und ist nicht negativ. (Dieser Operator akzeptiert allerdings auch negative Werte und sogar double -Werte als Operanden. Diese Typen von Operanden werden aber seltener benötigt und zur Vereinfachung in dieser Lektion nicht behandelt.)

Semantik

Bei der Auswertung dieses Operators werden zunächst immer beide Operanden ausgewertet. Beide Stellen dieses Operators sind also strikt.

Für zwei int -Werte »a« und »b« ist die Divisionsrest-Operation  »a % b« in Java  dadurch definiert, daß gilt: »( a / b )* b +( a % b )== a« (darin ist die Division die in Java  für ganzzahlige Operanden verwendete ganzzahlige  Division mit einem ganzzahligen Ergebnis).

Trotz des für ihn verwendeten Zeichens »%« hat dieser Operator also nichts direkt mit Prozentrechnung zu tun.

Dieser Operator wird auch „modulo “ gesprochen, obwohl er für negative Zahlen nicht genau dieselbe Bedeutung hat, wie der mathematische Modulo-Operator.

Beispiel Flaschen und Kartons

47 Flaschen Mineralwasser sollen in Kartons verpackt werden. Jeder Karton faßt 4 Flaschen. Wie viele Flaschen bleiben übrig?

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 47 % 4 ); }}
java.lang.System.out
3

Es bleiben drei Flaschen übrig.

Beispiel Teilbarkeitsprüfung

Ist 47 durch 12 teilbar?

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 47 % 12 == 0 ); }}
java.lang.System.out
false

47 ist also nicht durch 12 teilbar.

Beispiel Uhrzeit

Es ist 22 Uhr. Wie spät ist es in 4 Stunden?

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( ( 22 + 4 )% 24 ); }}
java.lang.System.out
2

2 Uhr.

Übungsfragen

?   Übungsfragen

Was ist der Rest der Division von 8 durch 8?

Was ist der Rest der Division von 9 durch 8?

Wie groß kann der Rest einer Division durch 3 maximal sein?

Was ist der Rest der Division einer geraden Zahl durch 2?

Was ist der Rest der Division einer ungeraden Zahl durch 2?

?   Teilbarkeit

Welche der folgenden Methoden gibt »true« zurück, wenn ihr Argumentwert durch 2 teilbar ist?

Übungsaufgaben

/   Teilbarkeitsprädikat

Schreiben Sie ein Prädikat, das ergibt, ob eine Zahl gerade (durch Zwei teilbar) ist.

(Ein Prädikat ist eine Methode, die einen Wahrheitswert ergibt, der vom Wert ihres Arguments abhängt.)

/   Teilbarkeitsprädikat (1)

Schreiben Sie eine Methode, die dann und nur dann »true« ergibt, wenn ihr int-Argument durch 4 teilbar ist.

/   Schleife

Schreiben Sie ein Schleife, welche die ganzen Zahlen von 0 (einschließlich) bis 30 (einschließlich) ausgibt.

/   Schleife (1)

Hinweis für den Dozenten  ► Falls diese Übungsaufgabe gestellt wird, dann sollte zuvor als Vorbereitung schon die davorstehende Übungsaufgabe bearbeitet worden sein.

Schreiben Sie ein Schleife, welche die ganzen Zahlen von 0 (einschließlich) bis 30 (einschließlich) ausgibt.

Neben jeder Zahl soll der Rest der Division jener Zahl durch Zwei stehen.

/   Schleife (2)

Hinweis für den Dozenten  ► Falls diese Übungsaufgabe gestellt wird, dann sollte zuvor als Vorbereitung schon die davorstehende Übungsaufgabe bearbeitet worden sein.

Schreiben Sie ein Schleife, welche die ganzen Zahlen von 0 (einschließlich) bis 30 (einschließlich) ausgibt.

Neben jeder Zahl soll »G« oder »U« stehen, je nachdem, ob die Zahl durch 2 teilbar ist.

/   Schleife (3)

Hinweis für den Dozenten  ► Falls diese Übungsaufgabe gestellt wird, dann sollte zuvor als Vorbereitung schon die davorstehende Übungsaufgabe bearbeitet worden sein.

Schreiben Sie ein Schleife, welche die ganzen Zahlen von 0 (einschließlich) bis 30 (einschließlich) ausgibt.

Neben jeder Zahl soll »J« oder »N« stehen, je nachdem, ob die Zahl durch 3 teilbar ist.

/   TippTopp

Hinweis für den Dozenten  ► Falls diese Übungsaufgabe gestellt wird, dann sollte zuvor als Vorbereitung schon die davorstehende Übungsaufgabe bearbeitet worden sein.

Schreiben Sie ein Programm, das die Zahlen von 1 (einschließlich) bis 30 (einschließlich) ausgibt. Aber für Vielfache von drei, soll »Tipp« an Stelle der Zahl ausgegeben werden und für Vielfache von fünf »Topp«. Für Zahlen, die ein Vielfaches von drei und  fünf sind, soll »TippTopp« ausgegeben werden.

Zusatzaufgaben

/   Schaltjahrprädikat

Schreiben Sie eine Methode, die dann und nur dann »true« ergibt, wenn ihr int-Argument (zwischen 1600 und 2100) ein Schaltjahr ist.

Schreiben Sie ein Prädikat, das ergibt, ob eine Zahl zwischen 1600 (einschließlich) und 2100 (einschließlich) ein Schaltjahr ist.

(Ein Prädikat ist eine Methode, die einen Wahrheitswert ergibt, der vom Wert ihres Arguments abhängt.)

/   KByte

Ein KByte sind 1024 Byte.

Schreiben Sie eine Methode, die einen Byte-Wert akzeptiert (z.B. 10000 Byte) und dann ausgibt wie viel ganze KByte und Byte das sind (z.B.: 9 KByte und 784 Byte).

/   Rest

Schreiben Sie eine Methode, welche den Rest einer Division berechnet, ohne  den Restoperator zu verwenden.

/   GByte

Ein KByte sind 1024 Byte. Ein GByte sind 1024 KByte.

Schreiben Sie eine Methode, die einen Byte-Wert akzeptiert (z.B. 10000 Byte) und dann ausgibt wie viel ganze GByte, KByte und Byte das sind (z.B.: 9 KByte und 784 Byte).

Zusatzaufgabe: Jeder Wert (GByte, KByte und Byte) soll nur ausgegeben werden, falls er nicht 0 ist.

/   Uhrzeit

Der Wert »java.lang.System.currentTimeMillis()« ist die ungefähre Anzahl der Millisekunden, die beim Aufruf dieser Methode seit 0 Uhr am 1. Januar 1970 vergangen sind.

Ermitteln Sie diesen Wert in einem Programm und berechnen Sie daraus die aktuelle Uhrzeit in Stunden (0–23) und Minuten (0–59).

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721292 stefan_ram:721292 Modulo, div, mod, Rest Teilen mit Rest unter Java; division mit rest in java; modulo java informatik operator; Java mod Java div Java Rest Java ganzzahlige Division Java Modulo-Operation Java Modulo-Operator Java source, source code,sourcecode, Programmier sprache java, Java Programm Java Programmiersprache Java Sprache Java Programmierung Programmieren in Java, Die Programmiersprache Java Javapgrammierung, Java-Programmierung, Java2, Java1.2, Java1.3, Java1.4, Java1.5, Java 2, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, Java 1.7, Java 1.8, Java 8, Java 1.9, Java 9, Java 1.10, Java 10, Tiger, Dolphin, objektorientierte Programmierung, Java sun, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721292, slrprddef721292, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/java_modulo_de