본문 바로가기

IT/Java

2012.12.28. Java 기초문법 - 1




2012.12.28. Java 기초문법 - 1


int타입 리터럴의 예

- 변수값 맨 앞이 0일 경우, 8진수로 인식

- 변수값 맨 앞이 0x 또는 0X일 경우, 16진수로 인식


long타입 리터럴의 예

- 변수값 맨 뒤가 L 또는 l일 경우, long타입으로 변환

- 문자열과 정수or실수형 데이터 간 연산을 할 경우, 결과값이 문자열로 변환된다.


ex1:String str = "num=" + 30 + 40;

System.out.printIn(str);

∴ num=3040


ex2:String str = 30 + 40 + "num=";

System.out.printIn(str);

∴ 70num=


관계연산자(>, <)의 결과값은 true of false.    

>= / <= (o), => / =< (x)

동등연산자(==, !=)의 결과값 역시 true of false

== : 같으면 true, 다르면 false

!= : 같으면 false, 다르면 true


증감연산자

++변수 --변수 : 전치증감자

변수++ 변수-- : 후치증감자

ex1:    

int num1 = 100;

int num2 = 0;

num2 = num1++;

System.out.printIn("num1: " +num1);

System.out.printIn("num2: " +num2);

∴ num1: 101 , num2: 100


ex2:    

int num1 = 100;

int num2 = 0;

num2 = num1++;

System.out.printIn("num1: " +num1++);

System.out.printIn("num2: " +++num2);

∴num1 : 100 , num2 : 1


논리연산자(&, \, ^ , !)의 피연산자는 언제나 boolean 타입이어야한다.

& : and - 두 값이 모두 true면 true, 그렇지 않으면 false

\ : or - 두 값 중 하나만 true여도 true, 그렇지 않으면 false

^ : - 두 값이 다르면 true, 같으면 false

! : not - 결과값과 반대인 결과를 도출 (not)

&와 &&, \와 \\의 차이점 : &&와 \\는 앞의 연산자가 결과값이 확정되는 순간 연산을 멈춘다.

곧, 결과값은 연산자와 shortcut연산자 사이에 차이가 없으며, 보통 이는 처리속도에만 영향을 주는 것이 보통이다.

예외로 shortcut연산자 뒤에 추가로 연산이 존재하여 값이 변경될 수 있다면, shortcut연산자의 유무에 따라

결과값이 변경될 수 있다.


3항연산자 (조건연산자) ex)int a = 20, b = 30. max;

조건연산자의 결과값이max = ( a < b ) ? a : b;

true이면 전자, false이면 후자System.out.printIn(max);∴ 20

실수와 관련된 연산은 항상 눈에 보이는 값과 일치하지 않는다.

복합대입연산자

변수+=식 : (변수의 기존값 + 식의 결과)를 변수에 대입 ex)int a = 0;

변수-=식 : (변수의 기존값 - 식의 결과)를 변수에 대입a = a + 1'

a++;

a += 1;∴ 세 값은 결과값이 같다.


Mission3 해답)

int n = 12345;

int a = 0, b = 0;

int result

result = n / 10000 % 2 == 0 ? a++ : b++;

result = n / 1000 % 2 == 0 ? a++ : b++;

result = n / 100 % 2 == 0 ? a++ : b++;

result = n / 10 % 2 == 0 ? a++ : b++;

result = n / 1 % 2 == 0 ? a++ : b++;

System.out.println("짝수의 개수: " + a);

System.out.println("홀수의 개수: " + b);

if ( num1 > num2 )

if ( num1 > num3 )if ( ... )

System.out.printIn("num1이 제일 큽니다.“);else if ( ... )

else if ( ... )


↓ 간락화else if ( ... )


else ( ... )

if (( num1 > num2 ) & ( num1 > num3 ))

System.out.printIn("num1이 제일 큽니다.“);

Scanner scan = new Scanner(System.in);

String str = scan.nextline();

System.out.printIn("출력“);

System.out.printIn(“입력한 내용: ” + str);

If 조건문과 Switch 조건문

- If 조건문은 boolean값을, Switch 조건문은 int 혹은 char값을 사용한다.

Switch (int 혹은 char값이 산출되는 식)

case 값:

명령문

break;

Mission4 해답)

String m_id = "Kitchu";

String m_pass = "1234"

String id = scan.nextLine();

int menu = Integar.parseInt(str);

-> NumberFormatException




수강 초기때의 필기는 왠지 알아보기 힘들다. ㅋㅋ