C#, 닷넷 스터디 문서
shakeJ
1. C#이란 ?
2000년도에 Microsoft사가 개발한 '프로그래밍 언어'
특징
- 객체지향
객체지향이란 프로그래밍의 기능을 그룹화하고 이것을 조합하여 프로그램을 작성해 가는 개념.
- .NET Framework
이 C#으로 프로그래밍한 프로그램 .NET Framework로 실행환경을 조성해줌(예:JavaVM과같음)
- 안전한 형, 메모리관리
데이터 형 관리가 확실하므로 변수에 값을 잘못 대입하는 일을 막을 수 있음.
2. C#언어의 이용
+ 콘솔 애플리케이션
Windows 의 명령 프롬프트 내에서 동작하는 CUI(Character User Interface: 문자사용자 인터페이스) 애플리케이션입니다. 문자로만 구성된 화면(콘솔 화면에서 명령을 입력해 조작합니다.
+ Windows 애플리케이션
창이나 버튼 같은 GUI(Graphic User Interface : 그래픽 사용자 인터페이스) 를 가진 애플리케이션입니다.
+ 웹 애플리케이션
사용자의 웹 브라우저에서 제기되는 요구에 대해 서버 측에서 동작하여 GTML 페이지를 생성합니다. 웹 페이지를 마치 Windows 애플리케이션처럼 취급할 수 있는 것이 특징입니다. 명칭 ASP.NET
3. 기본적인 흐름
1. "cs"라는 확장자의 텍스트 파일에 C# 언어의 프로그램을 입력합니다.
2. 소스 파일을 컴파일 합니다. 컴파일러는 "**.exe"입니다.
3. 프로그램을 실행합니다.
4. 문자표시를 해봅시다!
Write() WriteLine()이라는 메소드를 사용.
이 때, 메소드란 ' 일련의 처리를 모은 것' 끝에 붙어있는 ()이 메소드를 나타내는 것.
Write() 는 '모니터에 문자를 표시하는'
WriteLine() 은 '모니터에 문자를 표시하는 줄을 바꾸는'
Main()이라는 메소드 안에 작성하면 됩니다.
5. 변수
정수형, 실수형, 문자형 등 형을 지정하여 용도에 따른 다양한 상자(변수)를 준비해 둘 수 있습니다.
- 배열, 복수의 같은 형의 변수를 모아 열거한 것입니다.
- 데이터 형, 변수를 만들어 사용할 때 문자를 넣을지 숫자를 넣을지 미리 선언해 줘야 되는데, 이때데이터 형을 선언하는 이유는 컴퓨터에게 저장할 메모리 영역을 준비해야 하는지 알려주는 역할
- 변수, 데이터를 임시로 보관한 다음 가져오거나 작업을 처리함에 있어 임시적인 데이터를 저장할 공간이 필요한데, 이 변수는 보관된 데이터를 가져오거나 저장할 때 사용.
Lesson1 : Hello !
Using system;
Class Hello { <~클래스 명을 입력하는 것으로 시작.
Public static void Main() {
Console.WirteLine("Hello!"); <~ 문자열을 표시합니다.
}
}
Using System;
Namespace abc {
Class Hello {
Static void Main() 중요 {
Xxxxxxxxxxxxxxxxxxxx
.
.
}
}
}
문자열의 표시
Console.Write("Hello!"); (세미콜론 : 여기까지가 1개의 문이라는 것을 뜻함)
Console.WriteLine("Hello!") : ( Line이 붙으면 줄을 바꾼다는 뜻)
Lesson -2 변수
변수의 선언과 대입
Int a; ---------Integer 정수란 뜻으로 int형 변수 a를 선언한다는 뜻
A=2; -----------작성한 변수 a에 2라는 값을 대입합니다. 변수 a에 2를 대입한다.
Using System;
Class data {
Public static void Main() {
Int a;
Int b;
A=2;
B=2;
Console.WriteLine(a);
}
}
Console.WriteLine은 변수형을 선언하고 그 값을 표시할 수 있음.
Int a; Int b; -> int a, b; 라고도 선언할수 있음
Int a; a=2; -> int a = 2;
Lesson -3 수치형(정수형과 실수형)
() 메모리 크기 비트
정수형
Byte (8) Short (16) Int(32) Long(64)
실수형
Float(32) double(64)
Lesson -4 문자와 문자열
-문자
C#언어에서 문자란 유니코드 문자 1개를 뜻함.
한 문자 표시시 char a = "가";
문자열 String sweet = "Candy";
문자열의 + 결합
Using system;
Class sweets {
Static void Main() {
String void Main() {
String candy = "캔디";
Int a = 3 ;
String basket = candy + a + "개";
Console.WriteLine(basket);
}
}
Lesson 5 –배열
배열은 같은형의 변수 여러 개를 한 개로 모은 것. 대량의 데이터를 취급할 시 복수의 데이터를 차례차례 자동으로 읽어내고자 할 때 배열을 사용하면 편리합니다.
배열의 선언은 new 연산자를 이용하여 다음과 같이 수행함.
Int [ ] a = new int [ ] { 1, 2, 3, 4};
요소 수를 세지 { } 에 데이터가 몇 개인지에 따라 요소 수 결정
않아도 됨 [ ]안에
보통 줄여서 int [ ] a = {1, 2, 3, 4}; 라고 써도 됨.
Int [ ] a = new int [4];
Int n = 1;
A[0] = 1;
A[1] = 2;
A[3] = 3;
A[4] = 4;
Console.WriteLine(a [n]); a[1] 의 값 2를 표시.
Int [ ] a = new int [3];
형 배열명 요소수
Int [ , ] a = new int [ 2, 3 ]; ->2차원 배열
[ 예 ]
Int[ , ] a = {
{ 10, 20 },
{ 30, 40 },
{ 50, 60 }
};
a[1,1] = 0;
console.WriteLine(a[1.0]);
Chapter 2 . 연산자
1. 대입연산자
+= 는 a+=b >>>>>>>>a+b의 결과를 a에 대입 (a= a+b)
-= 는 a-=b >>>>>>>>a=a-b와 같음
%= 는 a%=b>>>>>>>>나머지를 대입
2. 산술연산자
++은 증가연산자로서 변수의 값을 1증가시킴
--는 감소연산자로서 변수의 값을 1감소시킴
전치연산으로
Int x, a= 1; x = ++a; 이럴 경우, x의 값은 2가 됨.
Int x, a =1; x = a++; 이럴 경우, x의 값은 1이 됨.
3. 비교연산자
== a와 b는 같다.
!= a와 b는 같지않다.
Using System;
Class Compare {
Static void Main() {
Int a = 10, b = 20;
Console.WirteLine("a==b" + (a == b));
}
}
실제 컴파일 후 나오는 화면에선
A==b False 라고 나옴
True와 False로 표현됨.
3. 논리형
bool형은 true 또는 false 중 한 값을 가진 변수의 형입니다.
조건식이나 대입식은 논리형의 값을 가지고 있으므로 bool형에 대입할 수 있습니다.
Bool t = (a == b);
조건연산자
Bool sel;
.
.
.
Int a = sel ? 0 : 1;
조건식 true일 때 /False 일 때
Using system;
Class Judge {
Static void Main ( ) {
String right = "정답", wrong = "오답" ;
Bool value;
Value = true;
String answer = value ? right : wrong;
Console.WriteLine(answer);
Value = false;
answer = value ? right : wrong;
console.WriteLine(answer);
}
}
Lesson 5 – 논리연산자
&& 그리고 (a >= 10) && (a < 50)
|. || 또는 (a == 1) || (a == 100) a는 1또는 100이면 참
! ~이(가) 아니다 ! ( a == 100 ) a가 100이라면 거짓
A && B A/B 조건 둘다 충족하는 부분
A || B A와 B중 하나 이상을 충족
A ! A는 반대로 인식
* 논리형의 이용
Bool x = ( c == 5 ) x는 5이면 true, x가 5가 아니면 false
Bool y = ( c == 9)
X || y x = true 또는 y = true이면 true
'옛글 > ASP.NET' 카테고리의 다른 글
[ASP.NET]Get/Set의 차이점에 대해서 (0) | 2010.10.28 |
---|---|
C# 대화상자/ 고급컨트롤 (0) | 2010.10.28 |
asp.net 2.0 페이지 및 응용 프로그램 구조 (0) | 2010.10.28 |
닷넷의 배경/특징 및 네임스페이스은 무엇인가? (0) | 2010.10.28 |
아웃풋/UnderGround HipHop Info site 중간 계획문서 (0) | 2010.08.12 |