팁: alt + 위아래 (한줄이 이동함)
힙영역의 데이터는 이름을 가지지 않고 주소만 가짐.
참조변수 : input의 데이터의 위치를 알수있는 변수
오버플로우 : 범위의 끝에서 초과해서 최소로 이동
1픽셀 : 5비트
프로그램은 공통점을 끌어모으기 (겹치는 것은 의미를 가지고 분류시키기)
*심볼릭 상수 : final double 변수 = 3.14
-> 한번 변수 생성시 초기화된 값이 프로그램 종료시까지 유지 중간에 값을 대입시킬수 없음
-> 관례적으로 심볼릭상수는 변수의 첫글자는 대문자!
자료형 : 자료의 타입, 기초형과 참조형으로 나눠진다.
-기초형 : 실체값이 저장
ex) 정수형: int, byte, shot, long / 실수형: float, double / 문자형: char
-참조형 : 실제 객체를 가리키는 주소저장 (데이터의 위치)
ex) class
데이터형 |
설명 |
크기 (비트) |
기본값 |
최소값 |
최대값 |
byte |
부호있는 정수 |
8 |
0 |
-128 |
-127 |
short |
부호있는 정수 |
16 |
0 |
-32768 |
32767 |
int |
부호있는 정수 |
32 |
0 |
-2147483648 |
2147483647 |
long |
부호있는 정수 |
64 |
0L |
-2^63 |
2^63-1 |
float |
실수 |
32 |
0.0f |
(+/-)3.4E-38 | (+/-)3.4E38 |
double |
실수 |
64 |
0.0d |
(+/-)1.7E-308 |
(+/-)1.7E^308 |
char |
문자(유니코드) |
16 |
null |
\u0000 (0) |
\uFFFF (65535) |
boolean |
true / false |
8 |
false |
해당없음 |
해당없음 |
*변수의 이름
-식별자는 유니코드와 식별자의 조합
-식별자의 첫 번째는 유니코드
-예약된 키워드(int, class) 사용 안됨
-첫글자 숫자나 # 사용 안됨
*식별자 관례
-클래스명 : 각단어 첫글자 대문자
-변수명, 메소드명 : 소문자로 시작되어 2번째 단어의 첫글자는 대문자로 한다.
-static final 변수 : 변하지 않는 숫자를 나타내는 변수, 모두 대문자 (실볼릭 상수)
*오버플로우 : 범위의 끝에서 초과해서 최소로 이동
System.out.println(2147483648L); -< 인트?
괄호 안의 2147483648은 int범위에서 벗어나기때문에 에러가난다.
그래서 숫자 뒤에 long인 L을 붙여주면 출력이 제대로 된다.
연산자
단항연산자
복합대입연산자
관계연산자
-관계연산자 타입은 항상 참(true)과 거짓(false)으로 나옴
논리연산자
참/거짓간의 연산
연산자 기호 |
사용 예 |
의미 |
&& |
x && y |
AND연산, 모두참이면 참 / 그렇지않으면 거짓 |
|| |
x || y |
OR연산, 둘중 하나가 참이면 참 / 그렇지 않으면 거짓 |
! |
!x |
NOT연산, x가 참이면 거짓 / x가 거짓이면 참 |
삼항 연산자
condition ? exp1 : exp2; |
-condition이 참이면 exp1 선택, 거짓이면 exp2 선택
ex) 변수 = x > y ? x : y ;
ex2) System.out.println( a>b ? "a가 큽니다." : "B가큽니다" ); 이렇게 문자로도 사용이가능.
비트연산자
AND : 서로 같으면 1 아니면 0
OR : 둘중 하나가 1이면 1, 아니면 0
XOR : 서로 같으면 0, 다르면 1
NOT : 참이면 0, 거짓이면 1
<< n : 비트왼쪽으로 이동 제일 왼쪽부터 0으로채워짐 (n만큼)
>> n : 비트오른쪽으로 이동 제일 오른쪽으로부터 지워짐 (n만큼) *오른쪽갈때만 >>> 있음
형변환 : 어떤 자료형의 값을 다른 자료형의 값으로 바꿔주는 연산
double x = (int)
묵시적 : 묵시적으로 형이 변환되는거 대부분
명시적 : 앞에 (자료형)을 넣어주는 것
확대변환 : 더 큰 크기의 변수로 값을 변환
축소변환 : 명시적으로 자료형을 바꾸면서 손실되버리는 변환 (double) -> (int)로가면 소수점을 잃음
예제) 점수를 입력받아 점수에 따라 학점부여하기.
예제) 년도를 입력받아 윤년인지 아닌지 판별하기.
(조건1. 4로 나누었을때 나머지가 0이며, 100으로 나눴을때 나머지가 0)
(조건2. 400년에 한번 윤년이다.)
위 두 조건중 하나를 만족하면 윤년.
예제) 정수를 입력받아 입력받은 정수가 양수이면 ( x^2+4x+7 )을 음수이면 ( x^2-6x+1 )을 출력하시오.
예제) 세 수를 입력받아 중간값을 구하시오.
예제) 사용자로부터 반지름을 입력받아 원의 넓이와 둘레를 출력하고 소수 2째짜리까지 표시.
'Java' 카테고리의 다른 글
6일차 (1) | 2016.03.21 |
---|---|
5일차 조건문, 반복문 (1) | 2016.03.18 |
3일차 (1) | 2016.03.16 |
자바 클래스와 메소드 (1) | 2016.03.15 |
통합개발환경 이클립스 설치하기 (1) | 2016.03.15 |