삼항연산자
변수명=(조건식)?참인값:거짓인값;
int x=10, y=-10;
int absX=(x>0)?x:-x;
int absY=(y>0)?y:-y;
System.out.println(absX+" "+absY);//10 10
대입연산자(=배정연산자, =할당연산자)
a++; a+=1;
// a=a+1;
a+=b;
// a=a+b;
a-=b;
// a=a-b;
a*=b;
// a=a*b;
a/=b;
// a=a/b;
-> 연산자가 하나, 실행속도가 더 빠르다
형변환
byte -> short, char -> int -> long -> float -> double
1) 자동형변환(=묵시적인 형변환)
- 변수에 값을 저장할 때
short s=12; // 0000 0000 0000 1100 (short:2byte)
int i=s; // 0000 0000 0000 0000 0000 0000 0000 1100 (int:4byte)
작은 데이터가 큰 데이터 공간에 저장될때 자동으로 형변환이 일어난다.
메모리 낭비가 일어날 수 있다.
- 연산할 때 자료형이 변환
char c='A';
int i2=c+1;
System.out.println(i2); //66
c(char) + 1(int) = i2(int)
작은 데이터가 큰 데이터의 자료형으로 자동으로 형변환 된다.
2) 강제형변환(=명시적인 형변환)
char c='A';
int i2= c+1;
System.out.println(i2); //66
System.out.println((char)i2); //B
int su =(int)3.5;
System.out.println(su);//3
데이터 손실이 일어날 수 있다.
*예외
char c='A';
System.out.printf("문자 %c의 아스키코드 값은 %d이다",c,(int)c);
//문자 A의 아스키코드 값은 65이다
//강제형변환 해야함
int c2=c;
//원래는 자동 형변환된다
printf() 메서드
%d(정수), %c(문자), %s(문자열), %f(소수점), \t(탭), \n(줄바꿈), \"("), \'(')
int n=5;
char c='B';
String s="string";
float f= 12.3456f;
System.out.printf("%d\t%c",n,c);
System.out.print('\n');
System.out.printf("%s",s);
System.out.println();//줄바꿈
System.out.printf("%5.2f\n",f);
//전체 자릿수 5자리에서 소수둘째자리까지 표시
System.out.println("\"hello\"");
System.out.println("\'java\'");
/*5 B
string
12.35
"hello"
'java'*/
순서도(flow chart)
프로세스를 일정한 기호를 이용하여 나타내는 다이어그램
제어문
1. 조건문(=분기문)
조건의 참, 거짓에 따라 갈라져서 실행된다
if문, if ~ else문, 다중if문, switch~case 구문
- if ~ else문
int n=5;
if(n%2==0) {
n*=2;
System.out.println(n+"은 2의 배수이다");
}else if(n%3==0)
System.out.println(n+"은 3의 배수이다");
else System.out.println("2나 3의 배수가 아니다");
- 다중 if문
int su=50;
if((su>=1) && (su<=100)) {
if (su%2==0) {
System.out.println(su+"은 짝수입니다");
}else {
System.out.println(su+"은 홀수입니다");
}
}else {
System.out.println("su은 1~100사이의 값이 아니다");
}
/* 실행속도가 느려 다중if문 대신 case~switch구문을 사용한다
-switch ~ case 구문
switch(조건문){ //숫자 or 문자열만 나올 수 있도록 조건 설정
case 값1: //범위 지정할 수 없음
실행문1;
break; //원하는 문장만 실행할 수 있도록
case 값2:
실행문2;
break;
default://생략가능
실행문n;
break;
}
int su=50;
switch(su%2){
case 0:
System.out.println("짝수");
break;
case 1:
System.out.println("홀수");
break;
}
System.out.println("종료");
int su=8;
switch(su){
case 2: case 4:
case 6: case 8: case 10:
System.out.println(su+"은 짝수!");
break;
case1: case3: case5: case7: case9:
System.out.println(su+"은 홀수!");
break;
default:
System.out.println("1~10까지의 숫자가 아니다");
break;
}
System.out.println("switch문 종료");
다음 포스팅에 이어서 작성
2. 반복문
조건에 따라 반복하여 실행된다
for, while, do~while
3. 탈출문
조건에 따라 탈출한다
break, continue, return
'JAVA' 카테고리의 다른 글
[JAVA]객체지향 프로그래밍(oop), 클래스, 메소드, 객체, 인스턴스, equals(), contentEquals() (0) | 2021.01.05 |
---|---|
[JAVA] 반복문(while, do~while, for), 탈출문(break, continue) (0) | 2021.01.04 |
[JAVA]식별자, 예약어, 로컬변수, 인스턴스변수, 클래스변수, 자료형, 논리연산자, 비트연산자 (0) | 2020.12.31 |
[JAVA]실행원리 (0) | 2020.12.30 |
[JAVA]JAVA 특징, JDK, JRE, JVM , 패키지, 클래스, 객체 (0) | 2020.12.30 |