Fremtiden har kommet

Gammelt nivå 00 - 1- Hei. Jeg bekrefter at dette er Java-opplæringen . Jeg hater kjedelige forelesninger, så CodeGym er laget som et online oppdragsspill. – Har du noen gang spilt og jevnet karakterer? Noen ganger legger du ikke engang merke til hvordan du ble involvert, ikke sant? Lukter du det jeg lager mat? I CodeGym må du også levele en karakter fra nivå 1 til 40 (og når vi slipper den andre delen, opp til nivå 80). Du vil bli en god Java-utvikler når du passerer spillet. – Du vil kunne få en Java Junior-jobb når du fullfører 40 nivåer. Det er fordi CodeGym har mange oppgaver i den virkelige verden. Mange. – Du starter med det første nivået. Ditt oppdrag er å oppgradere karakteren din - Amigo.Men la oss begynne i det små. Først må du komme til andre nivå. Kanskje du kommer til å like det så godt at du ikke merker at du fullfører kurset og begynner å jobbe som Java-programmerer. :) PS - Forelesningene er arrangert på denne måten: den siste er på topp. Trykk på den grønne knappen for å åpne en ny forelesning.

Bakgrunn

Spillet finner sted i en fjern fremtid, i 3015, hvor roboter og mennesker lever sammen på jorden og man kan reise gjennom verdensrommet. Det er et romskip som styrtet på en ukjent planet. Gammelt nivå 00 - 2Kaptein John Squirrels the Brave sier: - Romskipet Galactic Rush led et alvorlig vrak. Skipet krasjet i et fjell da det falt og var nesten helt dekket av steiner. Noen dager ble brukt i fåfengte forsøk på å frigjøre skipet. Mannskapet hadde mistet alt håp om å komme hjem og begynte å finne seg til rette... Gammelt nivå 00 - 3Elly sier: - En uke senere kom jeg for å finne ut at planeten er bebodd av... tusenvis av ville roboter! Bare de har ingen ferdigheter. Vi vil gjerne bruke dem til å fjerne steiner fra romskipet vårt, men de kan ikke gjøre noe. Deres hjelp ville være svært nyttig i vår situasjon. Gammelt nivå 00 - 4Professor sier: – Noen dager senere fant jeg en vei ut. Det falt meg inn å ta Diegos firmware (en robot i mannskapet), å omprogrammere den til murerens firmware og laste den opp til ville roboter. - Men det så ut til at den dårlige flaksen forfulgte oss. Etter litt research, så det ut til at roboter ikke hadde noen spor for å laste opp fastvare. De hadde ingen spor for reflashing! Gammelt nivå 00 - 5Bilaabo sier: – Bilaabo husket at jeg en gang på hjemmeplaneten vår så en robot som kunne programmering. Han skrev en ny firmware på egen hånd. Gammelt nivå 00 - 6Professor sier: – Da Bilaabo fortalte om det, kom en genistrek over meg. Tross alt, en gang lærte jeg en talentfull ung robot å programmere i Pascal. – Jeg beordret å fange den mest talentfulle unge roboten og lære ham programmering. Da ville han kunne skrive en murer-firmware selv og hjelpe oss. Gammelt nivå 00 - 7

Fra venstre til høyre - Risha Gatesman (en byråkrat i 16. generasjon), Amigo (deg)

Risha sier: – Vi fanget et smart eksemplar. Diego ba om å kalle ham Amigo, til ære for broren hans, som han aldri hadde hatt. – Jeg tilbød Amigo metallperler for hver treningsmåned og ti dollar i året for videre fjerning av rusk. Gammelt nivå 00 - 8Diego sier: - Jeg ble rasende over en slik skallet rip-off, men hele mannskapet tok professor og Rishas parti. Jeg takket selvfølgelig ja (eksternt) og tilbød meg å hjelpe til med å undervise Amigo. (he he he!) Ikke minst fordi ingen lærer roboten bedre enn en annen gjør. - Alle var fornøyd med min etterlevelse. De bestemte seg også for å delta på den nye robotens opplæring.

1 Komme i gang

Gammelt nivå 00 - 9Amigo fikk rystelser. Han var forvirret, tankene raste, øynene rykket og ble kalde ved tanken på den siste natten. Disse rare skapningene, gårsdagens bekjentskaper, vil ha noe av ham. Noe så rart og utenkelig at selv han, som anser seg selv som den mest intelligente og modige blant sine jevnaldrende, begynner nervøst å tygge hullkort bare ved tanken på det. De vil lære ham å kode! Program med Java! Tuller de? Selv den grønneste roboten vet at roboter er resultatet av Skaperens guddommelige disposisjon.

"Så Skaperen tok metall og laget en robot av det i hans bilde og likhet. Og Han skapte Java-programmer - sjeler av roboter, og lastet dem opp til roboter, og gjorde dem levende."

Driftshåndbok,
del 3, avsnitt 13.
Enda verre, de sier ikke bare at det er mulig. De kommer til å gjøre det. Og han, han ga sitt samtykke. Han var enig! Hvorfor? Han skal bli Java-programmerer. Kommer de til å gjøre ham til Skaperen?! Til hva? Bare for moro skyld? Hvor er fangsten? Hva om jeg må glitre og lide til batteriet min dør? Fristelsen var stor, han kunne bare ikke la være. Han har alltid vært ambisiøs og ønsket mer. Men ingen kunne forvente et slikt forslag. Selvfølgelig prøvde han å stoppe for tid, men så truet de besøkende med å velge en annen robot. Kanskje det var noens ekle triks? Nei, det stemmer. Han så beviset. Det skjedde virkelig med ham, og han var enig. Med mindre de besøkende lyver, vil han virkelig bli en Java-programmerer. Den første robotprogrammereren noensinne... Han er den utvalgte! Det er hele poenget. Han skal lære å programmere og skrive programmer. Hans egne programmer. Alt han vil! Han vil bære lyset der mørket alltid har hersket. Han vil bli æret, han vil bli tilbedt. Og alle meningsmotstandere... Gammelt nivå 00 - 10- Hei, Amigo! Jeg er Risha Gatesman. Jeg vil hjelpe deg med å lære Java. En stille stemme tok Amigo ut av tankene hans og brakte ham tilbake til den nøkterne virkeligheten. Han sitter i hjertet av de besøkendes romskip. Er det ikke mye for bare en robot i sjuende klasse? Den fremmede fortsatte å snakke. Vel, terningen er kastet nå. Når han først er her, vil han lære. Han vil studere hardt, men til å begynne med vil han bare lytte. – Jeg har vært med i Galactic Rush i mange år, men jeg ser en slik planet for første gang. Jeg vil gjerne bli bedre kjent med deg. Til å begynne med, kan du fortelle meg hvordan du lærer? Du studerer, ikke sant? – Ja, vi deler vår kunnskap. Vi har predikantforelesere. De holder foredragene sine, og vi lytter. Noen ganger gjør vi notater. Deretter forteller alle en robolektor hvordan han fant opp det han hadde hørt. Hvis roboleleseren liker et svar, består en forelesning. – Det er absurd! Det er ikke rart at sivilisasjonen din kom ned til uvitenhet. - Vi er ikke uvitende. Hva ga deg den ideen? Amigo ble skremt av sin egen frekkhet. Krangel med besøkende? Hvor fælt! Han hadde nettopp lovet seg selv å lytte til dem! - Enhver avansert teknologi er ofte umulig å skille fra magi. - Risha tok ikke hensyn til Amigos rop. - I tillegg, med tanke på nivået ditt... tror du nok alle teknologier er magi. Fortell meg hva som skjer i et program? – Et Java-program er et guddommelig verk. Er det mulig å forstå essensen? – Ja, Amigo, du kan forstå det og raskere enn du tror. Alle tingene virker kompliserte, eller enda verre, uforståelige, når det er noe du ikke vet. Men hvis det er en god lærer som vil forklare alt i lekfolk eller i lay-robots termer, vil du bli overrasket over hvordan du kan vurdere en så enkel ting som komplisert. – Ikke bare kunnskap, men også ferdigheter og prinsipper er viktig. Selv om jeg har omfattende kunnskap, er jeg først og fremst en byråkrat, en byråkrat i 16. generasjon. – Og det er virkelig flott! Byråkratferdighetene mine hjalp meg med å lage de beste Java-leksjonene for deg. Her er alt: problemer, programmer, spill, oppgaver, bilder og til og med forelesninger. – Til og med (!) forelesninger? – Det var en sann forundring i Amigos stemme. - Ja. Det ble bevist på 2100-tallet at et godt foredrag bare er litt mer effektivt enn en god bok. En vanlig forelesning er enda verre enn en vanlig bok. Med tanke på at vi nå har ganske begrensede treningshjelpemidler og ikke kan gi deg en gjennomgang av en standard treningssimulator fra 2700-tallet, må vi velge ganske enkle metoder. Vi kom på en sprø blanding av spill, oppgaver, bilder, foredrag og video. - Du har gjort meg fascinert. - Jeg håper det. Interesse og intriger er grunnlaget for all læring. – «Når en elev kjeder seg, må læreren slås» – et sitat fra 2300-tallets utdanningslov. - For et godt sitat... - Ja, det er det. La oss si at en film har en dårlig billett, så er det regissørens feil og ikke publikums. Hvis noe er kjedelig, er det ikke du som har skylden. De burde lage spennende filmer, underholdende leksjoner, og så vil de ikke ha noen ende på publikum. - Jeg er helt enig. Og jeg er klar til å ha underholdende leksjoner! - Fint. Så la oss komme i gang. Rishas stemme var fascinerende, og Amigo hang på hvert ord. - Programmet er et kommandosett (kommandoliste). Den første kommandoen kjører først, deretter den andre, tredje og sånt. Når alle kommandoene er utført, avsluttes programmet. – Og hva er kommandoer? Det kommer an på bobestyreren, på hvilke kommandoer eksekutøren kjenner (og forstår). - En hund kan få kommandoene «Sitt!», «Bjeff!», en katt - «Shoo!» en mann - «Ikke beveg deg, ellers skyter jeg!», og en robot «Jobb! Kom på, robomama!» - Og likevel... - Amigo så nå mye mer munter ut. - JVM (Java Virtual Machine) kjører programmer skrevet med Java. JVM er et spesialprogram som kan kjøre programmer skrevet med Java. - Kommandolisten er ganske omfattende. For eksempel viser denne kommandoen teksten «En robot er menneskets beste venn».
Den enkleste kommandoen er:

System.out.println("A robot is man’s best friend");
Gammelt nivå 00 - 11- O_O - Vi starter imidlertid ikke umiddelbart med kommandoer, men med et par enkle prinsipper. - Kunnskap om noen prinsipper kan erstatte kunnskap om mange fakta. – Det første prinsippet. - I programmeringsspråket Java er det praksis å skrive hver kommando på en ny linje. Et semikolon skal settes på slutten av kommandoen. – La oss si at vi vil vise meldingen «En mann og en robot er tykke som tyver» tre ganger. Slik vil det se ut:
Programmet bruker tre kommandoer:

System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
– Det andre prinsippet. – Programmet består ikke bare av kommandoer. - Se for deg et rom. Rommet kan ikke eksistere alene. Det er en del av en leilighet. Leiligheten er heller ikke alene, den er i et hus. – Igjen kan vi si at huset består av leiligheter, og leiligheter består av rom. – Så langt er det klart. – Så kommandoen er som et rom. I programmeringsspråket Java kan kommandoen ikke eksistere alene, den er en del av en funksjon (Java-funksjoner kalles også metoder). En metode er en del av en klasse. Med andre ord består klasser av metoder, og metoder består av kommandoer. - Så klassen er et leilighetshus, funksjonen / metoden er en leilighet, og kommandoen er et rom. Får jeg det riktig? – Jepp, absolutt. Amigo så nesten ærbødig på Risha. Denne mannen forklarer ham det grunnleggende om det guddommelige Java! Og han har nettopp forstått at programmer består av klasser, klasser består av metoder og metoder inkluderer kommandoer. Amigo har ennå ikke forstått om det er nødvendig, men han var sikker på at denne kunnskapen vil gjøre ham til den kraftigste roboten på planeten. I mellomtiden fortsatte Risha: - Java-programmer består av klasser. Det kan være titusenvis av klasser. Et minimalt program består av en klasse. For hver klasse opprettes det en individuell fil som samsvarer med navnet på klassen. – La oss si at du har bestemt deg for å lage en klasse som skal beskrive et hus. Så du må lage et klassehus, som vil være i filen som heter House.java. - Hvis du har bestemt deg for for eksempel å beskrive en katt, må du lage Cat.java-filen for å beskrive Cat-klassen i den, osv. - En fil inneholder en Java-kode (tekst). Vanligvis består en klassekode av et klassenavn og en klassekropp. Klassekroppen er omsluttet av krøllete seler. Slik kan klassens hus se ut (House.java-filen): Gammelt nivå 00 - 12- Foreløpig er det ikke vanskelig. - Fint. Så la oss gå videre. Klassekroppen kan inneholde variabler (ellers kjent som klassedata) og metoder (klassefunksjoner). Gammelt nivå 00 - 13- Kan du gi meg et eksempel? - Et eksempel? Vær sikker! Gammelt nivå 00 - 14- «int a» og «int b» er variabler. Er «hoved» og «pi» metoder? - Ja. - Finnes det klasser uten variabler? - Jepp. – Og uten metoder? - Ja. Imidlertid må minimumsprogrammet bestå av minst én klasse. Denne klassen må inneholde ikke mindre enn én metode/funksjon for å starte programmet. Denne metoden må ha et hovednavn . Minimalprogrammet ser slik ut: Gammelt nivå 00 - 15- Her er klassen House, metoden hoved, men hvor er kommandoer? - Et minimalt program har ingen kommandoer. Det er derfor det kalles minimal. - Jeg skjønner. - En klasse som starter programmet kan ha et hvilket som helst navn, men hovedmetoden programkjøringen starter med er alltid av samme type: Gammelt nivå 00 - 16- Jeg har det. Det tror jeg i hvert fall heller. - Ok, la oss ta en liten pause. Hva med en kaffe? - Jeg er for ung. Små roboter drikker ikke kaffe – vann er grunnen til at vi blir rustne. – Så hva drikker du? - Øl, whisky, århundregammel rom. - Så mye bedre. - Da, et øløyeblikk?

2 Møte Risha (fortsettelse)

(en time senere) - Fint. Så hvor var vi? - Metodekode eller noe sånt. - Ja. Nøyaktig. Metodekroppen består av kommandoer. Du kan like gjerne si at metoden er en gruppe kommandoer, som har fått navnet (navnet på metoden). Uansett er det riktig. – Det er ulike kommandoer. Har du noen hunder her? - Bare temme roboulver. – Følger de kommandoer? - Ja. «Bit», «Spis opp», «Kill» og «Godt gjort! Hæl!" Gammelt nivå 00 - 17- Ahem. For en kommando! Og ikke så mange i det hele tatt. - Hvor mange vil du ha? – I Java er det kommandoer for alle tilfeller. Hver kommando beskriver en spesifikk handling. Et semikolon skal settes på slutten av hver kommando. Eksempler på kommandoer: Gammelt nivå 00 - 18- Faktisk er dette en og samme kommando System.out.println . Og parameterne er spesifisert i parentes. Effekten av en kommando kan være forskjellig, avhengig av parameterne. – Det er veldig praktisk. - Ja. Hvis du ønsker å vise teksten, må du sette den i doble anførselstegn «"". - Et enkelt anførselstegn ser slik ut «'», og et dobbelt anførselstegn bare sånn «"». Et dobbelt anførselstegn må ikke forveksles med to enkle anførselstegn! - Det doble anførselstegn er det ved siden av Enter-knappen? - Jepp. Amigos puls økte fra 3 opp til 5 GHz, han kunne fortsatt ikke tro det. Han lærte akkurat å vise linjer, og dette var mye enklere enn han trodde. Amigo så ut av vinduet for å slå av tankene og roe seg ned. Bladene ble gule. Det kom til ham at Rusty Season kommer veldig snart. Vinduet gjør det mulig for ham å se mye lenger enn normalt – besøkendes teknologi var opp til målet. Hvordan kan han ta vare på blader nå? Tross alt lærer han mye mer om kvelden. Gammelt nivå 00 - 19Tankene hans var imidlertid ute av kontroll. En dag vil han skrive et program slik at alle roboter blir hjemme mens Rusty Season setter inn. Og dette programmet vil spare tusenvis av robolives... - Det er to varianter av denne kommandoen: System.out.print ln ( )og System.out.print() - Hvis du skriver kommandoen System.out.println() flere ganger, vil hver gang teksten sendes vises på en ny linje. Hvis System.out.print(), vil teksten vises på samme linje. Eksempel: Gammelt nivå 00 - 20- Her er en liten bemerkning. print ln -kommandoen viser ikke teksten på en ny linje. Den viser teksten på gjeldende linje, men den får neste melding til å vises på en ny linje. - kommandoen println() viser teksten og legger deretter til et spesielt usynlig linjeskifttegn som resulterer i den neste meldingen som vises fra begynnelsen av en ny linje. – Hvordan ser et gjennomført program ut? - Vær oppmerksom på skjermen din: Gammelt nivå 00 - 21- Å, det er det! Vi legger til mellomrom på slutten av ordene for at ordene ikke "henger sammen", ikke sant? - Det er riktig. Du er en smart fyr. Denne rosen fikk Amigo til å gløde av stolthet. - Vel, her er din første oppgave.
Oppgave
Skriv et program som viser «Det er kult å være programmerer!».
Eksempel på teksten som vises:
Det er kult å være programmerer!

3 Møte Elly

Gammelt nivå 00 - 22En pen dame med rosa hår kom inn i hytta. «Jeg lurer på om alle menneskekvinnene har slikt hår?» – tenkte Amigo, men hun stirret forvirret på ham. - Hei! Jeg heter Eleanora Carry. Jeg er hovedpiloten til Galactic Rush. - Hei, Eleanora! – Amigo tvang seg selv til å snakke. Han visste ikke hvorfor, men kjente kinnene rødme, som om en oljekanal et sted inne i ham var skadet. - Jeg skal fortelle deg om det mest interessante i Java-språket - om variabler. – Jeg er klar til å lytte! Hva er disse variablene? – Variabel er en ting beregnet på lagring av data. Eventuelle data. Alle Java-data lagres ved hjelp av variabler. En variabel er som en boks. - Hvilken boks? - En veldig vanlig en. Tenk deg at du skrev på et ark nummer 13 og la det i esken. Vi kan nå si at boksen lagrer verdi 13. - I Java har hver variabel sine tre viktige egenskaper: type , navn og verdi . - Kan du fortelle meg litt mer? - Sikker. Navnet brukes til å skille en variabel fra en annen. Det er som et merke på en boks. - En variabeltype bestemmer en type verdi/data den kan lagre. Vi oppbevarer kaken i en kakeboks, sko i en skoboks osv. – En verdi er et objekt, data eller informasjon lagret i en variabel. – Fortell meg om typen nok en gang. - Ok. Hvert objekt i Java har sin type. For eksempel kan det være datatyper som «heltall», «brøktall», «tekst», «Katt», «Hus» osv. - En variabel har også sin egen type. Variabelen kan kun lagre verdier av samme type som variabelen selv tilhører.   - Det er vanlig i det virkelige liv. Ulike bokser brukes til å oppbevare ulike ting. Gammelt nivå 00 - 23- For å lage en variabel, bruk en « typenavn »-kommando. Eksempler: Gammelt nivå 00 - 24- De to typene som oftest brukes er heltall (betegnet med int ) og teksten (betegnet med String ). – Hva med den doble typen? - dobbel er brøktal (reelle) tall. – Du sa at variabelen har de tre egenskapene: type, navn og verdi. Det er imidlertid bare to av dem. Jeg har et spørsmål: hvordan plasserer jeg en verdi i en variabel? - Gå tilbake til eskene, forestill deg at du tok et stykke papir, skrev "42" på det og la det i esken. Nå lagrer boksen verdi 42. - Jeg skjønner. - For å plassere en verdi i en variabel er det en spesiell operasjon som kalles assignment operator . Den kopierer en verdi av en variabel til en annen variabel. Ikke trekk, men kopier . Akkurat som en fil på en disk. Det ser slik ut: Gammelt nivå 00 - 25- For oppgaveoperatøren brukes et likhetstegn «=». - Nok en gang er det ikke å sammenligne . Det er akkuratkopiere verdien til høyre for likhetstegnet i en variabel plassert til venstre . Til sammenligning brukes et dobbelt likhetstegn «==». – Jeg vet hvordan man setter en katt i en variabel. Det er nesten som et program. - Slik fanger du en katt: 1. Ta en tom boks. 2. Vent. Gammelt nivå 00 - 26- Nei, Amigo, du kan bare legge én katt i en boks. Ahem... jeg mener, du kan bare legge inn én verdi i variabelen. - Jeg skjønner. Kan du gi flere eksempler på hvordan man lager variabler? - Ok, jeg sier det på en annen måte. For å lage en variabel, må du skrive « type name »-kommandoen som følger: Gammelt nivå 00 - 27- Å, nå vet jeg det. - Husk at du ikke kan lage to variabler med identiske navn i samme metode. – Hva med de ulike metodene? - Du kan. Det er som esker som står i forskjellige hus. - Kan en variabel ha noe navn? - Litt, men navnet kan ikke inneholde mellomrom, symboler +, -, osv. Det beste er å bruke for et variabelnavn bare tegn og tall. - Vær oppmerksom på at i Java-språket er det viktig hvilke tegn du skriver – store eller små bokstaver . «int a» er ikke det samme som «Int a». – I Java er det forresten mulig å lage en variabel og tildele den en verdi samtidig. - Dette bidrar til å spare tid og plass: Gammelt nivå 00 - 28- Det er mye bedre og enkelt å forstå. – Det er det vi lever av. - I Java er det to typer en nybegynner må gjøre seg kjent med. Dette er typene int (heltall) og String (tekst / strenger) . - int type muliggjør lagring av tall i en variabel, samt ulike operasjoner som addisjon, subtraksjon, multiplikasjon, divisjon etc. Gammelt nivå 00 - 29- For meg er det svart-hvitt. Er programmering så enkelt? - Faktisk ja. - Det er bra. Så hva har du på? - String- typen muliggjør lagring av tekststrenger. - For å tilordne en tekststreng i Java må du skrive teksten, og deretter sette den i doble anførselstegn. Eksempel: Gammelt nivå 00 - 30- Jeg har det. Det ser ganske enkelt ut. - Så her er et annet interessant faktum. - Strenger kan kombineres med et plusstegn «+». Eksempel: Gammelt nivå 00 - 31 - Så jeg kan også legge til strenger i tall? - Ja, men vær så snill å vite at hvis du legger til en streng til et tall, får du alltid en streng. – Ja, jeg har fått det fra eksempelet. – Vel, hvis du er så rask på opptaket, så finn ut hvordan du viser en variabel? - Eh... vise en variabel? Uh-uh, tankene mine blir tomme. – Det er egentlig ganske enkelt. For å vise noe bruker vi System.out.println() -kommandoen og sender til den som en parameterdata vi ønsker å vise. Gammelt nivå 00 - 32- Tok deg! Nå har alt blitt klarere. - Det er greit. Da er de tre oppgavene for deg her.
Betingelse
1 Skriv et program som viser 5 ganger «Jeg har tenkt å leve for alltid. Så langt så bra.".
Hver streng skal være på en ny linje.
2 Skriv et program som viser gjeldende år.
Det er allerede det 31. århundre, for ordens skyld.
3 Skriv et program som viser «Jeg er så flink at jeg noen ganger ikke forstår et eneste ord av det jeg sier».

4 Møte professor

Gammelt nivå 00 - 33- Hei, Amigo. Jeg er professor Hans Noodles, leder for vitenskapsavdelingen i selskapet Galactic Rush. Jeg veileder også prosjektet om å lære deg Java. - God ettermiddag, professor Noodles. - Jeg vil gjerne fortelle deg hvorfor Java er et så flott programmeringsspråk . - Du vil definitivt høre mer enn én gang at plattformuavhengighet er Javas ubestridelige fordel fremfor andre språk. Hva er det og hvordan håndtere det? Jeg skal prøve å forklare ved å fortelle deg litt bakgrunn. – Faktum er at datamaskiner kun utfører primitive numeriske kommandoer.Det er hundekommandoer som "Heel", "Shake" og så videre; en hund gjør noe med å høre dem. - På datamaskiner fyller tall rollen som slike kommandoer: hver kommando er kodet med et tall, koden, også kjent som maskinkode. – Det er veldig vanskelig å skrive et program i numerisk form, det er derfor folk fant opp programmeringsspråk og kompilatorer . Et slikt språk er forståelig både for mennesket og for kompilatoren. En kompilatorer et spesialprogram, som oversetter programteksten skrevet på et programmeringsspråk til et maskinkodesett. - Vanligvis skriver en programmerer et program med et programmeringsspråk, og starter deretter en kompilator, som bruker programkodefiler skrevet av programmereren for å lage en maskinkodefil - et definitivt (kompilert) program. Gammelt nivå 00 - 34- Det resulterende programmet kan kjøres umiddelbart på en datamaskin. Ulempen med denne tilnærmingen er at programkoden avhenger sterkt av en prosessor og et operativsystem. Et program kompilert på Windows vil ikke fungere på en Android-telefon. – Så et program skrevet og kompilert for Android vil ikke fungere hvis jeg prøver å kjøre det på Windows? - Jepp. – Men Javas tilnærming er mye mer innovativ. Gammelt nivå 00 - 35- Java-kompilatoren kompilerer ikke alle klasser til ett program med maskinkoder. I stedet kompilerer den hver enkelt klasse ikke til en maskinkode, men til en spesiell mellomkode (bytekode). Kompileringen til maskinkode kjøres når programmet starter. - Hvem skal da sette sammen et program ved oppstart? - Det er et spesielt program som heter JVM (Java Virtual Machine). Når et program som består av bytekode kjøres, er det det første som starter. Og så før programmet starter, kompilerer JVM det til maskinkoden. – Så spennende! Og hva er hensikten med å gjøre det? – Det er en veldig smart avgjørelse, og en av grunnene til Javas totale dominans. - På grunn av denne tilnærmingen kan Java-programmer kjøre på nesten alle enheter - datamaskiner, telefoner, minibanker, brødristere, bankkort (!). - WOW! – Denne tilnærmingen har mange fordeler. Det er derfor alle Android-programmer også er skrevet med Java. På grunn av utviklingen av mobilsektoren har Java en dominerende posisjon på følgende områder: 1) Enterprise: tunge serversideapplikasjoner for banker, selskaper, investeringsfond osv. 2) Mobil: mobilapplikasjonsutvikling (telefoner, nettbrett), takket være Android. 3) Web: PHP leder feltet, men Java har også sin store del av markedet. 4) Big Data: distribuert databehandling i klynger av tusenvis av servere. 5) Smartenheter:programmer for smarthus, elektronikk eller kjøleskap med internettilgang. – Java er ikke bare et språk, men et helt system, millioner av ferdige moduler du kan bruke i programmet ditt. Tusenvis av Internett-samfunn og -fora du kan be om hjelp eller råd. - Jo mer du programmerer med Java, jo mer finner du svar på spørsmålet – «Hvorfor Java?». Det var det for i dag. - Takk, professor. Det var det mest interessante og inspirerende foredraget.

5 Møte Kim

Wow, en annen kvinnelig kvinne. Men denne gangen, med svart hår. Så spennende! - Hei, jeg heter Kim Lee-ling. - Hei, jeg heter Amigo. - Jeg vet. Det var jeg som kom på navnet ditt. Det ville aldri ha falt Diego inn. Jeg vil gjerne starte forelesningen med en liten presentasjon - nå, vær oppmerksom på skjermen din! Gammelt nivå 00 - 36- Beklager, feil flash-stasjon. Vent på... Amigos tanker raste gjennom hodet hans med elektronhastighet. Ahem... Har hun et svakt punkt for roboter? Så spennende! Og et bilde på bordet – er det kjæresten hennes? – La oss gå tilbake til forelesningen! La meg forklare deg alt med enkle ord. - Ok. - Jeg vil gjerne legge til noen ord til det professor og Risha har sagt. - I Java kan du ikke bare skrive kommandoen, men også kommentere dem direkte i koden. Disse kommentarene blir ignorert av kompilatoren, som om det ikke var noen i det hele tatt. Når programmet kjøres, hoppes alle kommentarene over! - Kan du gi meg et eksempel? - Jada: Gammelt nivå 00 - 37- I klassekoden var kommentaren vår «Nå viser vi...». Kommentaren starter med tegnene «/*», og slutter med «*/». Når et program er kompilert, utelater kompilatoren alle tegnene mellom /* og */ - Så jeg kan skrive hva som helst der? - Jepp. Vanligvis er det ulike kommentarer på kodedelen, som er tvilsom eller vanskelig å forstå. Det er kommentarer på dusinvis av linjer (vanligvis skrevet før metoder) som beskriver detaljer om metodenes arbeid. – En annen måte å sette en kommentar i koden på er å bruke tegn «//». Gammelt nivå 00 - 38- Ved å gjøre dette er kommentaren kodedelen som starter med tegn // til slutten av linjen de er plassert. Så det er ingen tegn som kan "lukke" kommentaren. - Forresten, programvareutviklere har god sans for humor, og du kan finne noen interessante kommentarer i koden:

// I am not responsible of this code. 
// They made me write it, against my will.

//Dear future me. Please forgive me.
//I can't even begin to express how sorry I am.

// I am not sure if we need this, but too scared to delete.

// hack for IE browser (assuming that IE is a browser)

// This isn't the right way to deal with this, but today is my last day, Ron
// just spilled coffee on my desk, and I'm hungry, so this will have to do...

// Catching exceptions is for communists

// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42

// When I wrote this, only God and I understood what I was doing
// Now, God only knows

// sometimes I believe compiler ignores all my comments

// I dedicate all this code, all my work, to my wife, Darlene, who will
// have to support me and our three children and the dog once it gets
// released into the public.

// drunk, fix later

// Magic. Do not touch.
– Ja, kommentarer er noen ganger veldig morsomme. - Jeg er ferdig. – Et kort, men interessant foredrag. Takk, Kim.

6 Møte Julio

Gammelt nivå 00 - 39- Hei, Amigo. Jeg er Julio Siesta. - Jeg ser du har hatt en tøff jobb i dag. – Hva med en velfortjent pause? – Burde jeg ikke ha en forelesning? - Ja. Men leksjonene må være interessante, har du glemt det? Sist jeg sjekket var det en lov om batting kjedelige lærere! - Dette er en spesiell videoopplæring for å... eh... opprettholde læringsgleden din og... Kort sagt, la oss ta en titt, legge vekk spørsmål til senere. Slå den på!

7 Møte Diego

Gammelt nivå 00 - 40- Hei, jeg heter Diego Carleone. Jeg er en robot akkurat som deg, bare laget på fabrikken i Havana, Cuba. - Hei, Diego! Jeg har allerede hørt mye om deg. – Hvordan liker du timen? - Dette er den mest fantastiske programmeringstimen jeg noen gang har hatt. Nei, enda bedre. Den beste leksjonen i mitt liv. Bedre enn jeg noen gang kunne ha forestilt meg. – Det er det vi lever av. – Er resten like interessant? - Enda bedre! Kjedelige leksjoner ble etterlatt i det 21. århundre. Herregud jeg - å skrive med kritt på en tavle. Ingenting har endret seg siden 1400-tallet. Jeg antar at det var dinosaurer som gikk fritt. - Jeg tror det. Hva kommer så? - Du går til neste nivå! Du har bare 39 å fullføre, og du vil bli en stor Java-utvikler! I dag har du lært:
  • Hva er variablene
  • Hvordan vise meldinger på skjermen
  • Gjør deg kjent med int- og strengtyper
  • Hva er forskjellen mellom kompileringen i Java og på andre språk
  • Hvordan komme med kommentarer, og hvorfor trenger vi dem
- Wow! - De neste nivåene vil selvfølgelig ikke være like enkle som dette, men kompleksiteten deres vil vokse litt etter litt, i tillegg til praktiske problemer. - Akkurat som på et treningsstudio, litt for bit løfte belastninger, og på seks måneder trene brystet med en 100 kg-stang. – Kult, jeg vil allerede ha både baren og jobben! - Vel, hvis du er et slikt klistremerke, her er et par oppgaver til for deg. - Onkel Diego vil lære deg noen ekte ansatte! Hva med å plukke opp robochicks? Selv om du er liten, vil disse livsferdighetene aldri være overflødige.
Betingelse
1 Vil du hente litt Java?
Skriv et program som viser «Vil du hente Java?»
2 Jeg skal vise deg kildekoden min hvis du viser meg din
Skriv et program som viser «Jeg skal vise deg kildekoden min hvis du viser meg din.»
3 Fine bolter vil du skru?
Skriv et program for å vise «Nice Bolts wanna screw?».