본문 바로가기

코딩일기

java 시작!

21.08.23(월)

회사에서 억지로 코딩을 그래도 찍먹수준으로는 익혀서

기본 html문법 및 css문법까지는 어느정도 익히고 있었다. (다행스럽게도)

그래서 자바부터가 진짜 배움의 시작 느낌이다.

그런데 웬걸ㅋㅋ 너무 어려워!!!! 헷갈린다고!!!

 

-

🙄그와중에 스파르타코딩 4주차 시작주에 아직도 1주차 절반쯤 하고있음^^부지런히 따라가야한다.

이전주는 휴가주여서 뭐든 하기싫었음. 그래서 이렇게 밀린거...ㅜ 이제진짜해야돼...흑흑..😭


* Javascript 기초 문법 배우기(1)

 

[크롬 개발자도구]를 열어서, console 탭에 작성합니다!

그냥 쉽게, "마우스 오른쪽 클릭 → 검사 → console"도 가능!

크롬 개발자도구 콘솔창은 어떤 의미? > 띄워놓은 페이지에서 빠르게 자바스크립트를 테스트해볼 수 있게,

개발자들을 위해 만들어둔 도구입니다. 새로고침하면 모두 사라진다는 사실!

 

-단축키-

윈도우: F12

맥: alt(option) + command + i

 

console.log(변수)

console.log(변수) 는, 콘솔 창에 괄호 안의 값을 출력해줍니다. 개발자가 결과값을 보기 편하도록!

console.log(변수1,변수2) 로 여러 변수를 한번에 출력할 수도 있어요.

아래를 복사해서 붙여넣어보세요. console.log("Hello World!");

 

변수 & 기본연산

변수 대입( a = 2 )의 의미: "오른쪽에 있는 것을 왼쪽에 넣는 것!" (2를 a라는 변수에 넣는다)

 

-let으로 변수를 선언합니다.-

let num = 20

num = 'Bob'

// 변수는 값을 저장하는 박스예요.

// 한 번 선언했으면, 다시 선언하지 않고 값을 넣습니다.

 

-사칙연산, 그리고 문자열 더하기가 기본적으로 가능합니다.-

let a = 1

let b = 2

a+b // 3

a/b // 0.5

 

let first = 'Bob'

let last = 'Lee'

first+last // 'BobLee'

first+' '+last // 'Bob Lee'

first+a // Bob1 -> 문자+숫자를 하면, 숫자를 문자로 바꾼 뒤 수행합니다.

 

-변수명은 아무렇게나?-

let first_name = 'bob' // snake case라고 합니다.

또는, let firstName = 'bob' // camel case라고 합니다. 회사마다 규칙이 있죠.

과 같이, 쉽게 알아볼 수 있게 쓰는 게 중요합니다. 다른 특수문자 또는 띄워쓰기는 불가능합니다!

 

리스트 & 딕셔너리

 

-리스트: 순서를 지켜서 가지고 있는 형태입니다.-

let a_list = [] // 리스트를 선언. 변수 이름은 역시 아무렇게나 가능!

 

// 또는,

 

let b_list = [1,2,'hey',3] // 로 선언 가능

b_list[1] // 2 를 출력 b_list[2] // 'hey'를 출력

 

// 리스트에 요소 넣기 b_list.push('헤이')

b_list // [1, 2, "hey", 3, "헤이"] 를 출력

 

// 리스트의 길이 구하기

b_list.length // 5를 출력

 

-딕셔너리: 키(key)-밸류(value) 값의 묶음-

let a_dict = {} // 딕셔너리 선언. 변수 이름은 역시 아무렇게나 가능!

 

// 또는,

 

let b_dict = {'name':'Bob','age':21} // 로 선언 가능

b_dict['name'] // 'Bob'을 출력

b_dict['age'] // 21을 출력

b_dict['height'] = 180 // 딕셔너리에 키:밸류 넣기

b_dict // {name: "Bob", age: 21, height: 180}을 출력

 

-리스트와 딕셔너리의 조합-

names = [{'name':'bob','age':20},{'name':'carry','age':38}]

 

// names[0]['name']의 값은? 'bob'

// names[1]['name']의 값은? 'carry'

 

new_name = {'name':'john','age':7}

names.push(new_name)

 

// names의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]

// names[2]['name']의 값은? 'john'

 

-왜 필요할까요?-

순서를 표시할 수 있고, 정보를 묶을 수 있습니다.

앞에서 언급한 <스파르타과일가게>가 정말 잘 되어서 전국에서 손님이 찾아오고 있습니다.

대기표를 작성하기 위해서 온 순서대로 이름, 휴대폰 번호를 적도록 하였는데요.

변수만을 사용한 모습은 다음과 같습니다.

 

let customer_1_name = '김스파';

let customer_1_phone = '010-1234-1234';

let customer_2_name = '박르탄';

let customer_2_phone = '010-4321-4321';

...(알아보기 힘듭니다.)

 

👉딕셔너리를 활용한다면 다음과 같이 고객 별로 정보를 묶을 수 있습니다.

let customer_1 = {'name': '김스파', 'phone': '010-1234-1234'};

let customer_2 = {'name': '박르탄', 'phone': '010-4321-4321'};

👉그리고 순서를 나타내기 위해 리스트를 사용하면, 이렇게나 깔끔해집니다.

let customer = [

  {'name': '김스파', 'phone': '010-1234-1234'},

  {'name': '박르탄', 'phone': '010-4321-4321'}

]

✅보기에도 깔끔해지고, 다루기도 쉬워지고, 고객이 새로 한 명 더 오더라도 .push 함수를 이용해 간단하게 대응할 수 있습니다.

 

기본 함수들

사칙연산 외에도, 기본적으로 제공하는 여러 함수들이 존재합니다.

 

! 왠지 이건 있을 것 같은데?(예 - 특정 문자를 바꾸고 싶다 등) 싶으면 직접 만들지 말고 구글에 먼저 찾아보세요!

 

예를 들면,

1) '나눗셈의나머지'를 구하고 싶은 경우

let a = 20

let b = 7

 

a % b = 6

 

2) 모든 알파벳을 대문자로 바꾸고 싶은 경우

let myname = 'spartacodingclub'

myname.toUpperCase() // SPARTACODINGCLUB

 

3) 특정 문자로 문자열을 나누고 싶은 경우

let myemail = 'sparta@gmail.com'

let result = myemail.split('@') // ['sparta','gmail.com']

 

result[0] // sparta

result[1] // gmail.com

 

let result2 = result[1].split('.') // ['gmail','com']

result2[0] // gmail -> 우리가 알고 싶었던 것!

result2[1] // com myemail.split('@')[1].split('.')[0] // gmail -> 간단하게 쓸 수도 있다!

 

-----??

아니 뭐야 수업시간엔 다르게 썼는데????? 아니적이요 수업자료랑 다르게하면 저같은 초보는 운다고요 ㅠㅠㅠ

일단 캡처 첨부해둬야지 ㅠㅠ

split 사용

 

-----------------------------???

 

4) 특정 문자로 나누고 싶은 경우 2

let txt = '서울시-마포구-망원동'

let names = txt.split('-'); // ['서울시','마포구','망원동']

 

5) 특정 문자로 합치고 싶은 경우

let result = names.join('>'); // '서울시>마포구>망원동' (즉, 문자열 바꾸기!)

'코딩일기' 카테고리의 다른 글

2주차 시작!  (0) 2021.08.24
java (2)  (0) 2021.08.23