Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- partitioning
- 열공하자
- node.js란
- EventSource
- ServerSentEvent
- 성장기
- PostgreSQL
- 실시간알림
- node.js
- localStorage
- Lag
- 파티셔닝
- Node.js기본
- frontend
- 개발자
- mariadb
- Partition
- SSE
Archives
- Today
- Total
써치킴의 우당탕탕 개발 블로그
[Java][Ch1] 연산자 본문
프로그래밍은 절차다
프로그램 : 연산과 제어를 통해 원하는 결과를 얻기위한 순서
자바의 데이터 타입
기본타입 (primitive)
|
Type
|
크기 (byte)
|
정수형
|
byte
|
1
|
|
short
|
2
|
|
int
|
4
|
|
long
|
8
|
|
char
|
2
|
실수형
|
float
|
4
|
|
double
|
8
|
논리형
|
boolean
|
1
|
Java
- 패키지(탐색기의 폴더)명은 소문자만 써야함.
- 클래스명은 무조건 영어여야 하며, 대문자로 시작되어야 함.
- 클래스명은 대문자, 변수명은 소문자로 시작.
-
변수명 변경 => 변수명 더블클릭 > 우클릭 > refactor > Rename OR [Shift] + [Alt] + [r]
-
[ctrl] + [shift] + [?] => 지정주석
-
[ctrl] + [shift] + [\] => 지정주석 풀기
-
[ctrl] + [shift] + [c] => 한줄주석
-
[ctrl] + [a] > [ctrl] + [i] => 자동정렬
자동 형변환
작은 크기 => 큰 크기 타입으로 변환 (데이터 손실 발생 X)
byte(1) → short(2) → int(4) → long(8) → float(4) → double(8)
↑
저장방식의 차이로
long 표현범위 < float 표현범위
|
-
short(2)와 char(2)는 서로 자동변환되지 않는다.
-
long : 변수선언 시 숫자 뒤에 L을 붙혀야 long 변수로 인식함
-
float : 변수 선언 시 숫자 뒤에 f를 붙혀야 float 변수로 인식함
정수형 연산
Java에서 정수형은 기본적으로 int로 취급함.
-
byte + byte → int + int
-
byte + short → int + int
-
int + char → int + int
-
int + long → long + long
실수형 연산
Java에서 실수형은 기본적으로 double로 취급함.
-
float + double → double + double
-
float + 2.5 → double + double
- 2.5 => double로 취급
-
float + int → float + float
-
int + double → double + double
public class Ex08_정수형변환 {
public static void main(String[] args) {
byte bv1 = 1;
byte bv2 = 2;
byte bv3 = (byte)(bv1 + bv2); //강제형변환
int iv1 = bv1 + bv2; //정수형은 기본적으로 int 취급하기 때문에 byte + byte => int + int
System.out.println(bv3);
System.out.println(iv1);
short sv1 = 10;
short sv2 = 30;
short sv3 = (short)(sv1 + sv2); //강제형변환
int iv2 = sv1 + sv2; // short + short = > int + int
System.out.println(sv3);
System.out.println(iv2);
char cv1 = 'a'; //실제론 숫자를 저장해서 iv3 연산이 가능함
int iv3 = cv1 + 2;
System.out.println(iv3);
long iv4 = iv3 + 100L;
System.out.println(iv4);
System.out.println(cv1);
}
}
public class Ex09_실수형변환 {
public static void main(String[] args) {
float fv1 = 10.0f;
float fv2 = 20.0f;
float fv3 = fv1 + fv2;
System.out.println(fv3);
double dv1 = 30.0;
double dv2 = fv3 + dv1; // float + double => double + double
System.out.println(dv2);
float fv4 = (float)(fv3+dv1); // 강제형변환
System.out.println(fv4);
double fv5 = fv1 + 40.0; // float + double => double + double
System.out.println(fv5);
int iv1 = 5;
float iv2 = fv1 + iv1; // float + int => float + float
double iv3 = iv1 + dv1; // int + double => double + double
System.out.println(iv3);
}
}
대입연산자
X = Y → Y를 X에 대입함
비교연산자
X == Y → X와 Y가 같은가? (비교)
-
'A' < 'B' -> 65 < 66 : true
-
0.1 == 0.1f : false
피연산자에 1개라도 문자(열)이 있으면 문자열 연산
-
숫자 + 문자열 -> 문자열 연산자가 됨
public class Ex05_문자열연산 {
public static void main(String[] args) {
int a = 10 + 20;
System.out.println(a);
String b = 10 + "sky"; // 숫자 + 문자열 => 문자열 연산자가 됨
// 숫자가 문자로 바뀜("10") => 스트링 연산자 사용해야함
System.out.println(b);
String s1 = "jdk" + 3 + 3.0; // 문자 + "3" + "3.0"
String s2 = 3 + 3.0 + "jdk"; // int + double + 문자 => double + double + 문자 => "6.0" + "jdk"
System.out.println(s1);
System.out.println(s2);
}
}
논리 연산자
-
&& 논리곱 : and
-
|| 논리합 : or
-
^ 배타적 논리합
-
! 논리 부정
'더 자세하게 Java' 카테고리의 다른 글
[Java][Ch2] 캡슐화 (0) | 2022.05.13 |
---|---|
[Java][Ch2] 객체지향_클래스 (0) | 2022.05.13 |
[Java][Ch1] 참조타입 (0) | 2022.05.13 |
[Java][Ch1] 제어문 - 반복문 (0) | 2022.05.13 |
[Java][Ch1] 제어문 - 조건문 (0) | 2022.05.13 |
Comments