본문 바로가기

TIL

2주차 강의 필기

java 프로그램을 만든다 = java 소스 코드를 작성한다

소스 코드(원시 코드)라고 하는데 .java 파일(텍스트 파일로 구성)

class( 프로그램의 구성 요소) = .java 파일 하나 

 

꾸며주거나 설명하는 게 앞에 오고, 이름이 뒤에 온다 ex 매우 강한 사람

실행할 수 있는 프로그램을 만들기 위해서는 main method 를 만들어 줘야한다

public static void main(string[] args  boilerplate 라는 하는데 외워야 한다

 

hello, world 라는 프로그램을 만든다면 먼저

system.out.println() 라는 걸 적어야 하는데 system.out(출력 부분)시스템에 출력을 해줄때 인출은 

system.in(인출 부분) ex 컴퓨터는 키보드로 인출을 하고 모니터로 출력을 해준다

print/ln 즉 우리가 프로그램을 실행해서 보여주는 것을 말한다 ln은 다음줄로 넘겨주겠다 라는의미

여기서 ()는 println이 어느정도 영향을 주냐 하는 걸 표시한다.

 

semi colon(;) 은 예를 들어서 안녕, 나는 홍길동이야 라고 하면 끝에 . 를 붙여주는게 문법적으로

맞듯이 ,문장의 끝을 알릴 때 .는 java에서 다른 곳에서 쓰이기 때문에 ;을 써준다. 

중괄호{} 는 block을 만들어 준다(문단, 폴더)

public class hello { public static void main(string[] args) {system.out.println("hello,

world!") 로 예를 들면 헬로우 라는 폴더 안에 main이라는게 있고 그 안에는 print라는 게 있다 라는식

으로 해석을 할 수 있다. 

자바 언어를 실행을 할려면 컴파일을 해줘야 하는데 컴파일을 하면 class 파일이 생긴다. 이 파일을 

실행하면 (jvm) 이라는 곳에서 실행이 된다.  실행을 할려면 terminal 에서 javac src/이름 을 입력하면

컴파일이 진행된다. 

 

 

2. 변수와 타입

 

1. 관심사의 분리: 부품들을 결합해서 하나의 프로그램으로 만든다. 기준을 가지고 나눠준다.

변수( variable)  꾸며주는게 앞 이름이 뒤 어떤 값에 이름을 붙여 주는 것

타입 (type) : 데이터/값의 종류 타입의 종류에는 8가지 있다

 1 byte.  8 bits (1byte) 정수형  표현할수 있는 범위는 2^비트수 만큼의 숫자 비트가 클 수록 표현할 수 있는 양이 크다 

2 short   16  bits (2byte) 정수형

3 lnt -  32bits (4byte) integer  소수점이 없는 정수

4 long. 64bits (8byte)

5 float  32비트 부동소수점

6 double  64bits 부동소수점

7  boolean   참/거짓 true/false

8  char   문자  16bits (2byte) 문자 자바에서

9 string  문자열 N bytes ... 가변 길이/크기 문자열

리터럴(literal) 값을 표현하는 방법. 숫자 리터럴 1 2 3 문자 리터럴 'h' 'e' 문자열 리터럴 'hello'

주석(comment) // : 이 줄은 프로그램이 아니다 라는 걸 표시해준다

기본 값 (default) 숫자일 경우엔 0, 문자일 경우에는 "" ( 빈 문자열)

program 어떤 일의 순서이다 

공백이라는 표현 가능 " " 

문자열에 +를 사용하면 문자열을 연결시켜준다. 

 

입출력

 

scanner 어딘가에서 값을 가져오는 도구 system in 입력을 한다. 어딘가는 어딘가? 키보드다 이름을 입력하면 

인사를 해주는 프로그램을 만들려면 nextline 은 입력을 받는다 라고 생각을 하면 된다 

new 는 create랑 같은 의미 이다 타입을 실체화 한다

hellotoyou 라는 프로그램을 만들어 줄건데 이것은 나의 이름을 입력을 하면 환영해주는 프로그램이다. bolierplate를 깔고 난 뒤 what's your name? 이라고 질문을 해줘야 하기 때문에 system out print를 작성을 한뒤 이름을 입력하면 환영인사를 해주는 시스템을 만들어야 하는데 그것을 위해서  scanner 라는 도구를 사용한다. 이 scanner는 인풋을 받는거여서 system in을 써야야 기능은 값을 가져오는 도구이다 그러면 어디서 가져오냐? 바로 키보드다 한줄의 이름을 입력을 받아오기 위해 nextline을 사용 한다.  이름을 입력하면 hello 이름으로 환영인사를 해주기 위해 system out print를 사용해준다.

 

조건문

 

숫자 두 개를 입력 받고 숫자 두개의 합을 입력해서 답을 입력하면 genius, stupid 를 출력

boolean 참과 거짓을 판별해줌 boolean result = 1 =1 이 에러가 나온다 왜?

 예를 들어 x=1 이면 x를 1이라고 부르겠다 또는 x에 1일 할당했다 라고 표현하는데 

 result를 1이라고 할당을 해주는데 1을 또 할당을 해주겠다 라는 의미가 되어서 에러가 나옴

=는 변수에 값을 지정/ 값에 이름을 붙여줌 

비교는 double equal 을 써주는데 ==이라고 표현한다 두 값이 같은지 비교해줌

 

연산자 우선순위

flow control 조건에 따라 다르게 행동 조건문 (~하면 ~해라)

이런 식으로 조건문을 사용해주면첫 번째 조건문에서는 x+y와 x*y의 값이  모두 같다면 genius라는 문장이 출력된다

x+y의 값이 같고 x*y의 값이 틀리거나 x+y의 값이 틀리거나 x*y의 값이 맞는 경우에는 muggle이라는 문장이 출력된다 

그리고 x+y, x*y의 값이 모두 다르다면 stupid가 출력이 된다. 

 

프로그래밍은 중복되는 것을 줄여주는게 중요하기 때문에

answer 1, 2가 모든 문장에서 반복이 되어 boolean(참과 거짓) 으로 묶어줌 또한 result 가 틀렸다는 의미로 앞에 not의 의미를 갖는 !를 붙여 주어서 위에 있는 코드와 동일한 의미를 갖게 해줌

 

 

'TIL' 카테고리의 다른 글

for문  (0) 2022.05.23
메가테라 2주차 주간 회고  (0) 2022.05.21
메가테라 1주차 주간회고  (0) 2022.05.15
혁신의 아이콘 이였던 애플은 어디로?  (0) 2022.05.14
지피지기 백전불태?  (0) 2022.05.08