작성자 : 코로세
작성자 : 코로세
' IOT 기반 응용 SW과정 > Group Studying' 카테고리의 다른 글
5. 쓰레드 (0) | 2016.06.17 |
---|---|
은행 관리 프로그램 (0) | 2016.06.14 |
4. 기본 API (0) | 2016.06.09 |
3. 상속, 인터페이스 (0) | 2016.06.09 |
1. Java의 특징, 변수와 타입, 연산자 (0) | 2016.06.09 |
작성자 : 코로세
작성자 : 코로세
5. 쓰레드 (0) | 2016.06.17 |
---|---|
은행 관리 프로그램 (0) | 2016.06.14 |
4. 기본 API (0) | 2016.06.09 |
3. 상속, 인터페이스 (0) | 2016.06.09 |
1. Java의 특징, 변수와 타입, 연산자 (0) | 2016.06.09 |
작성자 : 욱쓰
작성자 : 욱쓰
5. 쓰레드 (0) | 2016.06.17 |
---|---|
은행 관리 프로그램 (0) | 2016.06.14 |
4. 기본 API (0) | 2016.06.09 |
3. 상속, 인터페이스 (0) | 2016.06.09 |
2. 클래스 (0) | 2016.06.09 |
try 구문 밖에서 사용할 스트림 객체 참조변수 선언
try 구문 안에서 스트림 객체 생성 및 사용(읽기,쓰기)
finally 구문안에서 사용한 스트림 close
InputStream
read()
read(byte[] b)
read(byte[] b, int off, int length)
OutputStream
write(int a)
write(byte[] a)
write(byte[] b, int off, int length)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReaderTest {
public static void main(String[] args) {
BufferedReader in = null;
BufferedWriter out = null;
try{
out = new BufferedWriter(new FileWriter("data.txt"));
out.write("꿈에 미치면 신화가 된다");
out.append(".");
out.flush();
in = new BufferedReader(new FileReader("data.txt"));
// int c;
// while( (c = in.read()) != -1)
// System.out.print((char) c);
String msg = null;
while ((msg = in.readLine()) != null)
System.out.println(msg);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (in != null)
in.close();
if (out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}}}}
보조 스트림
문자 변환 보조 스트림
바이트스트림 -> InputStreamReader -> 문자스트림
문자스트림 -> OutputStreamWriter -> 바이트스트림
import java.io.BufferedReader;//import java.io.BufferedWriter; //import java.io.FileInputStream;
import java.io.FileReader; //import java.io.FileWriter; //import java.io.IOException;
import java.io.InputStreamReader; //import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// BufferedReader in = null;
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter("log.txt"));// 스트림 객체 생성
while (true) {
System.out.println("기록할 내용을 입력 : ");
String msg = scan.nextLine();
if (msg.equals("quit"))
break;
writer.write(msg + "\n");// 이 코드를 사용자가 quit를 입력할때까지 반복
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null)
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
·서버(Server): 사용자들에게 서비스를 제공하는 컴퓨터
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UdpSender {
public static void main(String[] args) {
try {
InetAddress ip = InetAddress.getByName("70.12.109.114");
//UDP전송 순서 // 소켓 생성 // 보낼 데이터를 바이트 배열로 준비
//준비한 바이트 배열을 목적지 주소와 목적지 포트 번호를 포함해 패킷으로 준비
//소켓을 통해 패킷 전송
DatagramSocket socket = new DatagramSocket();
//데이터를 받고자 할때는 소켓 생성자에 사용할 포트번호 기재
//보내기만 할때는 안써도 됨//안쓰면 내부적 임시포트 받아씀
String msg = "안녕 UDP로 데이터를 보내는거야";
byte[] buf = msg.getBytes();
DatagramPacket packet = new DatagramPacket(buf,buf.length,ip,5000);
socket.send(packet);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
SVN(subversion) : 프로젝트 협업 관리 도구
Day23 TCP (0) | 2016.04.18 |
---|---|
Day22 TCP (0) | 2016.04.12 |
Day20 입출력 (0) | 2016.04.08 |
Day19 스레드 (0) | 2016.04.07 |
Day18 예외처리 (0) | 2016.04.06 |
입력/출력 -> 우리가 만드는 프로그램이 할당 받을 메모리 외부와 데이터를 주고 받음.
IO (Input/Output) : 자바에서 데이터는 스트림(Stream)을 통해 입출력 됨.
Stream : 순서가 있는 데이터의 연속적인 흐름
바이트(Byte) 기반 스트림 > 문자(character) 기반 스트림
바이트 기반 스트림 |
문자 기반 스트림 |
||
입력 바이트 스트림 (...InputStream) |
출력 바이트 스트림 (...OutputStream) |
입력 문자 스트림 (...Reader) |
출력 문자 스트림 (...Writer) |
파일의 경로
절대경로 : 최상위 루트로부터의 경로
상대경로 : 현재 내 위치로부터의 경로
정규경로 : 최단거리 절대경로
import java.io.*; public class FileStreamTest { public static void main(String[] args) { FileInputStream in = null; FileOutputStream out = null; //사용할 스트림 객체를 참조할 참조변수 선언
try{ //예외처리 프레임 작성 // File타입의 객체/ FileDexcriptor / String타입의 파일정보 중에 하나 out = new FileOutputStream("data.txt"); for(int i = 0; i < 10; i++) out.write(i); in = new FileInputStream("data.txt"); //파일의 경로(절대경로, 상대경로, 정규경로) int c; while ( (c= in.read()) != -1) System.out.println(c); //사용할 스트림 객체를 생성 //문자열로 주려면 내가 목적지로 사용할 파일의 경로를 써주면됨 } //생성자에는 목적지 파일에 대한 정보를 담아야함 catch(IOException e) { e.printStackTrace(); } finally{ try{//스트림은 쓰면 닫아줌 if(out != null) //try구문에서 객체 생성하다 예외가 나오면 finally 구문에서 참조변수가 out.close(); //null이어서 멤버함수 close를 접근하면 NullPointerException이 발생할 수 있으므로 조건 검사 if(in != null) in.close(); } catch(IOException e){ e.printStackTrace(); } } } } |
데이터 싱크 스트림 |
데이터 처리 스트림 |
데이터를 소스에서 읽거나 목적지에 기록 |
들어오는 데이터를 가공하여 내보낸다 |
buffer는 바가지, 바가지의 크기는 기본 8192, 바가지가 꽉 찼는데 새로운 데이터가 들어오면 바가지에 있는 데이터를 처리
flush() : 현재 바가지에 있는 데이터를 강제로 처리하기
직렬화(serialization) : 객체가 가진 데이터들을 순차적인 데이터로 변환하는것
AWT - > 운영체제로부터 그래픽 자원을 빌려와 GUI 구현
Swing -> 자바 안에 독립적인 UI 컴포넌트 자원을 내포
Day22 TCP (0) | 2016.04.12 |
---|---|
Day21 입출력 / 네트워크 프로그래밍 (0) | 2016.04.11 |
Day19 스레드 (0) | 2016.04.07 |
Day18 예외처리 (0) | 2016.04.06 |
Day17 제네릭과 컬렉션 (0) | 2016.04.05 |
예외 : 런타임 에러, 프로그램 실행 중 어떤 이유로 뻗는거 // 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생하는 오류
예외처리 : 런타임에러가 생겼을때 어떻게 대응할지에 대한 명세를 작성해 주는거-> 그러면 예외가 발생해도 프로그램이 뻗지 않고 계속 동작.
예외의 종류 3 : Error (시스템에서 발생) // RuntimeException (선택적으로 예외 처리) // IOException (예외 처리 필수)
체크 예외 : 컴파일러가 예외 처리를 강요
비체크 예외 : 컴파일러가 신경 안쓰는 예외
public static String readString() throws IOException{
//해당 함수의 몸통안에 IOExeption을 발생시키는 코드를 예외처리하지 않고 사용가능//해당 함수를 호출하는 녀석은 IOException에 대한 책임을 가짐
class DivideByZeroException extends ArithmeticException{
public DivideByZeroException()
{
super("0으로 나눌수는 없음.");
}
}
public class ExceptionTest {
public static void main(String[] args) {
double result;
try{
result = quotient(1,0);
}
catch(DivideByZeroException e){
System.out.println(e.toString());
}
}
public static double quotient(int n, int d)
throws DivideByZeroException
{
if( d == 0)
throw new DivideByZeroException();
return(double) n/d;
}
}
finally 블록의 절대적 필요성은 try나 catch구문에서 함수 return등으로,, 이 다음 코드로 진행이 아닌 경우 처리해야 될 코드를 수행하기 위해
Day20 입출력 (0) | 2016.04.08 |
---|---|
Day19 스레드 (0) | 2016.04.07 |
Day17 제네릭과 컬렉션 (0) | 2016.04.05 |
Day16 패키지 (0) | 2016.04.04 |
Day15 전략패턴 (0) | 2016.04.01 |
템플릿 메소드 패턴
//부모클래스에서 템플릿에 해당하는 메소드(fight)가 정의되있고 fight 내용중 세부 attack,move하는 기능에 대한 정의는 추상메소드로 남겨둔채
//자식클래스에서 세부 attack,move를 구현해서 템플릿을 완성하는 방법
package d02;
public abstract class Robot {
protected String name;
public void fight(){
System.out.println(name + "가 전투를 시작합니다.");
attack();
move();
attack();
System.out.println(name + "가 전투를 종료합니다.");
}
public abstract void attack();
public abstract void move();
}
---------------------------------------------------------------
package d02;
public class TaekwonV extends Robot{
// String name = "태권브이";
public TaekwonV(){
name = "태권브이";
}
public void attack(){
System.out.println("펀치로 공격!");
}
public void move(){
System.out.println("날아서 이동!");
}
전체 윤곽인 구조(템플릿)에 대한 재사용은 잘 이뤄지지만, 세부구형기능에 대한 재사용은 이뤄지지 않음.
기능을 재사용하려면, 일단 기능을 분리해야됨. <-- 기능을 구현하는 독립적인 클래스로 구현.
단일 책임 원칙 : 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다.
단일 책임 원칙의 장점 - 단일 책임 원칙을 지키려고 하다 보면 인터페이스 등을 도입하게 되며, 여러 디자인 패턴을 적용해서 설계를 우아하게 만들게 된다. 그러면서 자연스럽게 모듈간의 결합이 느슨해진다. 이것은 어떤 변경이 필요할 때 수정 대상을 명확하게 하는 결과를 가져온다.
의존 관계 역전 원칙 : 소프트웨어 모듈들을 분리하는 특정 형식을 지칭한다. 이 원칙을 따르면, 상위 계층(정책 결정)이 하위 계층(세부 사항)에 의존하는 전통적인 의존 관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있다.
리스코프 치환 원칙 : 컴퓨터 프로그램에서 자료형 가 자료형
의 하위형이라면 필요한 프로그램의 속성(정확성, 수행하는 업무 등)의 변경 없이 자료형
의 객체를 자료형
의 객체로 교체(치환)할 수 있어야 한다는 원칙이다.
Day17 제네릭과 컬렉션 (0) | 2016.04.05 |
---|---|
Day16 패키지 (0) | 2016.04.04 |
Day 14 형변환 , 추상클래스 (0) | 2016.03.31 |
Day13 상속 (0) | 2016.03.30 |
Day12 변수 (0) | 2016.03.29 |
1. 자바 프로그램을 개발하는데 개발 도구를 JDK 라고 한다.
2. JDK와 JDE의 차이점은 무엇인가? JDK > JRE(자바실행기능) + 개발도구
3. 사용자로부터 값을 입력 받으려면 Scanner 클래스를 사용하는 것이 편리하다.
4. Scanner 클래스에서 사용자로부터 정수를 입력 받는 메소드의 이름은 nextInt() 이다.
5. 주석은 프로그램에 대한 설명이다.
6. 입력을 받아서 작업을 수행하고 결과를 내보내는 작은 기계로 생각할 수 있는 것은 메소드(함수)이다.
7. 모든 자바 소스 파일의 확장자는 .java 이다.
8. 프로그램에서 데이터를 저장하는 공간은 변수이다.
9. 변수에 값을 저장하는 연산을 대입연산이라고한다.
10. 실행 도중에 값이 변하지 않는 수를 상수라고 한다.
11. 컴파일 시에 오류가 없는데도 원하는 결과가 나오지 않는다면 논리오류가 있는 것이다.
12. 변수에 새로운 값이 대입되면 기존의 값은 어떻게 되는가? 기존의 값은 없어진다.
13. days 와 Days는 동일한 변수인가 아닌가? 아니다.
14. 자바의 변수 타입은 기초 변수와 참조 변수로 나뉜다.
15. 다음 중에서 올바르지 않은 변수 이름은?
x, 8items, march09, sales_report, theProfit2009, theProfit2009, #ofPlayer
16. case 절에서 break 문을 생략하면 어떻게 되는가? 다음 case로 넘어간다.
17. 다음 코드의 출력을 쓰시오
for(int i =1; i < 6; i++)
forI(int j = 5; j >= 1, j--)
System.out println(i + "곱하기" + j + "은" + i*j);
18. 다음 코드의 출력을 쓰시오
int n = 12;
while (n >0) {
n = n - 2;
if( n == 6 )
break;
System.out.println(n); 10,8
19. 위의 문제에서 break를 continue로 변경하면 어떻게 되는가? 10,8,4,2,0
1. 사용자로부터 3개의 정수를 읽어서 평균값을 계산하여 출력하는 프로그램을 작성하라.
2. 초 단위의 시간을 입력 받아서 시/분/초로 변환하는 프로그램을 작상하여 보자. ex) 3661초는 1시간 1분 1초이다.
3. 10000보다 작은 정수를 입력 받아서 이것을 천의 자리, 백의 자리, 십의 자리, 일의 자리로 분리하여 출력하는 프로그램을 작성하시오.
4. 사용자한테 이름과 나이를 물어보고 화면에 이름과 나이를 다시 출력하는 프로그램을 작성하시오.
5. 1부터 500까지의 정수의 합을 구하시오.
6. 상점에서 하나에 100원인 물건을 판매하고 있다, 물건을 10개 이상 구입하는 고객에게는 10%를 할인 해준다.
사용자가 구입한 물건의 개수를 입력하면 전체 가격이 얼마인지를 계산해주는 프로그램을 작성하라.
(즉 물건의 개수가 10%이상이면 10%할인한 가격으로 계산을 하여야한다.)
7. 특정한 정수를 읽어 들여서 0과 해당 정수 사이에 있는 모든 3의 배수를 출력하는 프로그램을 작성하라.
만약 입력 정수 값이 0보다 작으면 오류 메시지를 출력하라.
8. 구구단표를 화면에 출력하는 프로그램을 작성하시오. (2단~9단까지 중첩 for문을 이용하시오.)
9. 피보나치 수열은 다음과 같이 0과 1로 시작하여 앞의 두 수를 더해 다음의 수를 계산해내는 수열이다.
피보나치 수열을 생성하여 출력하는 프로그램을 작성해보시오.
0,1,1,2,3,5,8,13,21,34,55
조건문 (if) // 반복문
조건문 ex) 만약 비가 오지 않으면 테니스를 친다.
만약 결석이 1/3이상이면 F학점을 받는다.
만약 시간이 없는 경우에는 택시를 탄다.
if 문이 오면 다음 한문장만 인식 / 두문장 이상은 {} 필수
else // if 문법은 혼자서도 실행가능하나 , else 문법은 무조건 if 필요함.
초기화 되지 않은 변수는 사용할 수 없다.
if 문법 -> if(조건식) 조건이 참일 경우 if문에 포함된 문장을 실행 두문장 이상을 if문에 포함시키려면 중괄호로 문장들을 감싸면 됨,
<Math>
Math라는 꾸러미는 각종 수학적인 기능들을 담고있음
ex> random, pi, abs, pow
Math.random() <- 0.0000000~0.9999999까지의 임의의 숫자를 갖다줌.
Math.random()*6 <- 0.0000000 ~ 5.9999999
(int)(Math.random() * 6) <- 0~5
(int)(Math.random() * 6) +1 <- 1~6
<switch 문법>
switch(변수)
{
case 값:
문장
case 값:
문장
break ->중괄호 밖으로 내보내기
default : 매칭되는 케이스가 없을시 이동
<반복문>
while // for // do..while
while 문법 : if문이랑 문법이 같음, if는 조건식을 확인하고 참이면 문장수행, while은 조건식 확인하고 참이면 문장수행 후, 다시 조건식 확인, 틀리면 끝.
=반복계수=
Day 07 배열 (0) | 2016.03.22 |
---|---|
Day 06 复习 (0) | 2016.03.21 |
Day 04 변수 (0) | 2016.03.17 |
Day 03 영역 (0) | 2016.03.16 |
Day 02 메소드 (0) | 2016.03.15 |
百見不如一打 : 수백 번 본들 한번 쳐보고 실행해볼만 하다.
변수는 타입과 이름(바구니 구분용)을 가지고 있다.
:변수는 값을 담는 바구니인데 값의 유형에 따라 바구니의 유형도 여러가지가 있음
ex) ch, i, fvalue
변수의 초기화 : 변수에 처음으로 값을 넣어주는 것
ex) int x;
int 타입의 변수 x를 생성, 정수를 담을 수 있는 바구니 x를 생성, 정수변수 x를 선언
x = 100
x라는 변수에 100이라는 값을 담음, x라는 변수의 값을 100으로 초기화
상수(constant)는 프로그램이 실행하는 동한 변하지 않는 수.
10.0 : 실수상수 // 10 : 정수상수 // 'a' : 문자상수(한글자만) // "a" : 문자열상수
수식(expression)은 피연산자와 연산자로 이루어진다, 결과값을 가진다.
x = 100 / y = 200 / sum = x + y
대입 연산자는 오른쪽에 있는 값을 왼쪽의 변수에 담음
대입 연산자 == 할당 연산자 == 배정 연산자 /* == : 같다 */
산술 연산자
프로그래밍에서는 두개의 피연산자가 같은 타입이면 결과도 그 타입이 나와야함
문자열끼리의 산술은 이어붙임
ex) 4/3 = 1 <- 정수와 정수를 연산했기에 결과도 정수(소수버림)
5.0/2 = 2.5 <- 서로 다른놈들 연산하면 더 큰타입의 결과로 나옴(문자열>실수>정수)
6.0/3 = 2.0 // 6/3 = 2
System : 필수기능, 그냥 언제든 사용가능
out : 표준출력 -> 모니토로 데이터를 출력할 수 있는 기능을 가진 꾸러미
in : 표준입력 -> 키보드로부터 데이터를 읽어들일 수 있는 기능을 가진 꾸러미
Scanner : 입력데이터를 편리하게 가공해주는 도우미 꾸러미, 외부에 있어서 임포트 선언 해야 사용가능 < import java.util.Scanner; >
/* Ctrl + space : 자동완성 단축키
sysout <- Ctrl+spase = System.out.print(); */
nextInt : 키보드로부터 들어오는 다음 데이터를 정수로 읽어서 갖다줌, 대기하다가 데이터가 들어오면 정수로 가공해서 가공한 결과를 return.
서식문자 : %시리즈 // %d : 십진수를 나타냄
지역변수 : {}블록안에서 만들어진 변수
-> 변수선언문을 만날때 생성(공간할당), 자신이 포함된 함수가 종료될때 없어짐
스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다
// LIFO : Last-In, First-out
늦게만들어진놈이 꼭 먼저 없어짐
/* 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. */
스택영역(stack) : 지역변수들의 저장
힙영역(heap) : 동적으로 할당한 데이터들이 저장 (기초자료형이 아닌 데이터)
/** 프로그래밍에서,, 정적 : 컴파일시에 미리 예측가능하며 결정된 사항
동적 : 실행시에 결정되는 사항
<오류>
* 컴파일 오류(compile-error) : 컴파일이 실패한거 (ex. 문법이 틀림) <--대놓고 발견
* 실행 오류(rum-time error) : 실행중에 프로그램이 뻗는거 (ex. 정수입력 받을라고 스캐너 대기중인데 문자입력..) <-- 테스팅 통해 발견
* 논리 오류(logical error) : 컴파일/런타임 에러 없이 잘 동작했는데, 프로그램 결과가 원한값이 아님.
자바란?
* 이식성이 높은 언어이다. <- 서로 다른 실행환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수있는것, 자바 실행 환경 (JRE : Java Runtime Environment)
* 객체 지향 언어이다. <- 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는기법 : 객체 지향 프로그램(OOP : Object Oriented Programming)
* 메모리를 자동으로 관리한다. <- 쓰레기 수집기(Garbage Collector)
**막강한 오픈소스 라이브러리가 풍부하다.
자바 가상 기계(JVM)
"Write once, run anywhere."
Day 06 复习 (0) | 2016.03.21 |
---|---|
Day 05 if/while (0) | 2016.03.18 |
Day 04 변수 (0) | 2016.03.17 |
Day 02 메소드 (0) | 2016.03.15 |
Day 01 开始 (0) | 2016.03.14 |
소스파일작성
* 윈도우 보조 프로그램의 메모장 사용
* 파일의 확장자는 .java로 한다. //대소문자 구분!
Hello.java
public class Hello {
public static void main(String[] args){
System.out.println("안녕하세요. 자바 프로그래머 여러분!");
}
}
--> 바탕화면에 저장 --> cmd 실행 --> dir 입력 --> cd Desktop --> dir 입력
--> javac hello.java 입력 -->dir 입력 --> Hello.class 확인(컴퓨터가 실행가능한 기계어로 이뤄진 작업수행명세) --> java Hello 입력(확장자명.class 제외)
-----------------------------------------------------------------------------------
소스코드편집 + 컴파일 + 실행 = IDE
-> 이클립스(eclipse) <-
설치
->이클립스 폰트변경방법
뷰 지정
자바에서 세가지의 주석문법
1. 문장 주석 : //로 시작해서 편집기상의 라인이 끝날때까지의 내용을 무시
2. 문단 주석 : /* 를만나서 */ 만날때까지의 내용을 무시
3. 문서 주석 : /** **/
이클립스에서의 주석단축키
ctrl + shift + c (범위지정 후)
ctrl + / (범위지정 후)
자바 내에 public class는 한개 / / F2 - 파일명 변경
/*CPU(중앙처리장치) -> 연산장치
메모리(주기억장치) -> 저장장치
HDD(보조기억장치) -> 저장장치*/
변수(variable) : 값을 담을 수 있는 바구니
[데이터를 일시적으로 저정할 목적으로 사용하는 메모리공간]
int x = 100 / int y = 200 / int sum // sum = x + y
/* 컴퓨터 구조론, 운영체제, 데이터베이스, 네트워크통신, 알고리즘
bit = 0/1을 한개 저장할 수 있는 공간 / byte : 8bit : 저장 최소 단위
ASCII
1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위해 사용하기 때문이었다. Parity Bit라고 해서, 7개의 비트 중 1의 갯수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 확률을 높인 것. */
클래스(class) : 자바 프로그램을 구성하는 구성요소, 영역을 나누는 역할
= 필드(변수) + 메소드(함수)
메소드(함수)란,, 입력을 받아서 작업을 수행하고 결과를 내보냄, 명령문장들의 집합
main() 메인함수
함수의 구성요소
-> 몸통 : 이 함수가 호출됬을때 실행해야 될 문장집단
-> 매개변수 : 함수가 실행될때 전달받는 입력값
-> 반환값 : 함수가 끝나고 돌려줘야되는 값
/* 구조체 */
Day 06 复习 (0) | 2016.03.21 |
---|---|
Day 05 if/while (0) | 2016.03.18 |
Day 04 변수 (0) | 2016.03.17 |
Day 03 영역 (0) | 2016.03.16 |
Day 01 开始 (0) | 2016.03.14 |