DW아카데미 개발자과정/25년 2월

🚩 20250205_수업내용(반복문*무한루프 for*while/함수선언)

tlssunw 2025. 2. 5. 17:29

오전 수업 ) 자바

for 문

for (초기값; 조건식; 증감식) {

반복할 내용

}

초기값 -> 조건식 비교 -> 참이라면 -> {내용실행} -> 증감식 -> 조건식 비교 -> {내용실행} -> 조건식 비교

 

10부터 100까지의 총합을 구하세요

(10단위의 숫자들만 계산)

 

Scanner

scanner가 public 코드 안에 있

 

 

무한루프 for문

조건식이 거짓이 안나오면 무한재생, 조건식 자리에 아무것도 적지 않거나 true를 삽입

 

무한루프 종료하는 방법

1. break

무한루프의 종료 시점을 정해두어 break를 걸어줘야 한다.

break는 해당 제어문(반복문, switch)을 종료시키기만 한다.

 

2. return

return은 메서드를 종료시킨다.

 

3. num!=0;


중첩 for문

 

2단부터 9단까지 중첩 for문 사용해 나타내보기

조건문 한 개로 구구단 표현하기


while문

int i=1; //초기값

while(i<=10) { //조건식

i++; // 증감식}

 

-. 반복횟수가 정해져 있는 경우 for문이 가독성 좋다

-. 반복횟수가 없는 경우 while문이 가독성이 좋다

 

컴퓨터가 제시한 숫자를 내가 맞추는 게임

동전 앞면 뒷면 맞추기 게임

내 돈이 바닥 날 때 까지 게임 진행

 

+ 몇 번을 이겼는지

두 줄 이상일 경우 괄호로 묶어줘야 함


querySelector VS getElementBYId 비교

 

document.querySelector()

-. () 안에 모든 태그, 아이디, 클래스가 들어갈 수 있다.

-. 원하는 앨리먼트 선택이 구체적 (ex. querySelector("#userForm #userName") <- userForm안에 userName을 잡아옴

const user = document.querySelecor("#userName")

 

document.getElementById()

-. () 안에 아이디만 들어갈 수 있다.

-. 

const user = document.getElementById("userName")

 

querySelector VS getElementByID

-. 공통점 : 일치하는 앨리먼트가 없을 때 null 값을 반환한다

-. 차이점 : 


함수 선언 종류

function 함수이름 () {}

const 함수이름 = () => {}

 

함수의 scope(범위)

함수 밖에서 선언한 변수를 함수 안에서 똑같은 변수명으로 선언하면 함수 안에서 선언한 변수로 사용해야함

const personMaker = () => {
  //함수
  let person = {}; //객체
  person.name = "신선우";
  // person['name']="신선우"

  console.log(person);
};
console.log(personMaker);

 

1. 함수가 만들어지는 시점 위의 해당 파일의 모든 변수를 사용할 수 있음

2. 만약 함수 안에서 바깥에 존재하는 변수와 같은 이름으로 변수를 선언한다면 함수 안에 변수가 우선순위를 가져감

3. 함수를 호출할 때는 함수 만든 시점보다 아래에서 함수 이름()로 호출

4. 함수에는 ()가 존재한다.

// 함수이름 personMaker 를 만드새용
const personMaker = (target, value) => {
  //함수
  //   let person = {}; //객체
  person.name = "신선우";
  // person['name']="신선우"

  let copy = { ...person }; //객체의 경우 {...다른객체} 다른객체의 이름을 적어주면 됨.
  copy[target] = value;
  person = copy;

  console.log(copy);
};

// 함수를 호출하는 곳의 ()안에 함수에서 받기로 한 인자값을 넣어주면 됨
// ** 함수를 만들 때 인자값을 받지 않으면 (공백으로 비워두면) 함수 호출할 때 아무것도 안 넣어도 됨
personMaker("name", "신선우");

// age = 20 넣어보기
personMaker("age", "20");

// nationality 한국
personMaker("nationality", "한국");

 

  함수를 만드는 곳에서 ()안에 인자값을 받아옵니다. 이때 인자의 이름은 마음대로 지을 수 있습니다.

** 인자를 여러개 받아올 수 있음 ","로 값을 구분합니다

  ★ 최대 인자의 수는 5개를 넘어가지 않기로 약속합니다

 

 

input

연습해봄...

let user = {};

const select = document.querySelector("select");
const h1 = document.querySelector("h1");
const form = document.querySelector("form");
const input = document.querySelector("input");

h1.innerText = "잘잡앗당";

form.style.borderColor = "magenta";

form.addEventListener("submit", (event) => {
  event.preventDefault();

  h1.innerText = "준비됨";
  h1.style.color = "magenta";

  h1.innerText = input.value; //input의 값은 항상 문자열이다

  // user.name='유저의 이름을 바꿀 수 있습니다.
  // user.mobile='유저의 연락처를 바꿀 수 있습니다
  // user['name']='새로운이름'
  // []안에 문자열을 변수로 처리하면 됨

  user[select.value] = input.value;
  if (select.value === "age") {
    user.age = Number(input.value);
  }
  input.value = "";

  console.log(user);
});

const p = document.querySelector("p");

document.addEventListener("keydown", (event) => {
  console.log(event.key);
  Text = text + event.key;
  console.log(text);

  p.innerText = text;
});
👌 오늘의 자바 과제 (~2/6)
내가 제시한 숫자를 컴퓨터가 맞추는 코드
(업, 다운으로 상황을 조정하며 맞추도록)

1~50 중 하나를 내가 입력한다.
내가 입력한 숫자를 컴퓨터가 맞춰야 한다. (random사용)
무작위로 맞추는게 아니고 범위를 좁히면서 맞출 수 있도록 해야 한다.