[TIL] JAVA 1일차

배고픈메꾸리·2021년 1월 18일
0

SSAFY

목록 보기
1/22

환경 변수는 왜 설정을 할까?

자바 진영에 있는 많은 소프트웨어들은 자바가 설치되어있는 폴더를 공유를 한다.

jre 와 JDK의 차이

JDK는 소프트웨어 개발 키트 JRE는 프로그램을 실행하는 환경 JVM은 JRE에 있다.

부호 비트

자바는 부호 비트가 존재한다.
ex) 1 0 0 0 1 0 0 1
최상위 비트가 1이므로 -128 + 8 + 1 = -119

Type이란

Machine의 Memory Allocation & Management

-primitive Type : 미리 정해진 크기의 Memory Size로 표현
-Reference Type : 미리 정하지 못함

로컬 변수

로컬 변수는 default value가 없다. 메서드 안쪽에 선언된 변수가 로컬 변수이다. { } 밖으로 나가면 즉시 삭제된다.

final

상수 (JS에 const 처럼 값을 못박는 개념)

형변환 이란

작은 Type => 큰 Type : 자동 형 변환
큰 Type => 작은 Type : 오류 , 명시적 형변환 필요

정수형은 실수형으로 자동 형변환

long var = 100;
float fvar = var;

String

String s1 = "hello";
String s2 = new String("hello");
char[] s  = "hello"  // error

증감 연산자

증감 연산자는 변수 앞에가서 붙어야함

JVM < JRE < JDK

JVM
JRE JVM + API (class 나 api들 core library (math 등) )
자바를 실행하려면 JRE가 필요하므로 많은 컴퓨터에 깔려있다.
JDK

class 파일 (byte code)

java => class 파일
jvm 이 class를 실행함

실습 환경

JDK zulu 8
IDE elipse EE 2018

64비트 vs 32비트

CPU에 ROM 과 RAM 에 접근을 하는데 32비트로하면 4GB까지만 자바는 32비트 이내로 설계되어 있다 힙 공간을 4GB 이상으로 설정하면 64비트 체계로 돌아가고 아니면 32비트로

이항 연산

두 개의 타입이 같아야 한다. => 같은 타입의 결과
타입이 다르면 큰 타입으로 자동으로 형변환 해줌
int 형보다 작은 타입은 전부 int 로 바뀜 ( int , char , byte , short )

증감 연산

++ 변수 : 전치 증감연산자 => 증감 후 변수 참조
변수 ++ : 후치 증감연산자 => 변수 참조 후 증감

비트 shift

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 는 가짓수가 많아지기 때문에 쓰지 않는것이 좋다. (남발하지 말자)

ctrl + space

자습

자료형


비 원시자료형 : 원시 자료형들을 이용해서 만든 자료형

진수 변환

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
    
    }
}

substring

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문제가 서술형

일타싸피 : 포켓볼 코드로 만들기
관통프로젝트 : 필수 입력사항 + 부가사항

profile
FE 개발자가 되자

0개의 댓글