Slide 1

Slide 1 text

ա੄೐۽Ӓې߁ ࠽۠੼ࣻח زܐٜ ّݾ ੟ѱ ݅٘ח աࢂ ೐۽Ӓې߁ णҙ ࠘ష௼ ৡۄੋ 2020.04.18 ߓ೙઱

Slide 2

Slide 2 text

द੘ೞӝ જ਷೐۽Ӓې߁੉ۆ ▸ ߸ࣻ ੉ܴਸ ૙ח ؘ о੢ જ਷ ߑߨ਷ ޖ঺ੑפө? ▸ ࢲ࠳ܖ౯ਸ ࢎਊೞח ؘ যו ੿ب੄ ࠂ੟بө૑ ೲਊ೧ঠ ೤פө? ▸ ௿ېझܳ ੿੄ೞח ؘ ୭؀ ݻ ઴ ө૑ ೲਊ೧ঠ ೤פө? ▸ ঴݃ա ݆਷ ௏٘о పझ౟ غযঠ ೤פө?

Slide 3

Slide 3 text

द੘ೞӝ

Slide 4

Slide 4 text

ױೞա੄઱ࢳبহ੉ѐߊਸ೧بؾפө ૑৉߸ࣻࠁ׮੹৉߸ࣻܳࢶഐ೧بؾפө ನੋఠоOVMMੋ҃਋ ੉чਸഛੋೞ૑ঋইبؾפө য়ט੄ݾ಴ द੘ೞӝ NO!

Slide 5

Slide 5 text

WARMING UP చҗڸযॳӝ ▸ ׮਺ ௏٘ীࢲ a= -10 ੌٸ, number ੄ ч਷? public class Main { } 2. Number = -10 1. Number = 0 public int number; public void assignIfPositive(int a) { } if(a > 0) number = a; System.out.println("a is positive"); ௏٘ח ׮ܲ ࢎۈҗ ੄ࢎࣗా ೞח ୐ߣ૩ ࣻױ੉׮. 2. Number = -10

Slide 6

Slide 6 text

ҳࢿҗ ҳઑ લ਷௏٘ ▸ ׮਺ ௏٘੄ Ѿҗ ч਷? public void doProcessRandomly() { double n = Math.random(); if (n > 10) { System.out.println("n is over 10"); } else { System.out.println("n is " + n); } } 2. N is over 10 1. N is 0.15.. 3. Random ل ઺ ೞա 1. N is 0.15.. ▸ Math.random() ೣࣻח 0җ 1ࢎ੉੄ чਸ ߈ജೠ׮. // if ղ੄ ௏٘ח ੺؀ प೯ ؼ ࣻ হח લ਷ ௏٘׮. double n = GdgUtils.getRandomValue(); ▸ ழझథ ೣࣻо ٜযр׮ݶ? ࠛ೙ਃೠ ௏٘ח ૑ਕ઱੗

Slide 7

Slide 7 text

ҳࢿҗ ҳઑ ▸ ׮਺ ௏٘ী ࣻ੿੘স੉ ٜয৳णפ׮. Price < 0 ੌ ٸ, “੤ੑҊ ৘੿” ਵ۽ ߄Լ઱ࣁਃ. /** * ݅ড price о 0 ࠁ׮ ੘ਵݶ ಿ੺ਸ ୹۱ೠ׮. * @param price оѺ */ public void displayPrice(int price) { String message; if(price < 0) { message = "ಿ੺"; } else { message = price + "ਗ"; } System.out.println(message); } “੤ੑҊ ৘੿";

Slide 8

Slide 8 text

ҳࢿҗ ҳઑ সؘ੉౟غ૑ঋইपઁ೯زҗੌ஖ೞ૑ঋח઱ࢳ ▸ Price чਸ ୹۱೧ ࠇद׮. જ਷ ઱ࢳ਷ ௏٘ܳ ݺഛೞѱ ೞҊ Ӓ ٍী ऀ਷ ੄޷ܳ ࢸݺೠ׮ Main.display..

Slide 9

Slide 9 text

߸ࣻ ബਯ੸ੋ߸ࣻࢶ঱ ▸ Bobҗ John੄ Score ח? int scoreBob, 1. scoreBob = 10, scoreJohn = 10 2. scoreBob = 0, scoreJohn = 10 2. scoreBob = 0, scoreJohn = 10 https://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141270.html#2992 ೠ ઴ীח ೞա੄ ߸ࣻ݅ ࢶ঱ೞ੗. scoreJohn = 10; int

Slide 10

Slide 10 text

߸ࣻ ఋੑ୓҅ܳ৮੹൤ঈਊೞӝ int status_code = connect_to_device(); switch (status_code) { case 0: display_info(info_message[1]); break; case 1: reattempt(); break; case 2: display_warning(warning_messages[3]); break; } ▸ status_code == 1 ࢚క ч਷? ী۞௏٘ࠁ׮ח ৘৻о ੌ߈੸ਵ۽ ӂ੢ػ׮. // ???

Slide 11

Slide 11 text

߸ࣻ DeviceStatus status = connect_to_device(); switch (status) { case SUCCESS: display_info(info_message.CONNECTION_SUCCEEDED); break; case ERROR_NO_PINGBACK: reattempt(); break; case WARNING_CONNECTION_SLOW: display_warning(warning_messages.CONNECTION_SLOW); break; } ࢚క ௏٘ܳ ࢎਊೡ ٸח пп੄ ݫद૑о ޖ঺ਸ ׸Ҋ ੓ח૑ ݺഛ൤ ॄળ׮. public enum DeviceStatus { SUCCESS = 0, WARNING_CONNECTION_SLOW, ERROR_NO_PINGBACK }

Slide 12

Slide 12 text

ઑѤޙ ؀উ਷হ׮ ▸ ੼ࣻо 60੼ ੉࢚੉ۄݶ “Pass”ܳ ઱ࣁਃ. public void calculateGrade(int score) { if (score > 60) { grade = "Pass"; } ▸ ੼ࣻо 40੼ ੉ۄݶ? } else { grade = "Fail"; } } ▸ ੹ޙ੸ਵ۽ ੘ࢿػ ࣗ೐౟ਝয੄ if ޙ ઺ 50~80%ী else ੺੉ হ׮ח Ѫ੉ ߋഃ઎׮. (Elshoff, 1976) ৘࢚ оמೠ ч ৻ী ೦࢚ ݅ੌ੄ ࢎకܳ Ҋ۰ೞ੗.

Slide 13

Slide 13 text

߈ࠂޙ ఎ୹਷ղ݋؀۽ while(true) { //ୡ௒݁੉ۄݶ ղо ਗೞ؍ Ѫ੉׮! if (currentSnack.getType().equals("Chocolate")) { chosenSnack = currentSnack; break; } // Ӓۧ૑ ঋ׮ݶ Ӗܖబ੉ হח ࠺झఉਸ ࢶఖೞѷ׮! else if (currentSnack.getType().equals("Biscuit")) { boolean containGluten = hasGluten(currentSnack); if(!containGluten) { chosenSnack = currentSnack; break; } } // হਵݶ ׮਺ਵ۽ ֈযр׮. if (snackIterator.hasNext()) { currentSnack = snackIterator.next(); } else { break; } } for(int i = 0; chosenSnack == null && i < snacks.size(); i++) { chrrentSnack = snacks.get(i); switch(currentSnack.getType()) { case "Chocolate" : chosenSnack = currentSnack; break; case "Biscuit" : if(hasGluten(currentSnack)) { chosenSnack = currentSnack; } break; } } ▸ ৈ۞ ѐ੄ ߈ࠂ ઙܐ੼਷ ҃۽ܳ ࠂ੟ೞѱ ٜ݅Ҋ ௏٘ ੉೧ܳ য۵ѱ ݅ٚ׮. ೞա੄ ߈ࠂޙীח ೞա੄ ઙܐ੼݅ ك׮. ▸ break, continue, return

Slide 14

Slide 14 text

ࢲ࠳ܖ౯ ߈ജчਸо૑Ҋ֥ইࠁ੗ ▸ ৖੄ ௏٘੄ Ѿҗ ч਷? void move(int x, int xDistance, int y, int yDistance) { x += xDistance; y += yDistance; } void recordMovement(int x, List xs, int y, List ys) { xs.add(x); ys.add(y); } void displayMoves() { int xPos = 5; int yPos = 5; List xMoves = new ArrayList<>(); List yMoves = new ArrayList<>(); System.out.println("X :" + xPos + ", Y :" + yPos); move(xPos, 10, yPos, -20); recordMovement(10, xMoves, -20, yMoves); System.out.println("X-Movements : " + xMoves); System.out.println("Y-Movements : " + yMoves); System.out.println("X :" + xPos + ", Y :" + yPos); } X : Y : X-Movements: Y-Movements: X : Y : 5 5 5 5 10 -20 ࢲ࠳ܖ౯੉ ߸ࣻܳ ࣻ੿೧ঠ ೠ׮ݶ ࢜۽਍ чਸ ٜ݅য ߈ജೞ੗.

Slide 15

Slide 15 text

௿ېझ৬ ё୓ ਬোೞ૑ঋ਷ҙ҅ ▸ Ҋন੉ܳ ୶оೞח ௏٘ܳ ੘ࢿ೧ ઱ࣁਃ. public static void main(String[] args) { PetFeeder feeder = new PetFeeder(); Dog lassie = new Dog(); feeder.giveFood(lassie); class Cat { public void feed() { System.out.println("cat feed"); } } class PetFeeder { public void giveFood(Dog d) { d.feed(); } class Dog { public void feed() { System.out.println("dog feed"); } } ઱য૓ ௿ېझ } Cat felix = new Cat(); feeder.giveFood(felix); giveFood(felix); } public void giveFood(Cat c) { c.feed(); }

Slide 16

Slide 16 text

௿ېझ৬ ё୓ ਬোೞ૑ঋ਷ҙ҅ ▸ Ҋন੉ܳ ୶оೞח ௏٘ܳ ੘ࢿ೧ ઱ࣁਃ. public static void main(String[] args) { PetFeeder feeder = new PetFeeder(); Dog lassie = new Dog(); feeder.giveFood(lassie); class Cat { public void feed() { System.out.println("cat feed"); } } class PetFeeder { public void giveFood(Dog d) { d.feed(); } public void giveFood(Cat c) { c.feed(); } } class Dog { public void feed() { System.out.println("dog feed"); } } ઱য૓ ௿ېझ } Cat felix = new Cat(); feeder.giveFood(felix); giveFood(felix); interface Pet { void feed(); } class PetFeeder { public void giveFood(Pet p) { p.feed(); } } implements Pet { implements Pet { ё୓૑ೱ ೐۽Ӓې߁੄ ࢸ҅ח ੋఠಕ੉झ ೐۽Ӓې߁ਸ ࢶഐೠ׮.

Slide 17

Slide 17 text

݃ޖܻ ੿ܻೞӝ ▸ ௏٘ח ׮ܲ ࢎۈҗ ੄ࢎࣗా ೞח ୐ߣ૩ ࣻױ੉׮. ▸ ࠛ೙ਃೠ ௏٘ח ૑ਕ઱੗ ▸ જ਷ ઱ࢳ਷ ௏٘ܳ ݺഛೞѱ ೞҊ Ӓ ٍী ऀ਷ ੄޷ܳ ࢸݺೠ׮ ▸ ೠ ઴ীח ೞա੄ ߸ࣻ݅ ࢶ঱ೞ੗. ▸ ী۞௏٘ࠁ׮ח ৘৻о ੌ߈੸ਵ۽ ӂ੢ػ ׮. ▸ ࢚క ௏٘ܳ ࢎਊೡ ٸח пп੄ ݫद૑о ޖ঺ ਸ ׸Ҋ ੓ח૑ ݺഛ൤ ॄળ׮. ▸ ৘࢚ оמೠ ч ৻ী ೦࢚ ݅ੌ੄ ࢎకܳ Ҋ۰ ೞ੗. ▸ ೞա੄ ߈ࠂޙীח ೞա੄ ઙܐ੼݅ ك׮. ▸ ࢲ࠳ܖ౯੉ ߸ࣻܳ ࣻ੿೧ঠ ೠ׮ݶ ࢜۽਍ ч ਸ ٜ݅য ߈ജೞ੗. ▸ ё୓૑ೱ ೐۽Ӓې߁੄ ࢸ҅ח ੋఠಕ੉झ ೐ ۽Ӓې߁ਸ ࢶഐೠ׮.