자바 스크립트는 typeOf라는것을 이용해서 형변환을 한다는데 자바는 그런거 없다. 자바에서 자료형은 크게 2가지로 나눌수 있다. 기본 자료형, 참조자료형

기본자료형 9가지

구분 자료형 크기(처리범위)
논리형 boolean 1 bit (true or false)
문자형 char 16 bit (\u0000-\uFFFF)
정수형 byte 8 bit (-2의 7승 ~ 2의 7승-1)
short 16 bit (-2의 15승 ~ 2의 15승 –1)
Int 32 bit (-2의 31승 ~ 2의 31승 –1)
long 64 bit (-2의 63승 ~ 2의 63승 –1)
실수형 float 32 bit (-3.40292347E38 ~ +3. 40292347E38
double 64 bit (-1.79769313486231570308 ~ +1. 79769313486231570308)
이것들은 Integer.SIZE, Character.SIZE 이런것을 이용하면 사이즈를 알수있다.  

참조 자료형

기본자료에서 파생된 자료형이라고 생각하면 된다. 1. 클래스 2. 배열 3. 인스턴스 배열은 해본적이 없으나 1,3의 경우 instanceOf을 이용해서 자료형을 확인할 수있다. String a = "java" System.out.println(a instanceof String); 이런경우 true라고 출력된다.


'정리중 > Java' 카테고리의 다른 글

-Xlint옵션  (0) 2014.07.09
TextView 색상바꾸기 (16진수이용)  (0) 2014.06.30
char -> string  (0) 2014.06.30
안드로이드 토스트 & int<->string  (0) 2014.06.29
해쉬테이블  (0) 2014.06.28
해쉬포테이토가 으깬 감자라는데... 위키백과(http://ko.wikipedia.org/wiki/해시테이블) 해시 테이블(hash table), 해시 맵(hash map), 해시 표는 컴퓨팅에서 키를 값에 매핑할 수 있는 구조인, 연관 배열 추가에 사용되는 자료 구조이다. 해시 테이블은 해시 함수를 사용하여 색인(index)을 버킷(bucket)이나 슬롯(slot)의 배열로 계산한다.
  일단 여기서는 간단한 해쉬테이블의 개념에 대해 써봄

해쉬테이블 사용

  •  선언

Hashtable<Integer,String> ht = new Hashtable<Integer,String>();

<Integer,String> :  자료형을 미리 선언해주는것.

위와 같이 선언해 주었다면,

Integer형 String형
  • .put() 메소드

위에 처럼 객체 이름이 ht라면 ht.put(); 이 되겠다.

선언한 자료형에 맞게 값을 넣는다.

ht.put(Integer형 값, String형 값);

ex)

ht.put(1, "안녕");

ht.put(2, "안녕하세요");

1 안녕
2 안녕하세요

 여기서 key가 주어지는데 첫번째(1열)가 key이고 두번째(2열)는 값이다.

(key : 고유한 식별자다.(중복x))

  • .containsKey() 메소드

 ht.containsKey(키값);  키가 있는지 없는지 확인하는 메소드

반환 자료형은 Boolean

ht.containsKey(3)이면 False를 반환

ht.containsKey(2) 이면 True를 반환

  • .containsValue() 메소드

ht.containsValue(값); 값이 있는지 없는지 확인하는 메소드

반환 자료형은 .containsKey()메소드와 같다.

  • .get() 메소드

 ht.get(키값); 키값에 해당하는 값을 찾아서 반환해준다.

String a = ht.get(2); 라면, a값은 "안녕하세요"

  • .clear() 메소드

ht.clear();

키가 들어있지 않도록 해시테이블을 지운다.

  • 그외 메소드들

.equals() / .elements() / .remove() 등등...

 

'정리중 > Java' 카테고리의 다른 글

-Xlint옵션  (0) 2014.07.09
TextView 색상바꾸기 (16진수이용)  (0) 2014.06.30
char -> string  (0) 2014.06.30
안드로이드 토스트 & int<->string  (0) 2014.06.29
자바 자료형 검사  (0) 2014.06.28
컴파일러 과제하다가 발생함 javac Main.java할때 발생하였다.

Note: XXXX uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.

문제 발생 이유 : 자바 1.5로 버전업을 하면서 기존에 Vector 클래스(해쉬테이블, 해쉬맵 etc..) 를 사용하는 방식이 달라짐. (프레임워크 : 생성된 객체들을 보관하고 있는 클래스) 이전 버전Vector vec = new Vector(); 1.5버전이상 Vector<자료형> vec = new Vector<자료형>(); --> 자바에서 Generic 때문이다.

"unchecked or unsafe operations."

체크되지 않았거나 안전하지 않은 오퍼레이션을 사용해서 나오는 메세지 버전업이 되면서 바뀌거나 한 메소드나 클래스를 사용했을때 나오는 메시지

'정리중' 카테고리의 다른 글

git 관련 pdf  (0) 2014.07.28
Interactive UI 지능형홈플랫폼?  (0) 2014.07.15
스마트 그리드  (0) 2014.07.15
메모리란? 가상메모리? Heap vs Stack?  (1) 2014.06.30
오버로딩 vs 오버라이딩  (0) 2014.06.28

안드로이드 실행파일의 특징

  • 안드로이드 실행파일은 같은 패키지에 속한 자바클래스와 리소스의 집합일 뿐이다.
  • 결국 프로세스와 반드시 일대일 대응되지 않는다.
  • 그러므로, 다른 프로그램의 구성요소를 불러와서 같은 주소공간에 실행할 수 있다.
  • 안드로이드 응용프로그램은 적절한 권한만 있으면 누구든지 인스턴스화 할수 있는 4개의 컴포넌트로 구성된다.
  • 결국 main과 같은 유일한 진입점이 따로없고, 처음으로 생성되는 인스턴스의 생성자가 실질적인 진입점이 된다.
 

1. 액티비티

  • 사용자 화면의 인터페이스를 구성하는 기본 단위이다.
  • 여러개 뷰들의 ㄷ집합으로 구성된다.
  • 응용프로그램은 필요한 만큼 액티비티를 가질수 있다.

2. 서비스

  • 백그라운드에서 무한히 실행되는 컴포넌트이다.
  • 주로 네트워크 감시, 백그라운드 계산등에 활용이 된다.
  • 사용자의 명령을 받아들일수 있는 액티비티와 연겨해서 사용한다.

3. 브로드캐스트 리시버

  • 시스템으로 전달되는 방송을 대기하고, 신호 전달시 수신하는 역할을 한다.
  • 방송 수신시 의미를 해석하고 적절한 액티비티를 띄우는 역할을 한다.

4. 컨텐츠 프로바이저

  • 다른 응용프로그램을 위해 자신의 데이터를 제공한다.
  • 응용프로그램 간에 데이터를 공유할수 있는 합법적인 장치이다.
 

응용프로그램의 완성

  • 위의 4가지 컴포넌트중 필요한 만큼 포함할 수 있다.
  • 매네페스트 설정파일에 저장 및 관리된다.
  • 최초 실행시 어떤 액티비티를 띄울 것인가도 매니페스트에서 설정한다.

'정리중 > Android' 카테고리의 다른 글

Margin vs Padding  (0) 2014.07.06
setPadding  (0) 2014.07.06
layout width height 속성  (0) 2014.07.03
안드로이드 화면 크기 알아오기  (0) 2014.07.03
setImageDrawable 매개변수 차이  (0) 2014.06.30

주요내장 자료형

  • 수치형(Numbers) : 정수,롱형정수, 실수, 복소수등을 표현한다.
  • 문자열(Strings) : 문자들의 모임, 내용변경이 안된다.
  • 리스트(Lists) : 순서를 가지는 파이썬 임의 객체의 집합이다
  • 사전(Dictionaries) : 순서를 가지는 않는 객체의 집합, Key값으로 자료를 꺼낸다.
  • 튜플(Tuples) : 순서를 가지는 파이썬 임의 객체의 집합이다. 내용변경이 안된다.
  • 파일(File) : 파일에 자료를 입.출력하기 위한 객체이다.
 

문자열

  • 문자열은 텍스트를 표현하기 위한 자료형이다
  • 문자열은 단일 인용부호 ' 혹은 이중인용부호"안에 묶여진 문자들의 모임이다.
  • 문자열은 Indexing으로 각각 문자를 취할 수 있다.
s="Hello World" s[0] s[1] s[-1] s[-2]
  • 슬라이싱으로 부분 문자열을 취할수도있다
s[1:3] s[0:5]
  • 슬라이싱 시작위치가 생략되면 처음부터, 마지막 위치가 생략되면 끝까지 의미
s[1:] s[:3] s[:]
  • 슬라이싱은 세가지 값을 가질수 있다.
(start:stop:step)
  • start는 0 stop는 자료형의 크기 step는 1의 값을 가진다.
s='abcd' s[::2] #2칸 단위로 s[::-1]#거꾸로
  • 연결(+)과 반복(*)의 연산도 적용 가능하다
'Hello'+'  '+'World' 'Hello'*3 '-'*60
  • 문자열의 값은 변경되지 않는다.
  • 문자열변경을 원하면 슬라이싱과 연결하기를 이용한다
s='h'+s[1:] s
  • 문자열 길이는 len 내장함수 이용
s='hello world' len(s)
  • 멤버쉽 테스트를 이용하여 부분 문자열의 존재를 확인할 수 있다.
'world' in s # s= 'hello world' 'world' not in s  

리스트

  • []를 사용하는 리스트는 임의의 객체를 저장하는 집합적 자료형
  • 각자료는 순서를 가지고 있고, 순서에 따라 접근 가능하다.
L=[1,2,3] len(L) L[1] L[-2] L[1:3] L+L L*3 L=range(10) L L[::2] L[::-1] 4 in L L.append(4) L del L[0] L L.reverage() L L.sort() L  

튜플

  • ()을 사용하는 튜플도 문자열과 리스트와 유사한 특성을 가진다.
t=(1,2,3) len(t) t[0] t[-1] t[0:2] t[::2] t+t+t t*3 3 in t t=(1,2,3) t[0]=100 # 튜플은 변경이 안된다. L=[1,2,3] L[0]=100 #리스트 자료 변경 L  

사전

  • 사전은 옵센이 아닌 키를 사용하여 값을 얻는 자료구조
  • 사상함수와 같은 역할을 한다.
d={'one':'hana','two':'dul','three':'set} d['one'] d['four']='net d d['one']=1 d 'one' in d
  • 사전은 순서에 따라 요소들을 저장하지 않는다. (그럴필요가 없다)
  • 순서에 의해서가 아니라 키에 의해서 값을 추출하기 때문
  • 하지만 기존의 자료형으로 변환해서 처리하는 것이 필요할때는 사전을 리스트나 튜플로 변환하는것이 가능
d={'one':1,'two':'dul','three':'set','four':'net'} d.keys() d.values() d.items()

내장 자료형의 분류

  • 직접 자료형 - 정수,실수,롱형정수,복소수
  • 시퀸스형 - 리스트,문자열, 튜플
  • 매핑형 - 사전
  • 변경가능형 - 리스트,사전
  • 변경불가능형 - 수치형,문자열, 튜플
  • 리터럴형 - 한가지 객체만 저장한다. 문자열, 수치형
  • 저장형 - 여러가지 다른 객체를 저장한다. 리스트, 튜플 사전

정리

  • 수치형 - 리터럴 / 불가 / 직접
  • 문자열 - 리터럴 / 불가 / 시퀀스
  • 리스트 - 저장 / 가능 / 시퀀스
  • 튜플 - 저장 / 불가 / 시퀸스
  • 사전 - 저장 /가능/ 매핑

'Study > Python' 카테고리의 다른 글

자료형 확인과 기타 자료형 확인  (0) 2014.06.30
변경가능성  (0) 2014.06.30
콘솔 입.출력  (0) 2014.06.28
파이썬 문과 기본자료형 (2) -이름과 객체  (0) 2014.06.28
파이썬 문과 기본자료형 (1)  (0) 2014.06.28

콘솔입력

name=raw_input('name?') name?홍길동 print name
  • 정수나 실수 등의 값을 원한다면 raw_input을 사용해서 문자열을 받은후 수치형으로 변환하거나 input으로 이용한다
k=int(raw_input('int :')) int:89 k i=input('int:') int: 45 i
  • input은 입력된 문자열을 파이썬 식으로 처리해서 넘겨준다
k=input('expr:') expr:30+50 k k=input('expr:') expr:k+1 k #앞서 계산된 80에 1을 더한다

콘솔출력

print

  • 여러값들을 ,로 구분할수 있으며 출력시에 각 값들 사이에 공백한개가 추가된다
print 4+5, 4-2
  • 세미콜론;으로 분리된 문으로 순차적으로 입력된 문들로 처리된다
print 1;print2
  • 기본적으로 print문은 줄바꾸기를 하지만, print 끝에 콤마,를 사용하면 줄바꾸기를 하지 않는다
print 1,;2
  • 일반 자료형들도 ''식을 이용하여 문자열로 변환한 후 출력할 수 있다.
  • ''는 객체를 문자열로 변환한다.
print 12+'spam' # 숫자와 문자열 사이에 + 연산은 없다 print '12'+'spam' #숫자 12를 문자열로 변환한후 공백없이 출력한다

pprint

  • print문이 복잡한 자료를 출력할 때 적합하지 않다면 pprint을 사용한다
import pprint #pprint를 사용하기 위해 먼저 import해야한다 complicated =['spam',(1,2,3),('ham','egg',('ab','cd',('abc','def')))] complicated=complicated*3 pprint.pprint(complicated) print complicated 두개의 차이점 확인하기

대화형 출력후크(Interactive Display Hook)

  • 파이썬 인터프리터를 대화적으로 사용할떄 출력은 기본적으로 repr()내장함수를 이용하여 출력
  • 2.1이상애서 sys.displayhook을 설정하면 repr대신에 다른 함수를 기본출력함수로 사용할 수 있다.
import sys,pprint sys.displayhook=pprint.pprint complicated
  • 하지만 print문으로 출력하면 여전히 이전의 방식대로 출력된다

'Study > Python' 카테고리의 다른 글

변경가능성  (0) 2014.06.30
자료형의 종류  (0) 2014.06.28
파이썬 문과 기본자료형 (2) -이름과 객체  (0) 2014.06.28
파이썬 문과 기본자료형 (1)  (0) 2014.06.28
간단한 달력 출력하기  (0) 2014.06.28

끄앙 날라감 다시

'Study > Python' 카테고리의 다른 글

자료형의 종류  (0) 2014.06.28
콘솔 입.출력  (0) 2014.06.28
파이썬 문과 기본자료형 (1)  (0) 2014.06.28
간단한 달력 출력하기  (0) 2014.06.28
대화문 모드로 간단히 실행  (0) 2014.06.28

파이썬 예약어 알아내는 방법

import keyword keyword.kwlist

주석쓰는 방법

# 고레와 주석 데스네 import sys #고레도 주석 데스네

연속라인

줄바꾸기 앞의 \은 다음 라인을 현재 라인과 연결시켜주는 역할

치환문

c,d=3,4 # 여러 개를 한꺼번에 치환 e=3.5; f=4.6; # 세미콜론으로 구분 e,f=f,e #값의 교환 a=(b=c+d) # 이것은 틀린거다. 변수가 이미 있을경우 변수에 새로운 값을 할당되면 기존의 값을 잃어버리고 새로운 값이 치환된다. a=1; type(a) # 자료형 확인 a='dd' a type(a)

확장 치환문

  • +=
  • -=
  • *=
  • /=
  • %=
  • &=
  • |=
  • ^=
  • <<=
  • >>=
  • **=

'Study > Python' 카테고리의 다른 글

콘솔 입.출력  (0) 2014.06.28
파이썬 문과 기본자료형 (2) -이름과 객체  (0) 2014.06.28
간단한 달력 출력하기  (0) 2014.06.28
대화문 모드로 간단히 실행  (0) 2014.06.28
파이썬이란?  (0) 2014.06.28
import calendar calendar.promonth(2001,3)   저장 cal.py 실행 > python cal.py

'Study > Python' 카테고리의 다른 글

콘솔 입.출력  (0) 2014.06.28
파이썬 문과 기본자료형 (2) -이름과 객체  (0) 2014.06.28
파이썬 문과 기본자료형 (1)  (0) 2014.06.28
대화문 모드로 간단히 실행  (0) 2014.06.28
파이썬이란?  (0) 2014.06.28
우분투에는 기본으로 파이썬이 설치되어있구나 우분투 짱짱맨 짱좋음ㅋ
python 4+5 print "Hello World" a=1 a= 1 (공백 no) 20-32 (4+5)*6 4+5*6 9/5 9.0/5.0 -9/5 5*(-2)+1 -9 9%5 -9%5 -(9/5) divmod(9,5) -> 몫과 나머지 한꺼번에 계산 a,b=divmod(9,5) a b 9/5. 5. 5.0 5.4e10 5e10 -5e-3 (-5 곱하기 10의 -3승) 2**3 (** :지수 연산자) 2**3**4 a=1+4j b=5-3j; a+b; a*b;
  • 복소수에 대해서도 다양한 연산을 적용할수 있다.
  • 각 수치형에 대해서 좀 더 자세히 알아보도록하자, 수치형은 정수형, 실수형,롱형(무제한),복소수가 있다.

문자열 연산하기

  • 문자열은 ""혹은 ''로 묶어준다.

print "Hello"

print "Hi there!"

a="My name is"

b="Amenda"

print a+b

종료하기

^D or ^Z import sys sys.exit() raise SystemExit

파이썬 버전 알아보기

import sys sys.version sys.version_info
  • 만약 수행하려는 파이썬 프로그램이 특정 버전이상에서 수행한다면
if sys.version_info<(2.0): print "You must have Python version 2.0 or newer' sys.exit()  

'Study > Python' 카테고리의 다른 글

콘솔 입.출력  (0) 2014.06.28
파이썬 문과 기본자료형 (2) -이름과 객체  (0) 2014.06.28
파이썬 문과 기본자료형 (1)  (0) 2014.06.28
간단한 달력 출력하기  (0) 2014.06.28
파이썬이란?  (0) 2014.06.28

+ Recent posts