PC

블로그 이미지

DAVID

160315: 2회차

Programming 2016. 3. 15. 17:16

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로 설정 된 이유 (default method (package visible) 이렇게 생긴 거가 .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
Posted by DAVID
블로그 이미지

by DAVID

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

링크

카테고리

PC (112)
Programming (109)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
DAVID's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

PC

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • PC (112)
    • Programming (109)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바