자바 진영에 있는 많은 소프트웨어들은 자바가 설치되어있는 폴더를 공유를 한다.
JDK는 소프트웨어 개발 키트 JRE는 프로그램을 실행하는 환경 JVM은 JRE에 있다.
자바는 부호 비트가 존재한다.
ex) 1 0 0 0 1 0 0 1
최상위 비트가 1이므로 -128 + 8 + 1 = -119
Machine의 Memory Allocation & Management
-primitive Type : 미리 정해진 크기의 Memory Size로 표현
-Reference Type : 미리 정하지 못함
로컬 변수는 default value가 없다. 메서드 안쪽에 선언된 변수가 로컬 변수이다. { }
밖으로 나가면 즉시 삭제된다.
상수 (JS에 const 처럼 값을 못박는 개념)
작은 Type => 큰 Type : 자동 형 변환
큰 Type => 작은 Type : 오류 , 명시적 형변환 필요
정수형은 실수형으로 자동 형변환
long var = 100;
float fvar = var;
String s1 = "hello";
String s2 = new String("hello");
char[] s = "hello" // error
증감 연산자는 변수 앞에가서 붙어야함
JVM
JRE
JVM + API (class 나 api들 core library (math 등) )
자바를 실행하려면 JRE가 필요하므로 많은 컴퓨터에 깔려있다.
JDK
java => class 파일
jvm 이 class를 실행함
JDK zulu 8
IDE elipse EE 2018
CPU에 ROM 과 RAM 에 접근을 하는데 32비트로하면 4GB까지만 자바는 32비트 이내로 설계되어 있다 힙 공간을 4GB 이상으로 설정하면 64비트 체계로 돌아가고 아니면 32비트로
두 개의 타입이 같아야 한다. => 같은 타입의 결과
타입이 다르면 큰 타입으로 자동으로 형변환 해줌
int 형보다 작은 타입은 전부 int 로 바뀜 ( int , char , byte , short )
++ 변수 : 전치 증감연산자 => 증감 후 변수 참조
변수 ++ : 후치 증감연산자 => 변수 참조 후 증감
k << n // k * 2^n
class 명과 파일명이 일치
//end of main
//end of class
if ~ else
switch case (라벨)
삼항 연산자
케이스가 많으면 if ~ else 보다 switch ~ case가 빠르다 ( 내부적으로 해싱 기법을 사용 )
for : 반복 횟수 , 범위를 미리 알고 있는 경우
while : 반복 횟수를 모르는 경우
do-while : 반드시 1회 실행을 보장해야 하는 경우
break , continue 는 가짓수가 많아지기 때문에 쓰지 않는것이 좋다. (남발하지 말자)
비 원시자료형 : 원시 자료형들을 이용해서 만든 자료형
public class Main{
public static void main(String[] args){
int a = 200;
System.out.format("8진수 : %o\n" , a); // 310
System.out.format("16진수 : %x" , a); // c8
}
}
public class Main{
public static void main(String[] args){
String name = "John Doe";
System.out.println(name);
System.out.println(name.substring(0,1)); // J
}
}
Scanner() 함수를 이용하여 사용자와 상호작용할 수 있다.
Scanner sc = new Scanner(System.in);
sc.nextInt();
sc.close();
import java.io.File;
File file = new File("input.txt");
try{
Scanner sc = new Scanner(file);
while(sc.hasNextInt())
{
System.out.println(sc.nextInt() *100);
}
sc.close()
} catch (FileNotFoundExcecption e){
System.out.println("파일 읽기 오류");
}
//반환형 , 함수명 , 매개변수
public static int function(int a , int b , int c ){
return 0;
}
210118
과제 데일리 실습
hwjava01_10_최동욱
wsjava01_10_최동욱
.java 파일로 제출
시험 다음주 월요일 실기 ( 나열 해주면 조건에 맞게 프로그래밍)
과목평가는 필기 4지선다 + 단답형 2문제가 서술형
일타싸피 : 포켓볼 코드로 만들기
관통프로젝트 : 필수 입력사항 + 부가사항