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
수강 초기때의 필기는 왠지 알아보기 힘들다. ㅋㅋ