마트철수
[029] JAVA 변수, 연산자, 반복문 본문
2024.06.18(화)
JAVA 2일차
double, int가 디폴트 ..
Home: 개발환경 - import 설정 구축해두기
ch02 변수와 타입
연산식에서 자동 타입 변환
- int 타입으로 자동 변환(byte, short)
- 다른 타입의 피연산자들은 long 타입으로 변환
- 실수 타입: double이 있다면 모두 double로 변환
int x = 1;
int y = 2;
double result = x/y ;
System.out.printLn(result);
0.0 출력 → 정수 나누기 정수 = 정수 → 컴파일 언어의 특징
변수 사용 범위
: { } 블록 내에 선언된 변수는 해당 중괄호 블록 내에서만 사용 가능
: 지역 변수 / 블록이 끝나면 사라진다.
콘솔로 변수값 출력
- prinln(내용); / print(내용); / printf("형식문자열", 값1, 값2, ...);
- 줄바꿈: /n or %n

키보드 입력 데이터를 변수에 저장
: Scanner 타입 변수 활용하기

> Scanner 입력하고 자동완성
> import from ~ 위치 알려주는 구문
※Java 환경 구축(import)


\"자바\" ... 큰따옴표가 출력되도록
\t ... 탭 하나를 추가
long > int > short > byte
public class CastingExample {
public static void main(String[] args) {
int var1 = 10;
// 큰 값을 작은 값에 넣을 때는 명시적으로 형변환을 해줘야 한다 (캐스팅)
// 작은 값을 큰 값에 넣을 때는 자동으로 형변환이 된다
byte var2 = (byte) var1;
System.out.println(var2);
long var3 = 300;
int var4 = (int) var3;
System.out.println(var4);
int var5 = 65;
char var6 = (char) var5;
System.out.println(var6);
// 실수를 정수에 넣을 경우 소수점 이하 값은 버려진다
double var7 = 3.14;
int var8 = (int) var7;
System.out.println(var8);
}
}
String str = 1 + 2 + "3" ; ... String str = "33"
문자열이 하나라도 있으면 문자열로 해석
ch03 연산자
부호/증감 연산자
*+ ... 양수로 만드는 것이 아닌 부호를 유지하라
*- ... 부호를 바꿔라
산술연산자
더하기, 빼기, 곱하기, 나누기, 나머지
나누기는 몫 구하기
오버플로우와 언더플로우
정확한 계산은 정수 연산으로
: 실수 타입을 사용하면 2진수의 한계 발생
: 정확한 계산은 정수 연산으로!
비교 연산자
equals()와 !equals() 외우기!
논리 연산자
AND(&&), OR(||)< XOR(^), NOT(!)
비트 논리 연산자
: bit 단위로 논리 연산을 수행
: 0과 1인 피연산자가 됨 / float, double은 피연산자가 될 수 없음
피연산자 예시:
& - 특정 자리의 bit를 0으로 만들고 싶을 때
| - 특정 자리의 bit를 1로 만들고 싶을 때
^ - 2번 계산한다면?


> 정확한 계산은 정수로!
ch04 조건문과 반복문

좋은 코드인지 나쁜 코드인지 구분
- SRP 측면에서 아주 좋지 않음 ... 단일책임원칙
- 변화에 따른 변경 최소화하는가
do-while 문
: 검사(while)가 뒤에 있기 때문에 무조건 한 번은 실행 ... 세미클론으로 마무리
break문

본래 안쪽 루프만 종료,
완전 종료하고 싶은 경우 라벨 사용
라벨명은 개발자가 정하는 것
continue문
: if( )문과 함께 사용되며, 계속 루프를 돌려라
Home: 레벨2 문제 직접 풀어보기 + import
'KB IT's Your Life > 교육' 카테고리의 다른 글
| [031] JAVA 상속 오버라이딩 (1) | 2024.06.20 |
|---|---|
| [030] 클래스는 필드, 생성자, 메소드 (0) | 2024.06.19 |
| [028] JAVA 개발환경 구축 + 변수, 타입 (1) | 2024.06.17 |
| [027] Vue.js와 관련된 기능을 빈칸 채우기 문제 (0) | 2024.06.14 |
| [026] axios router vue (2) | 2024.06.14 |