-> 나누기 : 정수 , 실수 분리 공부
-조건 3개 : 첫번째 조건이 false나오면 -> 2,3번째는 보지도 않음
-> ++j 동작하지 않음
-> 10과 10 비교후 j는 11로 바로 늘어난다
ex05 메소드 정의
-> 항이 앞뒤로 2개 : 이항연산
(EX) 2 + 2 = 4
-> 단항연산
-> !(TURE) OR !(FALSE) : 단항연산
-> 삼항 연산자 (3개의 항)
ex06 문자열 연결 : 더하기
-> 숫자랑 연결도 가능
-> 왼쪽에서 오른쪽으로 앞에꺼 먼저 함 : 3번지
-> 빈문자열을 더해주면 문자열이 됨 -> 연결하는것이 없으니
-> 100은 그대로 남음 -> 성질만 문자열로 됨
(위에가 더 쉬워서 잘 쓰지는 않음)
-몫을 구하는 연산자 : /, 나머지 구하는 연산자 : %
y값이 temp에 전달되는 동안,
3. 5% 이자 받으려면 통장잔액이 얼마?(소수 이하는 버림)
-> 복합 연산자
-> 10으로 나눠서 9가 나오면 : 몫 -> 90점대구나 생각할 수 있음
-> 나머지 연산자 %
1.3의 배수 먼저 체크(3의 배수는 짝, 홀이 섞여있어서)
2.3의 배수가 아닌 숫자 대상으로 -> 짝, 홀 판별하기
-> 가능(나머지 0나옴) : 3으로 나눴을때 나머지 0인 수 : 0도 포함(0도 3의 배수가 나올 수도 있음)
-> 불가능 (exception 발생)
-> 3의 배수가 아니라면
짝, 홀 이자리에서 구분 시작
오류나는 이유? 타입이 안맞아서
balance long 타입
1+pct : double 소수점이 하나라도 끼면 balance도 소수점으로 바뀜
-> long은 소수점을 자동으로 넘기는 것 못함(자바가 혼자 할 수없음)
balance * ( 1+ pct)-> 소수점
-> doudble를 long으로 바꿀 수 없음(casting해야함)
분기문
메소드를 만드는것 : 정의 (메인메소드 정의는 개발자가 함)
메인 메소드 호출 : 자바가 함
-> 메인메소드는 만들어두기만 하면 됨
-> 메소드 만들기
-> 메소드 호출
삼항 연산자( 60 이상이면 합격, 아니면 불합격) -> if문
IF
앞으로 배워야하는 다른 언어들은 'ELSE' 지원하지 않음
JSTL(자바 조건식을 쓸 수 있는 태그를 넣을 수 있음 -> ELSE없음 - IF 만 쓸 수 있음)
-> {중괄호} 실행문이 하나이면 생략 가능
-> && AND는 안됨
switch
-> default는 마지막 실행문이라 break없어도 끝냄
case더이상 한번 처리되면 존재하지 않는것으로 취급해버림
-> break없으면 2개 실행시켜버림
★ 실무
String이 많을 예정
-> controller(컨트롤러) 주소창에 주소들어올때, 어떤 주소를 누가 처리할 건지 구분해주는 역할
case는 최초 진입 시점만 제공 -> break 만나거나 끝까지 하시오
switch(String : 주소) -> 주소에 따라서 수행하고 싶은 서비스 호출하는 것
★★for문 : 연속된 숫자를 생성하기 위한 목적 (실무,회사에서 많이 씀)
-> 초깃값 한번 제외 ) 조건문 -> 실행문 -> 증감문 -> 조건문
-> 반복문의 70~80% 이상 for 문
10보다 작거나 같은 숫자
10 출력한 뒤 n = 11 , 11<10 만족 x
-> for문 나와서 종료
n <= 10 10까지
n < 10 9까지
★ 1924~2023 100개의 숫자 -> for문 씀
-> 어떻게 하면 5번 늘릴 수 있을까?
-> '횟수'만 보는것!
-> 횟수 처리할 수 있는 일반화된 하나의 식으로 공부하기!!
-> 개수 세는 건 "0"에서 시작해야 한다.
-> n=1로 놓고 시작하면 안됨
★ 생각을 안하고 적을 수 있어야 함
-> count 10이 들어면 열번 동작, 100들어가면 100번 동작함
while문 -> 몇번을 반복할지 모르는 상황(많이 쓸 일없음 : 70~80%이상 for문을 씀)
-> for문은 연속된 숫자를 만들어냄 , while은 특정 조건을 만족하면 계속 함
if는 만족하면 한번만 함, while무은 조건 만족하면 실행문 계속 함
-> n=0인데 영원히 10보다 작음
n = 0 (초깃값), while (n<10) 조건문 2개는 있지만
증감문이 없다
-> 횟수는 10번, 0~9까지 나옴
do while
while문이 한번도 실행안될 수 있는 경우?
-> do while문으로 바꾸면 한번은 무조건 함(int n = 140넣어놓아도)
-> ;(세미콜론) 들어가면 완성
-> 한번은 무조건 하고 더 할건지 체크
break문
초기값 안적음 ; 조건문 안적음;
-> 프로그램을 실행시 끝이 없는것 ) 대부분임(내가 끝내고 싶을때 끝내는 프로그램임)
-> 끝내고 싶을때) if문으로 집어넣어서 break넣어서 끝낼 수 있음
10출력하고 끝내기
int 21억 4천 7백만까지
(이 무한루프는 언제끝나는지 명시하기)
-> 여기서 10을 사용했을때까
n 출력하면 n이 11이 됨
(1) 같다
(2) 부등호 (더 많이 사용됨)
continue문
7은 continue만나서 바로 올라가서 8로 됨
{중가로} 생략하지 말기
-for문 안에 for문 또 있음
-while문 안에 while문 또 있음
for 1개 - 일차원, for 2개 -이차원, for 3개 -삼차원
주석처리하는 자동 단축키 : ctrl + /
연습문제
-> true, false 사용 못함
switch 문
1. 지정된 표현식의 결과에 따라 분기 처리한다(true/false에 의한 분기처리가 아니다.)
2. 일반적으로 if문에 비해서 가독성이 좋다(코드가 잘 읽힘)
3. 각 분기를 구분하는 case와 default로 구성된다
4. break를 통해서 switch문을 종료시킬 수 있다
-> else가 90이상 아니면 이라고 명시하고 있기에
score < 90 안적어도 됨
-> 점수를 10으로 나눠서 몫을 확인할 수 있다(얼마인지)
-> default 나머지 모든 경우
-> 끝나라고 이야기 할 필요는 굳이 없음
-> default에는 적을 필요 없음
-> 둘이 같으면 2번 적지 않음
(2) if문 2개(if 중첩은 아님)
_(밑줄) 메소드 이름에 쓸 수 있음
-> 실제 상황이면 ) 삼항연산자로 해결했을 듯
★ 실무 : (점수) 오라클 DB에서 할 가능성이 높음
-> 자바에서는 점수 전달만 함
(1)
(if로 못하는 이유)
->자바에서는 string 비교를 이렇게 할 수 없음
문자열은 같다 같지 않다를 연산자로 비교할 수 없다
-> 문자열 비교 가능 : javascript 가능
(자바, 자바스크립트 : 제어문은 거의 같음)