본문 바로가기

JAVA

(21)
다형성을 이용한 계산기 만들기 step 3까지 결과package org.tesk;public class Calculator { AddOperation addOperation; SubstractOperation substractOperation; MultiplyOperation multiplyOperation; DivideOperation divideOperation; public double calculate(String operator, int firstNumber, int secondNumber){ double answer = 0; char char_operator = operator.charAt(0); //연산 수행 if (char_operator ==..
자료구조 요리 레시피 메모장 만들기 / Iterator package week02.collection;import java.util.*;public class Col1 { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); Set set = new LinkedHashSet(); Map map = new LinkedHashMap(); Scanner sc = new Scanner(System.in); String dataStructure = sc.nextLine(); String title = sc.nextLine(); int idx = 1; int mapIdx = 1..
Array / List / Stack / Queue / Set / Map Array정적 배열, 선언시에 크기를 지정해 줘야 함리스트보다 삽입, 삭제가 느리지만 조회가 빠름생성 : int[] intArray = new int[3]; / int[] array = {1,2,3,4};길이 : intArray2.length동일한 값으로 넣기 : Arrays.fill(intArray, 1);public class Arr01 { public static void main(String[] args) { //배열 생성 int[] intArray = new int[3]; //{0,0,0} int[] array = {1,2,3,4}; boolean[] boolArray = new boolean[3]; //{false, false, false..
자바 기본 문법 / 얕은 복사와 깊은 복사 / String 자동 형변환여러 타입의 변수 여러 개를 연산했을 때, 결과값은 가장 큰 타입의 피연산자 타입으로 변환됨!float + double => doublepublic class W02 { public static void main(String[] args) { // 자동 형변환 int a = 10; int b = 329; float af = a; float bf = b; float cf = 35.0f + a; // 실수로 나온다! System.out.println(af); System.out.println(bf); System.out.println(cf); }} 삼항연산자 & 비트연산자p..
요리 레시피 메모장 만들기 / 배열, 입출력, 형변환 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String title = scanner.nextLine(); float star = scanner.nextFloat(); scanner.nextLine(); //버퍼에 남아있는 \n을 가져와 비움 float percentage_star = (star / 5.0f) * 100; String[] recipe = new String[10]; for (int i = 0; i  배열향후 미리 저..
JAVA의 형변환과 자료형타입 소수점을 표현하는 방식고정소수점 00.00 → 소수점의 길이나 바이트 수를 미리 제한해 놓은 것부동소수점 → 부호, 지수, 가수부의 영역만 정해 놓고 곱한 값을 저장해서 표현하는 방식 → 엄청 많은 수 표현 가능그렇기 때문에 float(4byte)여도 long(8byte)보다 더 큰 수를 표현할 수 있음char과 String의 차이char(byte)('')문자 뒤에 널문자(\0)가 없음, 1byte만 사용하기 때문기본형String("")문자 뒤에 널문자 존재, 어디가 끝인지 알아야 되기 때문참조형문자자료형 : 메모리는 이진수만 기록하므로 문자에 해당하는 유니코드값으로 매칭시켜 저장 기본형과 참조형 기본형 변수 : 원본값이 Stack 영역(정적영역 = 크기가 얼마인지 지정되어 있어야 함)으로 할당된 메모리..
JVM과 자바 컴파일 과정 JVM어떤 침대에 깔아도 똑같이 편안하게 해주는 침대 메트리스의 토퍼같은 역할어떤 운영체제에 상관없이 (리눅스, 윈도우, 맥 .. ) 자바를 실행시킬 수 있게 해주는 자바 가상 머신가상머신 = 가상의 기기를 만들어 주는 것JVM을 통해 자바의 플랫폼 독립성이 보장되는 것!  Compile1. 정적 컴파일 과정 : JAVA Compiler(javac) .java파일 코드를 .class(바이트코드)파일로 변환하는 변환기.java 코드 : 사람이 이해할 수 있는 코드.class 코드(바이트 코드) : 운영체제가 이해할 수 있는 코드, jvm에서 실행되기 위한 형태로 변환된 코드 2.  동적 컴파일 과정 : interpreter & JITinterpreter : 바이트코드를 한 줄씩 읽어서 실행JIT : 자주 ..
보너스 문제: 가위 바위 보 import java.util.*;public class 가위바위보 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Random random = new Random(); List words = Arrays.asList("가위", "바위", "보"); int winCount = 0; for (int i = 0; i gifts = new HashMap(); gifts.put(0, "꽝"); gifts.put(1, "초코비인형"); gifts.put(2, "부리부리맨인형"); gifts.p..