삼항연산자

변수명=(조건식)?참인값:거짓인값;

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

 

 

 

 

 

 

 

+ Recent posts