블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total633,817
Today41
Yesterday88

'string'에 해당되는 글 6건

  1. 2010.08.14 변하지 않는 String.
  2. 2010.07.30 대소문자 바꾸기.
  3. 2010.07.07 String API 활용
  4. 2010.06.24 프로그래밍의 기본은 자료형!
  5. 2010.05.02 String 타입의 변수 사용하기.
  6. 2010.05.01 PHP 의 변수.
String 은 자바에서 빼놓을 수 없는 클래스 타입의 자료형이다. 아마 String 이 없었다면, 수많은 사람들이 자바 프로그래머의 길을 포기해야 했을지도 모른다. String 에는 한가지 중요한 비밀이 숨겨져 있다.


String 데이터를 생성하는 방법.

String str1 = "문자열";
String str2 = "문자열";
String str3 = new String("문자열");

위에 있는 세개의 데이터의 차이는 무엇일까? 정답은 어느것은 같은 것이고 어느것은 다르다는 것이다. 분명히 세개의 자료형에 똑같이 "문자열"이란 데이터를 넣었는데 같은것과 다른것이 있다니... 하지만 분명 차이는 있다. String 은 클래스형의 데이터 타입이라고 했다. 그것은 그 변수가 데이터를 갖고 있는 것이 아니라, 데이터가 있는 주소값을 가지고 있다는 것이다. 또 String 은 데이터를 만들기전에 자신과 똑같은 데이터가 있는지 검사를 한뒤 똑같은 데이터가 있다면 새로운 데이터를 생성하지 않고 똑같은 데이터가 있는 그 위치를 가리키게 된다. str1의 주소값과, str2의 주소값은 동일한 것이되고, 가리키는 데이터도 같은 값인 것이다. 하지만, new 연산자를 사용할 경우에는 똑같은 데이터가 있는지 검사하지 않고 무조건 새로운 String 데이터를 만들게 된다. 가지고 있는 주소값은 다른 것이지만, 그곳에 있는 데이터를 비교하게 되면 똑같은 데이터값을 갖고 있는 것이다.


String 데이터를 비교하는 방법
일반적으로 기본형 데이터를 비교하기 위해서는 '==' 연산자를 사용해서 비교하는 것이 가능하다. 하지만, 문자열을 'str1 == str2' 와 같은 방법으로 비교할 경우에는 '문자열' 과 '문자열'이 같은지를 비교하는 것이 아니라, str1이 가지고 있는 주소값과 str2가 가지고 있는 주소값을 비교하게 된다. 물론 위의 경우에 str1 과 str2는 같은 값을 갖는다는 결과를 내겠지만, str1 == str3 의 경우에는 다르다는 결과를 낼 것이다. 그렇다면 포함되어 있는 문자열을 그대로 비교하고 싶다면?? String 클래스에 구현되어 있는 equals() 메소드를 사용하여 비교하는 것이 가능하다. str1.equals(str3) 과 같은 방법으로 비교를 하게 되면 각 데이터가 가지고 있는 실제값을 비교하여 같다는 결과 값을 반환할 것이다.


String 은 변하지 않는다.
String 클래스에는 문자열을 조작하기 위한 다양한 메소드들이 준비되어 있다. concat() 란 메소드는 원래의 스트링에 인자값으로 전달받은 스트링을 더하는 역할을 한다.

String str1 = "첫번째";
String str2 = "두번째";
str1.concat(str2);

위의 소스를 실행하면 str1 에는 어떠한 데이터가 들어 있을까? '첫번째 두번째' 라는 데이터를 생각했겠지만, str1 에는 원래의 '첫번째' 라는 데이터만 들어 있다. 그 이유는 스트링 클래스의 메소드를 통해 문자열 조작을 하게될 경우 변형된 스트링을 반환하지만, 그 값까지 변하지는 않는다는 것이다. 만일 위의 소스에서 맨 마지막 줄을

str1 = str1.concat(str2);

와 같은 방법으로 사용한다면 str1에는 변형된 데이터가 다시 대입되는 형태를 띄기 때문에 str1에는 우리가 예상했던 '첫번째 두번째' 가 저장되어 있을 것이다.

Posted by seanhigher

댓글을 달아 주세요

write a program to convery uppercase to lower case  (e.g  BAE to bae)
대문자는 소문자로, 소문자는 대문자로 바꾸는 프로그램 작성하기.

Devist's thinks


Answer

'Dev Center > ThinkBig' 카테고리의 다른 글

스트링 정렬하기.  (0) 2010.08.03
숫자로 만든 피라미드.  (0) 2010.08.02
대소문자 바꾸기.  (0) 2010.07.30
문자열 나누기!  (2) 2010.07.29
텍스트 파일 복사하기  (0) 2010.07.28
텍스트 파일에 포함된 단어의 갯수 세기.  (0) 2010.07.27
Posted by seanhigher

댓글을 달아 주세요

1. 문자열 td1 = "<td>    df  34 56 78 12 , 34 45 gffhg 345 456 76 76  sadlf</td>" , td2 = "<td>df  34 56 78 12 , 34 dfg 345 :456 76 76  90</td>" 일때 이 문자열 안에 포함된 수의 평균을 구하는 메소드를 구현할 것. 메소드 average(String) 는 int 형 값을 반환한다.
2. 문자열 alpha = "abcDEfGHijKLmnOPQrstuvWXyz" 이 메소드 reverseString(String) 의 작업을 거치면 소문자는 대문자로, 대문자는 소문자로 변환되며 문자열의 순서를 역순으로 String 값을 반환한다.

Devist's think!



Source


Answer


'Dev Center > ThinkBig' 카테고리의 다른 글

텍스트 파일에 포함된 단어의 갯수 세기.  (0) 2010.07.27
쓰레드를 보호하는 방법?  (0) 2010.07.11
멀티 쓰레드에서는 어떻게 될까?  (0) 2010.07.09
String API 활용  (0) 2010.07.07
피보나치 수열  (2) 2010.07.06
특이한 분수 찾기  (0) 2010.07.05
Posted by seanhigher

댓글을 달아 주세요

각각의 프로그램마다 자료형을 가지고 있다. 대부분 비슷한 형태의 자료형을 가지고 있지만, 그 자료형이 어떤 의미를 가지고 있는지 알고 있다는 것은 자신의 프로그래밍 실력을 한층 더 업그레이드 시키는 계기가 될 것이다.


자바에서의 자료형.
프로그래밍에서 사용되는 데이터는 크게 상수와 변수의 두가지 영역으로 나눌 수 있다. 상수는 고유한 데이터 값을 가지고 있으면서 그 값이 변하지 않는 고정적인 데이터 이다. 그와 반대로 변수는 상수로 구분되는 데이터를 저장하는 공간이라고 할 수 있다. 변수 안에는 어떠한 값이 들어가게 될지는 정해져있지 않은 것이다. 그리고 객체지향의 특징이라고 할 수 있는 자료형이 있는데 이것은 변수보다는 더욱더 확장된 영역이라고 할 수 있다. 변수가 자바에 의해 정해진 틀로 생성되는 공간이라고 하면, 자료형은 사용자가 그 틀을 직접 만들어서 원하는 모양과 크기의 형태로 자료를 담을 수 있는 공간을 만들어 내게 된다.


기본자료형.
자바의 기본 자료형으로는 논리형, 정수형과 실수형, 그리고 클래스형이 있다. 논리형은 'boolean' 의 형태로 선언될 수 있으며 'true', 'false' 의 두가지 형태의 값만 가질 수 있다. 또 다른 자료형과는 다르게 형변환이 불가능하다. 정수형과 실수형은 수를 나타내는대 나타낼 수 있는 범위에 따라 그 사용이 달라지게 된다. 정수형 자료형은 byte, short, char, int, long 의 다섯가지로 나타낼 수 있으며 그 가용범위는 다음과 같다.

byte : 1byte (-128 ~ 127)
short : 2byte (-32768 ~ 32767)
char : 2byte (0 ~ 65535)
int : 4byte (-2147483648 ~ 2147483647)
long : 8byte (-922경 ~ 922경)

이중 'char' 형은 하나의 문자를 나타내는 문자형으로도 사용하는 것이 가능하다. 정수형 자료형은 소수점이 없는 정수형 데이터를 나타내지만, 실수형 자료형은 소수점까지 나타내는 것이 가능하기 때문에 좀더 정밀한 자료값이 필요할 때 사용하게 된다. 실수형 자료형은로는 float, double 의 두가지로 나타낼 수 있으며 각각 4byte, 8byte 의 자료를 나타낸다. 마지막으로 클래스형인 String 자료형이 있다. 이 자료형은 기본 자료형이라기 보다는 문자열을 여러개 이어놓은 것과 같다. 하지만, 문자열 데이터 같은 경우는 많이 사용될 가능성이 있기 때문에 자료형으로 나타낸다. 저장하고자 하는 자료를 따옴표로 묶어 주어야한다.

Posted by seanhigher

댓글을 달아 주세요

String 타입은 문자열의 집합이라고 할 수 있다. PHP 에서의 String 타입은 큰 따옴표와, 작은 따옴표의 종류에 따가 그 사용방법에 조금의 차이가 있다.


String 타입의 변수.
String 타입의 변수는 다음과 같이 선언될 수 있다.

<?
  $name = "Devist";
  $say = ' welcome to devist blog~ ';
?>


문자열 안에서 변수의 값을 출력하려면?
다양한 변수의형태를 통해서 값을 저장하고, 사용하였다. 하지만 변수라고 하는 값은 가변적으로 그 값이 출력되어 사용되어 질때 그 영향을 발휘하고, 필요성이 생기는 것이다.


큰 따옴표를 사용하는 String 변수.
큰 따옴표를 사용하는 변수안에서는 백슬래쉬 문자를 사용한 특수문자를 사용할 수 있다. PHP 는 스크립트 언어이기 때문에 HTML과 결합되어 사용되어 진다. 이렇게 HTML 태그과 결합되어 사용되면서 특수한 문자의 사용이나, 필요성이 많아지게 된다. 큰 따옴표 안에서 사용할 수 있는 특수 문자는 다음과 같다.

\n : 커서를 다음행으로 이동시킨다. 개행문자
\r : 커서를 현재 행의 맨 처음으로 이동시킨다.
\t : 커서를 탭만큼 이동시킨다.
\" : 큰 따옴표를 출력한다.
\\ : 백슬래쉬를 출력한다.
\$ : 달러문자를 출력한다.
\0 : NULL 값을 갖는다.

큰 따옴표를 사용한 스트링 변수는 그 안에서 사용된 변수의 값이 원래의 값으로 변환되어 나오게 되어 있다.

<?
  $age = 28;
  $say = "나의 나이는 $age살 입니다.";
  echo $say;
?>


위의 소스를 실행시키면 다음과 같은 결과가 나타나게 된다.

나의 나이는 28살 입니다.



작은따옴표를 사용하는 String 변수
작은 따옴표를 사용하는 변수의 경우에는 특수문자를 사용할 수 없게 된다. 큰 따옴표를 사용할때 가능하던 특수문자를 사용할 수 없지만, 특수문자들을 그대로 출력이 가능하게 된다. 하지만, 작은따옴표와 백슬래쉬의 두가지 특수문자만은 인식이 가능하다. 위의 소스를 작은따옴표를 이용하여 나타내면 다음과 같은 결과가 나타나게 될 것이다.

나의 나이는 $age살 입니다.


하지만 큰 따옴표를 사용하지 않고 작은따옴표만을 사용하여 나타내야 할 경우도 있을 것이다. 그럴 경우에는 어떻게 해야 할것인가? 스트링변수는 점 연산자형을 제공하고 있다. 각각의 문자열을 연결하기 위해 점(.) 연산자를 사용하여 이어주는 것이 가능하다.

<?
  $age = 28;
  $say = '나의 나이는'.$age.'살 입니다.';
  echo $say;
?>


스트링 변수는 문자열을 출력하기 위한 변수이기때문에 매우 중요한 변수이고, 자주 사용되어진다. 하지만, 큰 따옴표와 작은따옴표의 사용에 대해서 잘 구분하여 사용하지 않는다면 생각지도 못한 결과를 얻게 될 수도 있을 것이다.

Posted by seanhigher

댓글을 달아 주세요

프로그래밍 언어에 있어어 변수는 매우 중요한 요소이다. 변수가 없다면 프로그래밍이라는것 자체가 성립되지 않을 것이다. PHP 에서의 변수는 다른 프로그래밍 언어와는 차별된 유연성을 가진다. 이러한 사실 또한 PHP 를 매력적으로 만드는 요소이다.



이름만 봐도 변수인지 알 수 있다.
PHP 의 변수는 개발자가 아닌 어느 누가 봐도 단번에 변수 인지 알 수 있다. PHP 의 모든 변수 앞에는 '$' 표시가 포함되기 때문이다. 이름을 저장하기 위해 'name' 라는 이름을 가진 변수를 사용하고 싶다면 '$name' 라고 쓰면 된다.

<?
  $name = "무른모 공방";
  $address = "http://devist.tistory.com";
?>



아무거나 다 되는 변수!
PHP 에서의 변수 사용은 고민을 할 필요가 없다. 변수의 형태를 선언할 필요가 없기 때문이다. C 언어나 자바같은 경우는 변수를 사용하기 전에 사용하고자 할 데이터가 어떤 형태를 지니는지 곰곰히 생각해 봐야 했다. 하지만, PHP 에서는 그런 고민이나 걱정은 하지 않아도 된다. PHP 파서가 다 알아서 해주기 때문이다.

<?
  $number = 1028;
  $character = "ABC";
?>



형변환 함수? 그런거 몰라도 된다.
C나 자바같은 프로그래밍 언어에서는 문자의 형태로 받아진 숫자를 숫자의 형태로 바꾸기 위해서 다양한 함수들을 사용해야 했다. 이런 부분을 해결하기 위해 작성해야 할 코드도 적지 않은 부분을 차지하였고... 하지만, PHP 에서는 형 변환 함수에 대해서 공부해야 할 필요가 없다. 변수 자체에 형태를 선언해주지 않기 때문에 문맥의 상황에 맞추어서 자동으로 형변환이 이루어지게 된다.

<?
  $a = 100;
  $b = "이백";
  $b = 200;
  $sum = $a + $b;
?>


$a 는 100이라는 숫자를 받으므로 숫자형태의 데이터를 저장하는 변수가 된다. $b 는 "이백"이라는 문자를 받는 문자형 변수가 된다. 다음 줄에서 $b 는 200 이라는 숫자를 입력받게 된다. 200 이라는 숫자를 받았다고 해서 숫자형이라고 단정지을 수는 없기 때문에 여전히 문자형을 갖게 되지만, 다음줄에서 $b는 계산을 하기 위한 변수로 사용이 되기 때문에 그 순간부터 문자형에서 숫자형 변수로 형태가 바뀌게 되는 것이다.


PHP 언어의 변수형
PHP 에서는 변수의 형태를 파서가 자동으로 선언해주고, 변환해 주지만 어떠한 타입의 변수를 선언해 주는지에 대해서 알아볼 필요는 있다. 내가 입안에서 씹고 있는 음식이 무엇으로 만들어졌는지 모르는것과 아는 것에는 큰 차이가 있다.
boolean : true 와 false 값을 갖는 데이터 형이다.
interger : 정수의 값을 갖는 데이터 형이다. 시스템마다 저장할 수 있는 범위에 차이는 있지만, C 언어의 long 타입과 같다고 할 수 있다.
float : 부동소수값, 또는 실수의 값을 갖는 데이터 형이다.
string : 문자형태의 값을 갖는 데이터 형이다. C 나 JAVA 의 경우는 문자 하나와 문자열을 구분지어 사용하는데, PHP 에서는 문자와 문자열을 다르게 보지않고 동일한 형테의 데이터 형으로 본다.
array : 연관된 자료들의 집합을 나타낸다. C 나 JAVa 와는 다르게 한 배열에 속해있는 자료들의 형태가 같지 않아도 사용이 가능하다.
object : 오브젝트 타입의 클래스 객체를 참조하기 위한 변수 타입이다.
resource : mysql 이나 oci 와 같은 함수를 통해 연결된 데이터이터베이스 등 특별한 함수의 반환값이나, 외부 자원을 가리키는데 사용 가능한 데이터 타입이다.
null : 아무런 값도 갖지 않는 데이터 타입이다.




'Dev Center > PHP start' 카테고리의 다른 글

Arrary 타입 변수 사용하기.  (0) 2010.05.03
String 타입의 변수 사용하기.  (0) 2010.05.02
PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함