내일배움캠프 D+51

유제협·2021년 11월 3일
0

JAVA 기초정리

기본틀

Main.java

  public class Main {
      public static void main(String[] args){
      }
  }

자료형

코드보기

Main.java

  public class Main {
      public static void main(String[] args){
          //
          // int
          int number = 5;  
          System.out.println(number); // (출력)단축: sout+tab
          //
          // 자료형
          String hello = "Hello sparta"; 
          System.out.println(hello);
          //
          // 상수
          final int finalNumber = 1; 
          System.out.println(finalNumber);
      }
  } 

숫자

Main.java

  public class Main {
      public static void main(String[] args){
          //
          // short: 2 바이트로 표현 가능한 정수형 자료형
          short s = 1;
          System.out.println(s);
          //
          // int: 4 바이트로 표현 가능한 정수형 자료형
          int a = 3;
          System.out.println(a);
          //
          // long: 8 바이트로 표현 가능한 정수형 자료형
          long b= 4;
          System.out.println(b);
          //
          // float: 소수점 표현 가능한 자료형 
          // (뒤에 F를 붙여줘야된다.)
          float f = 5.5F;
          System.out.println(f);
          //
          // double: 좀더 큰 범위의 소수점 표현 가능한 자료형 
          // (뒤에 F를 붙여줘야된다.)
          double d = 5.5F;
          System.out.println(d);
          //
          // 자료형들이 보여줄 수 있는 최대값, 최소값 보기
          System.out.println(Short.MAX_VALUE);
          System.out.println(Short.MIN_VALUE);
          //
          System.out.println(Integer.MAX_VALUE);
          //
          System.out.println(Long.MAX_VALUE);
          //
          System.out.println(Float.MAX_VALUE);
          //
          System.out.println(Double.MAX_VALUE);
      }
  }

문자

Main.java

  public class Main {
      public static void main(String[] args){
          //
          // 문자 하나를 표현해주는 자료형 (char는 한글자만 가능)
          char c = 'A';
          System.out.println(c);
		  //
          // 논리 자료형 (불리언)
          boolean fact = true;
          fact = false;
          System.out.println(fact);
 		  //
          // 바이트
          byte data = 'd';
          System.out.println(data);
      }
  }

참조 자료형

Main.java

  public class Main {
      public static void main(String[] args){
     	  //
          int[] intEmptyArray = new int[5]; // 인덱스 방법
          System.out.println(Arrays.toString(intEmptyArray));
		  //
          int[] intArray = new int[] {1, 2, 3, 4, 5};
          System.out.println(Arrays.toString(intArray));
		  //
          String[] stringEmptyArray = new String[5];
          System.out.println(Arrays.toString(stringEmptyArray));
          //
          String[] season = {"봄", "여름", "가을", "겨울"};
       	  System.out.println(Arrays.toString(season));
	  //
	  System.out.println(season[season.length -1]);
      }
  }

연산자

코드보기

Operator.java

  public class Operator {
      public static void main(String[] args) {
	  //
  // 사칙연산
          int num1 = 10;
          int num2 = 5;
	  //
          System.out.println(num1 + num2);
          System.out.println(num1 - num2);
          System.out.println(num1 * num2);
          System.out.println(num1 / num2);
          System.out.println(0);
          //
  // 대입 연산자
          int num3 = 10;
          int num4 = 5;
          //
          System.out.println(num3);
          //
          num1 += num4;
          System.out.println(num3); // 15
          //
          num1 -= num4;
          System.out.println(num3); //10
          //
          num1 *= num4;
          System.out.println(num3); //50
          //
          num1 /= num4;
          System.out.println(num3); //10
          //
          num1 %= num4;
          System.out.println(num3); // 0
          //
  // 관계 연산자
          int num5 = 10;
          int num6 = 5;
          System.out.println(num5);
          //
          num5 += num6;
          System.out.println(num5); // 15
          //
          num1 -= num6;
          System.out.println(num5); //10
          //
          num1 *= num6;
          System.out.println(num5); //50
          //
          num1 /= num6;
          System.out.println(num5); //10
          //
          num1 %= num6;
          System.out.println(num5); // 0
          //
  // 논리 연산자
          boolean a = true;
          boolean b = false;
          System.out.println(a && b); // and : 둘 다 참인경우
          System.out.println(a || b); // or
          System.out.println(!b); // NOT
      }
  }

조건문

코드보기

onditional.java

  // if 문
  public class onditional {
      public static void main(String[] args){
          int check = 100;
          int num1 = 150;
          System.out.println("100보다 큰수 입니다.");
          //
  // switch 문
          char score = 'A';
          System.out.println("A등급 축하합니다.");
          //
  // 삼항 연산자  조건문? True : Fales
          int a= 5;
          String result = "10보다 작습니다.";
          System.out.println(result);
          //
  // for 문
          int sum = 0;
          for ( int i=0; i<10; i++){
              sum += i;
          }
          System.out.println(sum);
          //
  // for ehch 문
          // write your code here
          String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
          for(String day : days){
              System.out.println(day);
          }
          //
  // while 문
          int i =0;
          int sum = 0;
          while (i < 10){
              if (i ==4){
                  i++;
                  continue; // i == 4일때 i+1하고 이어서 아래 코드 동작
              }
              sum += (i+1);
              i++;
          }
          System.out.println(sum);
          //
  // do while 문 do 부분을 동작한 후 while문 동작
          int i =0;
          int sum = 0;
          do{
              sum += (i+1);
              i++;
          } while (i < 10){
              if (i ==4){
                  i++;
                  continue; // i == 4일때 i+1하고 이어서 아래 코드 동작
              }
              sum += (i+1);
              i++;
          }
          System.out.println(sum);
      }
  }

객체지향 언어

코드보기

클래스

object_oriented_language.java

  class Phone {
      String model;
      String color;
      int price;
  }
  public class object_oriented_language {
      public static void main(String[] args) {
          Phone galaxy = new Phone();
          galaxy.model = "Galaxy10";
          galaxy.color = "Black";
          galaxy.price = 100;
          //
          Phone iphone = new Phone();
          iphone.model = "iPhoneX";
          iphone.color = "Black";
          iphone.price = 200;
          //
          System.out.println("철수는 이번에" + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
          System.out.println("영희는 이번에" + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
      }
  }

매소드

object_oriented_language.java

  class Calculation {
      int add(int x, int y) {
          return x + y;
      }
      int subtract(int x, int y) {
          return x - y;
      }
  }
  public class object_oriented_language {
      public static void main(String[] args){
          Calculation calculation = new Calculation();
          int addResult = calculation.add(1,2);
          int subtracResult = calculation.subtract(5,3);
		  //
          System.out.println(addResult);
          System.out.println(subtracResult);
      }
  }

생성자

heritor.java

// 생성자
  class Phone {
      String model;
      String color;
      int price;
      //
      public Phone(String model, String color, int price) {
          this.model = model;
          this.color = color;
          this.price = price;
      }
  }
  public class heritor {
      public static void main(String[] args) {
          Phone galaxy = new Phone("galaxy10", "black", 100);
          Phone iphone =new Phone("iphoneX", "black", 200);
          //
          System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
          System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
      }
  }
  //
  // 생성자를 사용하지 않은 케이스
  //
  class DefaultValueTest {
      byte byteDefaultValue;
      int intDefaultValue;
      short shortDefaultValue;
      long longDefaultValue;
      float floatDefaultValue;
      double doubleDefaultValue;
      boolean booleanDefaultValue;
      String referenceDefaultValue;
  }
  //
  public class heritor {
      public static void main(String[] args) {
          DefaultValueTest defaultValueTest = new DefaultValueTest();
          System.out.println("byte default: " + defaultValueTest.byteDefaultValue);
          System.out.println("short default: " + defaultValueTest.shortDefaultValue);
          System.out.println("int default: " + defaultValueTest.intDefaultValue);
          System.out.println("long default: " + defaultValueTest.longDefaultValue);
          System.out.println("float default: " + defaultValueTest.floatDefaultValue);
          System.out.println("double default: " + defaultValueTest.doubleDefaultValue);
          System.out.println("boolean default: " + defaultValueTest.booleanDefaultValue);
          System.out.println("reference default: " + defaultValueTest.referenceDefaultValue);
      }
  }

상속

Inheritance.java

  class Animal {
      String name;
      public void cry() {
          System.out.println(name + "is crying.");
      }
  }
  class Dog extends Animal {
      Dog(String name) {
          this.name = name;
      }
      public void swim() {
          System.out.println(name + " is swimming.");
      }
  }
  public class Inheritance {
      public static void main(String[] args) {
          Dog dog = new Dog("코코");
          dog.cry();
          dog.swim();
          //
          Animal dog2 = new Dog("미미");
          dog2.cry();
          dog2.swim();
      }
  }

Overloading

Inheritance.java

  public class Inheritance {
      public static void main(String[] args) {
          // write your code here
      }
      int add(int x, int y, int z){
          return x+y+z;
      }
      long add(int a, int b, long c){
          return a+b+c;
      }
      int add(int a, int b){
          return a+b;
      }
  }

Overriding

Inheritance.java

  class Animal {
      String name;
      String color;
      public Animal(String name, String color) {
          this.name = name;
      }
      public Animal(String name) {
      }
      @Override
        void cry() {
          System.out.println(name + " is crying");
      }
  }
  class Dog extends Animal {
      public Dog(String name) {
          super(name);
      }
      public void cry() {
          System.out.println(name + " is barking");
      }
  }
  public class Inheritance {
      public static void main(String[] args) {
          Animal dog = new Dog("코코");
          dog.cry();
      }
  }

접근 제어자

코드보기

package

ModifierTest.java

  package pkg;
  //
  public class ModifierTest {
      //
      public void messageInside() {
          System.out.println("This is private modifier");
      }
      public void messageOutside() {
          System.out.println("This is public modifier");
          messageOutside();
      }
      public void messageProtected() {
          System.out.println("This is Protected modifier");
      }
      void massagePackagePrivate() {
          System.out.println("This is package private modifier");
      }
  }

access_modifier.java

  import pkg.ModifierTest;
  //
  class Child extends ModifierTest {
      void callParentProtected() {
          System.out.println("call my parent's protected method");
          super.messageProtected();
      }
  }
  //
  public class access_modifier {
      public static void main(String[] args) {
          ModifierTest modifierTest = new ModifierTest();
          modifierTest.messageOutside();
  //        modifierTest.messageInside();
  //        modifierTest.messageProtected();
  //        modifierTest.massagePackagePrivate();
          //
          Child child = new Child();
          child.callParentProtected();
      }
  }

추상 클래스

코드보기

abstract_class.java

  abstract class Bird {
      private int x, y, z;
      //
      void fly(int x, int y, int z) {
          printLocation();
          System.out.println("이동합니다.");
          this.x = x;
          this.y = y;
          if (flyable(z)) {
              this.z = z;
          } else {
              System.out.println("그 높이로는 날 수 없습니다");
          }
          printLocation();
      }
      //
      abstract boolean flyable(int z);
      //
      public void printLocation() {
          System.out.println("현재 위치 (" + x + ", " + y + ", " + z + ")");
      }
  }
  //
  class Pigeon extends Bird {
      @Override
      boolean flyable(int z) {
          return z < 10000;
      }
  }
  //
  class Peacock extends Bird {
      @Override
      boolean flyable(int z) {
          return false;
      }
  }
  //
  public class abstract_class {
      public static void main(String[] args) {
          Bird pigeon = new Pigeon();
          Bird peacock = new Peacock();
          System.out.println("-- 비둘기 --");
          pigeon.fly(1, 1, 3);
          System.out.println("-- 공작새 --");
          peacock.fly(1, 1, 3);
          System.out.println("-- 비둘기 --");
          pigeon.fly(3, 3, 30000);
      }
  }

인터페이스

코드보기

abstract_class.java

  abstract class Bird {
      private int x, y, z;
      //
      void fly(int x, int y, int z) {
          printLocation();
          System.out.println("이동합니다.");
          this.x = x;
          this.y = y;
          if (flyable(z)) {
              this.z = z;
          } else {
              System.out.println("그 높이로는 날 수 없습니다");
          }
          printLocation();
      }
      //
      abstract boolean flyable(int z);
      //
      public void printLocation() {
          System.out.println("현재 위치 (" + x + ", " + y + ", " + z + ")");
      }
  }
  //
  class Pigeon extends Bird {
      @Override
      boolean flyable(int z) {
          return z < 10000;
      }
  }
  //
  class Peacock extends Bird {
      @Override
      boolean flyable(int z) {
          return false;
      }
  }
  //
  public class abstract_class {
      public static void main(String[] args) {
          Bird pigeon = new Pigeon();
          Bird peacock = new Peacock();
          System.out.println("-- 비둘기 --");
          pigeon.fly(1, 1, 3);
          System.out.println("-- 공작새 --");
          peacock.fly(1, 1, 3);
          System.out.println("-- 비둘기 --");
          pigeon.fly(3, 3, 30000);
      }
  }

추후 내용 추가 (설명, 동작 이미지, 추가 자바기초 내용)

0개의 댓글