-
[JAVA] 02_주석, 변수, 형변환/자동형변환, 연산자, 조건문 if/switch, 반복문 for/while웹개발/JAVA 2024. 2. 7. 23:21
- 실무지식
- 주석
- 출력(print, println)
- 변수 / 이름 짓기의 규칙
- 형변환과 자동형변환
- 연산자
- 조건문 if, switch
- 반복문 for, while- 숙제
- 실무지식
계산기는 2진법이 가장 빠름.
switch jdk15에서 좋은게 뭔가 붙었다. 다만, 실무에서 안쓴다.. 굳~이?
Scanner는 기본 패키지(자바 프로그램 안의 폴더) 밖에 있음.
ctr shift O (이클립스 기능) 단축키 하면 자동으로 불러와짐
공부 어떻게 하느냐?
⇒ 수업 때 수업 내용 이해 후, 집에가서 마아아아ㅏ아않으으으으은 예제를 풀어보면 됨.
(책에 있는 것도 부족하다 하심)
- 주석
// 주석을 한줄만 쓸 때 사용하고
/*
여러줄 주석을 사용할 땐
이러한 형식으로 사용한다
*/
- 출력(print, println)
//괄호()안의 데이터를 콘솔창에 출력 System.out.print("Welcome."); //"Welcome." 문자열 옆에 "Java World" 문자열 출력 System.out.print("Java World");
//괄호()안의 데이터를 콘솔창에 출력 System.out.println("Welcom."); //"Welcom." 문자열 아래 "Jave World" 문자열 출력 System.out.println("Java World");
- 변수 / 이름 짓기의 규칙
변수 선언하기
// 변수에 담을 데이터 형태 변수의 이름 String name;
1. 첫글자에 숫자, 특수기호($, _ 제외) 못 씀 (문법)
2. 2 음절 이상일 경우, 2번째 음절부터 시작 글자를 대문자로 처리 (개발) ==> 카멜식 myAge
3. 왠만하면 3음절 이하로 표현 (개발)
4. 단어를 보고 데이터나 객체의 의미를 알 수 있도록 직관적으로 표현
5. 변수는 명사형으로 짓기 (method는 동사)
제약 조건 예시 영어 대소문자 구분 Name과 name은 서로 다른 변수 첫 글자는 숫자로 시작 X
일반벅으로 영어 소문자로 시작top10 (O)
10top (X)특수문자는 $, _ 만 사용 가능 $dallar (O)
#Sarp (X)자바 예약어(키워드) (X) True는 가능하나, true는 예약어라 사용 불가능
- 형변환과 자동형변환
//문자를 숫자, 숫자를 문자로 바꿀 땐 형변환을 사용함. ex) 홈페이지에서 문자를 입력했는데 숫자를 입력하세요/ 숫자를 입력했는데 문자를 입력하세요. 이것을 필터링 할때 _들어오는 문자를 숫자 범위로 block함_
java는 눈에 보이는 숫자를 모두 int라고 인식
long a= 10;
int b = 0;
b=a; (에러)
int b = 10;
byte b - 10;
(자동형변환)
long a = 10;
int b = (int)a;
(강제형변환)
= (대입연산자)
- 좌변과 우변의 데이터 타입이 동일
- Data type의 허용범위 안의 값
자료형(Data type) 안에
기본자료형(primitive type)과 참조자료형(reference type)이 있음.
기본 : 실제 데이터 값을 저장. ex) 정수, 실수, 논리
참조 : 데이터가 저장되어 있는 메모리 번지를 저장. 기본 자료형을 제외한 나머ㅓ지 사용자 정의 자료형을 말하며,
기본값이 정해져 있지 않기 때문에 null값이 존재.
- 연산자
byte a = 10; byte sum = 0; sum = a + a; (에러) result = 10 + 4 + 5; int = (byte + byte + byte) – result = 10 + 4 + 5; int = int + int + int – result = 10 + 4 + 5; long = long + byte + int
산술 대항이 int 이하인 경우 무조건 int
그래서 3번째 예제의 경우 long타입 숫자가 들어오고 그것이 int로 안될 수도 있어서, 결론이 long임.
산술연산에 int이하면 결론은 int
int 보다 높은 애들이 있으면 그들끼리 비교 (long, double)
*연산 결과의 데이터 타입을 정하는 것이 중요하다.*
result = 5 / 3 (int/byte)
1 == int(소수점 몰라서 소수점을 버림)
소수점을 잃고 싶지 않다면, 강제형변환 사용
들어온 놈을 double로 두고 나누던가, double a = 5;
r = a / 3; =>결과 double
변수 안만들고 바로 하고 싶음. = 강제형변환
r = (double)5 / 3; => 결과 소수점 나옴.
증감연산자
++, - - => 변수에만 가능 (숫자에는 안됨)
앞에 붙이냐 뒤에 붙이냐에 따라 차이가 있음
int a = 10;
int sum = 0;
sum = a++;
print(a, sum); => a=11, sum = 10이 나옴
sum = ++a;
print (a, sum); => a=12, sum = 12가 나옴
앞에 있으면 먼저 더하고, 뒤에 있으면 나중에 더함
==
증감 연산자가 변수 앞 -> 수식 이전에 실행
증감 연산자가 변수 뒤 -> 수식 이후에 실행
- 조건문 if, swith
if else
만족하는 if문을 찾으면 다음 if문 실행하지 않음.
그래서 크기 비교 시, 크기가 큰 것부터 작은 수로 적어야하고, if else 에 겹치는 구간이 없으면 됨.
크기 비교가 아니라면 위치는 상관 없음.
switch
switch 시작이
Switch( 조건)
조건 -> 결과가 값으로 나오는 조건값! 변수가 담기면 된다. == 연산의 결과, 변수의 값
case 값1;
실행코드
break ; 이거 꼭 써야함 없으면 (어헣 문장이 안 끝났네 계속 실행됨)
case 값2
실행코드2
break
case 값3
실행코드3
break
default ; (옵션 else같은거)
코드
}
break가 없으면 내려간다는 것을 이런식으로 범위 작업도 가능함.
100점 나오든 90점 나오든 A처리가 가능
case 10이 없으면 100점은 F가 나옴
- 반복문 for, while- 숙제
for : 특정 기능을 반복해서 실행
반복 횟수 가 있음
while: 특정 기능을 반복해서 실행
반복 횟수는 없지만, 조건이 있음
동작하기 위한 조건 1-4
for ( 1초기값: ;2 조건식 ;3 연산식 )
4실행문
1 -> 2조건식 -> (거짓) -> 종료
1 -> 2조건식 -> (참) -> 4실행 -> 3실행 -> 조건식 -> (참) -> 4실행 -> 3실행 ->.... 2조건식 -> (거짓) -> 종료
1이 조건식에 들어가서 참이다 그럼 4번에 감 그러고 3번이 실행됨. 그리고 다시 2번 조건식으로 감.