중앙정보기술인재개발원/JAVA

1주차 정리

soidev 2025. 3. 7. 20:40

 

 

나는 전공자이지만 내 기초가 튼튼하지 않는 거 같기도하고 방향을 못 잡겠어서

국비학원을 다니게 되었다.

다시 초심으로 돌아간 거 처럼 열심히 배워서 취뽀 하자!!

 

수업을 듣고 바로바로 정리 하는 습관을 길들이기 위해 

기록용으로 시작 해보기로했다.

 

정리하고 복습하는 것을 그만두지 않고 계속 하길 바라며 기록한다!!


3/5

 

첫 수업 아침에는 OT하고 오후에

python으로 가볍게 기초를 다지는 거 같다


ctrl+f5 - > debug
# : 주석, 해석하지 않는 것

 

프로그램 잘하는 법
1.결과 예측해야함

개발자는 오류의 싸움

 

 

 

#변수  - 프로그램의 핵심!!!! 제일 쉬운 것 처럼 보여도 제일 어려운  (메모리, 값이 변할 수 있는)

#print(qqqq) 여기선 성립이 안됨 순서 중요! 프로그램은 절차적으로 한다는게 중요
qqqq=10  #qqqq메모리 10 생성
print(qqqq)   #qqqq=변수 "qqqq" <-문자열
yy="10" #=같다 표시가 아니라 대입이라는 의미로 해석
print(yy)  
qqqq=20  #기존의 있는 값을 변경시키는 것
print(qqqq)
 
#print(aaaa) #변수 aaaa를 프린트할건데 aaaa가 선언이 안됐기때문에 오류뜸

 

 

# 산술연산자 + - * /

print("프로그램시작")
a=3
b=2
c=30

result=a+b  #숫자 10과 20을 로드하여 cpu가 30이라는 값을 생성해서 이퀄즈함
print(result)

result = a//b    #정수의 나누기가 가장 중요  / : 나누기  // : 정수의 나누기,소수점 사라짐
print(result)

result = a % b  #나머지 버전
print(result)

 

 


3/6

 

오늘은  if,while문을 배웠다

 

#오늘 배울 것 : if문
hungry = int(input("당신은 얼마나 배가 고픕니까? (0~100) > "))  #변수는 웬만하면 = 포함됨

if hungry > 50:  # ':' 무조건 써줘야함 끝에다가
    print("밥을 합니다.")
    print("수저를 놓습니다.")
    print("밥을 먹습니다.") #들여쓰기 굉장히 중요함
    hungry = hungry - 20
   
   
else :
    print("밥을 먹지 않습니다")
   
print("물을 마십니다.")

isWatchingTv = int(input("TV를 볼껀까요?(yes=1,no=0) = "))  #if 제어문입니다,else가 없는 경우 - > 만족할 경우만 실행되고 만족 안되면 넘어감.
if isWatchingTv == 1:  #== 이퀄연산자!
    #print("TV를 봅니다.")
    #hungry = hungry + 30   #배가 고플수록 + 됩니다.
    selectCategory = int(input("어떤 장르?(1=멜로, 2=코미디, 3=공포 4=나는솔로)"))
    if selectCategory == 1:
        print("멜로 영화를 본다// 행복해")
    elif selectCategory == 2:  #elseif 합친게 elif
        print("코미디 영화를 봅니다.. 헤ㅔ")
    elif selectCategory == 3:
        print("공포 영화를 봅니다. 무성")
    elif selectCategory ==4 :              #else 조금 애매할 수도 있는 코드임 그래서 그냥 정확한 코드 ㄱㄱ
        print("나는 솔로를 봅니다")
    else:    #else는 보통 예외를 넣음
        print("난 분명히 1~4 누르라고 했는데 무엇을 하니?")

    hungry = hungry+30

if hungry  > 50:
    print("간식을 먹습니다 콘칩 존맛탱~!~")
    hungry = hungry - 10
   

print("오늘 하루 즐거운 하루였다!!!!")

 

#반복문
aaa = 10
while aaa <20: #문법은 if문이랑 똑같음
    print(aaa)
    print("야호")
    print("안녕")
    aaa=aaa+1    #aaa에 1씩 증가 19까지함

print("프로그램 끝!!")

 

#1부터 10까지의 합을 출력하세요!

#변수가 논리의 핵심

qwer=1
sum =0
while qwer <= 10:
    sum = sum + qwer
    qwer = qwer + 1
    print(f"qwer :{qwer}" )  #검증 코드 변수의 변화 확인 | 정수형을 문자열로 변환
    #f: f-string 파이썬 문자열 포매팅 방식, 문자열 안에 {}를 사용하여 변수의 값을 바로 삽입
    print(f"sum :{sum}")     #검증 코드 변수의 변화 확인 | 정수형을 문자열로 변환
print(sum)          

#1부터 100까지 수 중 짝수만 합을 출력하기
a=1
total=0
while a<=100:
    if a%2 ==0:
        total = total + a
    a=a+1  
   
print(total)


 

#1부터 10까지의 수중에 3의 배수 혹은 7의 배수의합을 출력하세요!
#1부터 10까지의 수중에 3의 배수이고 7의 배수의합을 출력하세요!
#or, and
qwer=1
sum =0
while qwer <= 100:
    if qwer%3 == 0 or qwer%7==0:
        sum=qwer+sum
    qwer = qwer + 1

print(sum)          

qwer=1
sum =0
while qwer <= 100:
    if qwer%3 == 0 and qwer%7==0:
        sum=qwer+sum
    qwer = qwer + 1

print(sum)  

 

#break, contiue   <---- 반복문에서만 사용 단, if문하고 꼭 결합되어야됨.
#break = 탈출
#continue = 다시 반복...

#1부터 100까지의 수 중 3의 배수의 합

count=0  #1.변수선언
sum=0

while count <100 : #2.100까지니 while 반복문
    count=count+1
    #if not count%3==0: 아래코드랑 똑같은 코드
    if count %3!=0:  #! 부정임, 자바에서도 사용  
        continue  #while문 안에 코드를 더이상 실행하지 않는다
        #다시 위로 올라감
    sum= sum +count

print(sum)    
     

count=0  #1.변수선언
sum=0

while count <100 : #2.100까지니 while 반복문  
#반목문이 탈출하는 경우 : 조건이 성립되지않을때, break 만날때
    count=count+1
    #if not count%3==0: 아래코드랑 똑같은 코드
    if count %3!=0:  #! 부정임, 자바에서도 사용  
        break  #만나게 되는 순간 바로 나감 탈출티비 ㅋㅋ
        #다시 위로 올라감
    sum= sum +count

print(sum)    
     

 

 

count=1  #1.변수선언
sum=0

while count <=100 : #2.100까지니 while 반복문

    #if not count%3==0: 아래코드랑 똑같은 코드
    if count %3!=0:  #! 부정임, 자바에서도 사용  
        continue  #while문 안에 코드를 더이상 실행하지 않는다
        #다시 위로 올라감    
     count = count+1  #3.기초 코드 먼저 작성하기
하지만 count가 계속 일이 증가가 아니라 그냥 그대로 숫자이기때매 무한루프임
그래서 count를 0으로 선언한다음에 count+1을 위로 올림

 


3/7

 

내가 한 코드

#3.구구단을 출력해보자
left = 2
while left <=9:
    right=1
    print(f"\n******{left}단******")
    while right<=9:
        result=left*right
        print(f"{left} X {right} = {result}")
        right=right+1

    left=left+1

 

강사님이 한 코드 

x=2

while x<=9:
    y=1
    while y<=9:
        print(f"{x} X {y} = {x*y}")
        y=y+1
   
    x=x+1

 

다른 점 변수 선언안하고 그냥 print에다 연산하기 -> 간단한 코드가 됨

 

오늘 배운 것 

스위치

1+(-2)+3+(-4)+**** 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구해보시오

무한 반복문 할 때 True 씀

#스위치 변수를 활용하는 방법
x = 1
sum = 0
w = 1  #스위치 변수

while True:
   
    sum = sum + (x * w)

    if sum >= 100:
        print(x)
        break

    x = x + 1
    w = w * -1

 

#Q.1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+....+10)의 결과를 계산하시오.
#문제 그대로의 형태로 푸는 방법 (추천)
outer = 1
sum = 0
while outer <= 10:

    inner = 1
    while inner <= outer:  #여기가 핵심
        #...
        sum=sum + inner
        inner = inner + 1
    outer = outer + 1

#두번째 방법  <-더 깔끔한 방법 - <변수를 적절히 활용한 방법>
sum = 0
tempSum = 0  #한바퀴 돌 때
x = 1
while x <= 10:
    tmepSum = tempSum + x
    sum = sum + tempSum
    x = x + 1
print(sum)

#....? 음... 숫자니까 가능한 방법  공부용으로 좋지 않은 방법
sum = 0
x=1
while x <= 10:

    sum = sum + (11-x) * x

    x = x+1
print (sum)

'중앙정보기술인재개발원 > JAVA' 카테고리의 다른 글

[JAVA] Scanner  (1) 2025.03.17
[2주차] 연산자  (0) 2025.03.12
[JAVA] Garbage Colletion(가비지 컬렉션)  (1) 2025.03.12
[JAVA] 형변환 | promotion, type casting  (1) 2025.03.11
2주차 [개발 환경 세팅하기]  (1) 2025.03.10