160315: 2회차
1. 툴
동일
추가시:
포스팅 서식 만들었습니다.
2. 폴더
동일
추가시:
3. 사용할 사이트
동일
추가시:
구글 계정 생성: bowiejava@gmail.com
(뒤에 앉았을 시 행아웃(lectureblue->community->notice->빅데이터회의 사용)
4. 공부하는 것
method(parameter){
return ㅁㅁ; (메소드를 호출한 곳으로 ㅁㅁ값 반환)
}
parameter와 return값의 변수 타입이 같아야 한다.
변수 타입이 매우 중요하다. (자바 스크립트와 다름)
지역 변수는 메소드 종료시 자동으로 메모리를 해제해준다. (자동으로 저장 공간 반환)
같다: ==
= ←뜻: 오른쪽 값을 왼쪽으로 담는다.
주석:
한줄: //
여러줄: /* */
문서(API) 주석: /** */
클래스명과 파일명이 같아야 한다.
자바는 main() 메소드부터 실행 시작한다.
식별자 규칙
식별자 이름 자체로 내용 식별 가능해야 한다.
대소문자 구별한다.
한글도 가능하지만 영어 알파벳으로 쓰는 편이 낫겠다.(대소문자 구별)
$랑 _ 는 쓸수 있음.
숫자는 식별자명 두번째 부터 사용 가능(atom1(o) 1atom(x))
예약어는 식별자로 사용 불가(if true false null 등등)
상수: 모두 대문자 (변하지 않는 값 - final 을 사용해서 상수로 선언할 수 있음)
예시: final double PI = 3.14 // 원주율을 상수로 선언
패키지: 모두 소문자
변수:
int a = 10; - 연산자를 중심으로 오른쪽의 데이터(10)가 왼쪽(a)으로 할당된다.
변수 선언시 char c1 = 'a', c2 = 'b'; 이런 식으로 , 써서 여러 개 선언 할 수 있다.
'' ← 기본형 타입 : 'a' 한글자만 가능
'' ← 클래스 타입(참조형) : "hi atom" 장문도 가능
형변환: 우리의친구 (이것도 나중에 형변환 나오면 쓰겠지)
char grade = 'A';
System.out.println("성적: "+ grade); 와 같이 +로 연결하여 출력할 수 있다. // sysout 넘나좋은것
출력값: 성적: A
데이터 타입
요약: 자바의 기본형 타입
숫자형
정수형: byte 1 short 2 int 4 long 8
실수형: float 4 double 8
논리형 (형변환 불가능)
boolean: true false 1
문자형 (short랑 형변환 가능)
char 2
1. 기본형
8가지(정수 4가지 + 실수 2가지 + boolean 타입)
수치 타입: 정수 타입 / 실수 타입(부동 소수점 타입)
정수 타입: byte, short, int, long, (char 얘는 따로 넣는 경우도 있다) ←외우기
byte: 1byte 크기 정수형
short: 2byte 크기 정수형
int: 4byte 크기 정수형 (기본값)
long: 8byte 크기 정수형
↑형변환 가능(작은걸 -> 큰거에)
float: 4byte 크기 실수형인데 4byte지만 정수형(long)보다 크다.
double: 8byte 크기 실수형 (기본값)
boolean: 1byte 크기
char: 2byte 크기 문자형
1. boolean 타입: boolean(끝!)
1byte(8bit) 크기
초기값: false
true랑 false 밖에 못쓴다.
사용 예시: boolean atom = true;
삼항 연산자: 조건식 넣는 boolean
사용 예시: booleaan b3 = (10>2) ? true : false; // 참일 시 true 거짓일시 false ←사실 이렇게 짜면 에러 메세지 뜸...
2. char(문자형)
2byte(16bit) 크기
''(단일 인용부호) 로 문자 하나 표현
\b: 백스페이스
\t: 탭
\n: 라인피드 (Line feed: LF, \n - 줄바꿈을 나타내는 제어문자)
http://zetawiki.com/wiki/개행문자,_라인피드,_캐리지리턴
이렇게 쓰는 것인가 보다.
\\: 백슬래시(역슬래시 쓰려면 두번 써야 한다)
char ch2 = 65;
System.out.println(ch2); // 하면 유니코드로 출력된다.
3. 숫자형(정수, 실수)
정수형
byte: 1byte (초기값: 0)
값의 범위: -128~127
short: 2byte (초기값: 0)
int: 4byte (초기값: 0) (기본값) // 초기값이 0이긴 한데 왜 not initialized... -_-)
long: 8byte (초기값: 0)
실수형
float: 4byte(초기값: 0.0)
double: 8byte(초기값: 0.0) (기본값)
4byte여도 실수형이 정수형보다 더 커서 강제형변환이 필요하다.
정수형도 실수형 변수에다가 넣을 수 있는데 10을 넣으면 10.0으로 바뀜
TypeConvension 예제 두번 더 연구해보기
// byte 값: -128~127 // 132 == -124
//System.out.println((byte)((int)(227)));
byte 값 초과시 프로세스...
2. 참조형 (레퍼런스 타입)
class 타입
대문자로 시작한다.
변수에 참조값(해쉬코드=레퍼런스 값=실제 데이터의 주소를 가르키는 값)을 가진다.
생성자를 통해서 해시코드를 이해해 보았다.
생성자: new 했을 경우만 메모리를 할당한다.
클래스 obj1 = new 클래스(10,20); // obj1이 해시코드를 가진다 (메모리(객체) 하나당 해시코드 하나)
클래스 obj2 = obj2 //obj2는 obj1이 가리키는 해시코드 값을 가진다.
그래서 System.out.println(obj2.hashCode()); 해보면 obj1거랑 똑같다
String str = "홍길동"; == String str = new String ("홍길동"); // 이거는 예약어라서 new 이런거 안 해도 됨
그래서 String의 변수는 해시코드를 가지는 것. //해시일까 해쉬일까 hash는
<<그러니까>>
기본형 변수: 데이터가 들어갈 예정
클래스형 변수: 해쉬코드가 들어갈 예정
인터페이스 타입
배열 타입
열거 타입 ← 내가 만들면 만드는 대로 늘어남.
형변환
double (자동 변환)
float ↓
long
int
short = char ↑
byte (캐스팅필요=강제형변환)
double 변수 = byte 변수; (형변환 필요x)
short 변수 = long 변수 (형변환 필요o) -> short 변수 = (short) long 변수
float f = 10.5; 라고 했을 때 실수는 무조건 double 형(8byte)으로 들어가니까
float f = 10.5f; 라고 하거나 float f = (float)10.5; 라고 써줘야 4byte로 만들어진다.
클래스 안에 생성된 지역변수는 초기화를 하지 않으면 에러가 뜬다.
<<딱히 어디에 놔야 할 지 모르는 즐거운것>>
print: \n 안들어감
println: \n 들어감 : 한 줄 아래에 출력됨
+ 생성자를 체험해 보았다!
생성자 초기화도 코딩해 보았다.
new 키워드도 사용해 보았다.
아 포인터가 아니었슴다 ㅠㅠ - 자바는 포인터가 없음 ★
이름이 그냥 포인트인 클래스인것...★☆
소스 복사해서 그냥 paste 하면 클래스도 만들어줌 -.-);;; ㄷ
<<4장>>
연산자
산술연산자
% 는 a%b -> a를 b로 나눈 나머지
복합대입연산자
+= 는 a+=b -> a= a+b
증감연산자
++랑 --
비교연산자
비트연산자(01연산...)
>>
>>>
-하면서 봄ㅇㅇ-
변수 = ++i; // 요거는 i를 1증가시킨 후 변수에 할당.
변수 = i++; // 요거는 i를 증가시키기 전에 변수 할당을 하고 ; 를 만날 때 i를 1로 증가시킴 - 그래서 출력하면 변수는 값 안올라있음
변수 = ++변수 // 요렇게는 쓰지 않는걸로
앞에오면 앞순위 / 뒤에오면 끝순위
<= // 이거는 작아도 맞고 같아도 맞고
>= // 이거는 커도 맞고 같아도 맞고
| : or (둘중 하나라도 참이면 참)
& : and (둘다 같아야 참)
^: Exclusive or (엎 'ㅅ');; XOR : 1개만 참일경우
으으 논리식좀 찾아서 써볼 것...★
<< >>
//음수 2진수 문의가 있는것 - 부호 표시가 어디에 있냐
//조건문에 숫자 넣을 시 왜 오류가 있을까 - including condition 이라고 하는데 이런 거 안써야 하나?
// y=x<z ? 3:5; // 오류 x // y=x<5 ? 3:5; // 오류가 아니라 워닝이뜸
//default method로 설정 된 이유 ( 이렇게 생긴 거가 .java 파일에 뜸)
//class가 public으로 안되있고 그냥 class 클래스명으로 선언되어 있어서... -_-+ (해결...)
//\친구들좀 외울 것
//배열 형식 ㅂㄷㅂㄷ
//hashcode 2번 정도 더 읽어보기
//지역변수는 초기화하지 않으면 기본값 없음. - 나중에 나올것이지만...★
5. 수업
그룹별로 나눠서 문제 내서 맞추는 걸로 - 17:00 까지 3개 만들 것
진도:
lecture 4 까지?
hw:
내일은 좀 중간에 앉아보기...
에이씨 문제 많이 틀려서 음료수 사는것 :< 씪씪
6. 부로구
가비아에 문의할 것 - 네임플러스 서비스 - 완료!
오늘 읽은 책에서 몇개 좀 뽑아서 써볼 것
메타블로그★
다음뷰
네이버 오픈캐스트
그리고 html이랑 css 관련 쪽 내용은 다른 책이었으니 반납 할 것
라이트하고 심플하게 (위젯 좀 안쓰고!) 만들 도안 그려놓기 - 플래시 안 들어가게 빠른 로딩★☆ 위젯도 덜쓰고!!
먹은 것좀 카테고리 만들기 - 90도 사진각 ㅋㅋㅋ 넘나 잘찍는것...
우쿨렐레 모임도 시간 맞으면 갈 것
plan1: 강동역이 아니라 강동구청역이라 fail -> 1시간 무리...
plan2: 종로 모임에 낑긴다! -> 애매함 (이미 시작일로부터 2개월 지나있음)
plan3: 홍대 or 신도림 - 7시 30분에 있는 것들 좀 찾아보기 :> - 주말은 말고! 금요일도 말고! (근데 왜인지 봉사활동이쉰것...)
'Programming' 카테고리의 다른 글
160321: 6회차 (1) | 2016.03.21 |
---|---|
160318: 5일차 (2) | 2016.03.18 |
160317: 4회차 (3) | 2016.03.17 |
160316: 3회차 (2) | 2016.03.16 |
160314: 1회차 (1) | 2016.03.14 |