1. 1차원 배열 선언 →  배열 생성 → 배열 사용 순.



😎 주석처리 시 한글로 하면 컴파일 에러가 남. 그냥 영어 진행. 원인을 모르니 영어를 공부할 수밖에…



2. 2차원 배열




3. 배열의 선언과 초기화를 한번에!(1차원)


Q. 다음 중 그대의 선택은?


int arr[];

arr = new int[10];

arr[0] = 10;

arr[1] = 20;

arr[2] = 30;

arr[3] = 40;

arr[4] = 50;

arr[5] = 60;

arr[6] = 70;

arr[7] = 80;

arr[8] = 90;

arr[9] = 100;

int arr[] = new int [10];

arr[0] = 10;

arr[1] = 20;

arr[2] = 30;

arr[3] = 40;

arr[4] = 50;

arr[5] = 60;

arr[6] = 70;

arr[7] = 80;

arr[8] = 90;

arr[9] = 100;


int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};




4. 배열의 선언과 초기화를 한번에!(2차원)






5. 배열의 항목수를 출력 (복잡한 로직을 갖는 프로그램은 배열의 크기를 눈으로 보고 알 수 없음.





[Reference]

  1. [뇌를 자극하는 JAVA 프로그래밍] [김윤명][한빛미디어][2006.8.31출간]


1. 조건문을 포함하는 프로그램(잘 안보이니까 앞으로는 텍스트파일로 집어 넣음)



2. 반복문을 포함하는 프로그램


class HelloJava10 {

public static void main(String args[]) {

int num=0;

while (num<10){

System.out.println("Hello, Java!");

num= num+1;

}

}

}



3. 자바 프로그램에서 사용되는 기초 타입들


타입 이름

설명

byte

정수

short

정수

int

정수

long

정수

float

소수

double

소수

char

문자 하나

boolean

참 또는 거짓✯

String

문자열


♥ String과 char 는 둘 다 문자 데이터 표현 타입. String은 큰따옴표를 묶어서 표시, char는 작은 따옴표로 묶어서 표시

ex) String str = “Hello, Java”;

     char ch = ‘A’;


4. 로컬 변수의 사용 범위 (변수가 사용되기 전이기만 하면 메소드 본체의 중간에 쓸 수 있음)


class DecExample1 {

public static void main(String args[]) {

double num1;

num1 = 17.5;

System.out.println(num1);

short num2;

num2 = 12;

System.out.println(num2);

char ch = 'A';

System.out.println(ch);

}

}



5. 값을 바꿀 수 없는 final 변수

변수 = 값이 변할 수 있는 값

변수의 값을 바꿀 수 없게 만들어야 할 때 선언문 제일 앞에 final 키워드를 붙여준다.


class FinalExample1 {

public static void main(String args[]) {

double circum;

final double pi = 3.14;

double radius = 2.0;

circum = 2*pi*radius;

System.out.println(circum);

}

}



[Reference]

  1. [뇌를 자극하는 JAVA 프로그래밍] [김윤명][한빛미디어][2006.8.31출간]





'#자바#notepad' 카테고리의 다른 글

[자바]05. 예제(배열)  (0) 2016.02.03
[자바]04. 메모장에서 노트패드(Notepad++)로 변경  (0) 2016.02.03
[자바] 02.HelloJava 출력하기  (0) 2016.02.03
[자바] 01.설치하기  (0) 2016.02.03

1. 메모장은 작성하기 별로이고 눈에 잘 안 띈다고 판단. 대안으로 노트패드로 변경.

   https://notepad-plus-plus.org/ 노트패드 사이트에서 최신버전 다운로드 후 설치


2. 어떤 스킨(배경)을 설정해야 막 찾다가 한 블러그에서 추천해주는 걸로 선택.


[초기 스킨]


3. 언어도 자바로 바로 저장해주고! 메모장 보다 Good Job!


'#자바#notepad' 카테고리의 다른 글

[자바]05. 예제(배열)  (0) 2016.02.03
[자바]03. 예제(조건문, 반복문, 로컬변수)  (0) 2016.02.03
[자바] 02.HelloJava 출력하기  (0) 2016.02.03
[자바] 01.설치하기  (0) 2016.02.03

1. 모든 프로그래밍 언어 학습이 Hello 부터 작성시킴. 자바 환경 설치하고 간단하게 진행하면 됨.  책에서 시키는 대로 일단 메모장으로 편집. (비주얼 스튜디오의 C언어 학습과 유사하고 자바 학습은 전부 무료로 진행할 수 있음.)



2. javac HelloJava.java  → 컴파일(컴파일하면 .class 파일이 생김)

   java HelloJava → 실행


[Reference]

  1. [뇌를 자극하는 JAVA 프로그래밍] [김윤명][한빛미디어][2006.8.31출간]


1.http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp/

   JAVA 사이트 접속( 안열리면 구글 창에서 ‘JDK Download’ 검색

2. JDK 클릭

3. 동의하고 자신의 환경(윈도우키+Pause/break 키) 선택. 윈도우 64비트 체제라 아래 선택 후 설치.


4. 설치하면 아래 링크에 들어가서 자바 플랫폼에 대한 문서화 파일을 틈틈이 공부.(영어를 잘 해야 겠네요..ㅠ)

http://docs.oracle.com/javase/8/docs/

5. 경로 설정 시 필요하니 설치할 때 설치 경로 알아두기. 전 C:\Program Files\Java\jdk1.8.0_71


이렇게 뜨면 경로 설정 해야함. (시작-검색창-cmd 입력-명령프롬프트 창으로 이동됨)


6. bin 폴더로 경로 설정하고 javac 라고 치면 설정 끝! (임시 설정이라네요^^:)

7. 도스 창 껐다 키면 도로 아미 타불.ㅡㅡ(그럼 임시 설정은 왜하는지요? 궁금하지만 물어볼 사람이 없네요.ㅠㅠ)

8. 영구 설정법 (내컴퓨터 →고급설정→환경변수→PATH 값에 C:\Program Files\Java\jdk1.8.0_71\bin 경로 추가)


9. 변수값에 C:\Program Files\Java\jdk1.8.0_71\bin 경로 추가하고 세미콜론(;) 붙여주고 확인하면 끝!

10. 다시 실행. 이제 영구 설정이 된 듯하니 열심히 자바 공부 하기.




[참고]

  1. [WikiDocs] [점프 투 자바]  https://wikidocs.net/887

  2. [뇌를 자극하는 JAVA 프로그래밍] [김윤명][한빛미디어][2006.8.31출간]


지금 SoEn 연구소 사이트를 보면서 마구 연습 중이에요.ㅎㅎ [참고http://soen.kr/ ]

1. 삼항 조건 연산자

k=(i>j) ? i : j

해석 : k 값 = i가 j보다 크면 i를 그렇지 않으면 j를 대입

'?'는 '~면'으로 ':'을 그렇지 않으면으로 해석하면 되요. 삼항 조건 연산자~ 매력적이네요.ㅎㅎ


2. 콤마 연산자

for 문 조건식에 콤마를 적어 2개를 입력했는데 콤마도 연산자라고 하네요. 우선순위는 아래 SoEn 자료와 같이 가장 꼴지!! 하지만 꼴지조차 의미 있다는 사실!!ㅎㅎ왼쪽 우선이니까 i를 1씩 증가 시키는 것이 우선이겠네요.


3. 함수(ADD)

ADD라는 함수를 만들어 보는 예 랍니다. 함수란 이런거구나~ 하더이다. void 형의 의미를 이곳에서 알았지요.ㅎㅎ

4. 10진수 -> 16진수

엥 도통 뭔소리인지 모르겠죠..ㅎㅎ SoEN 고수님의 설명들 들어보죠..

[ 0~255사이의 10진수는 8비트 크기를 가지며 상하위 4비트가 16진수 한 자리가 되어 두 자리의 16진수로 표기할 수 있다. 상하위 니블을 hi, low 변수에 분리하기 위해 >> 연산자와 & 연산자를 사용했다. 상위에 있는 4비트값을 추출하려면 >> 연산자로 4회 쉬프트하면 되고 하위 4비트만을 남기려면 & 연산자로 상위 4비트를 마스크 오프시키면 된다.(Line 22)

이렇게 구한 각 자리값을 16진 문자로 바꾸려면 일단 '0'을 더하고 9보다 더 큰 값일 경우 7을 곱한다.(Line 8) 이 식에 대해서는 앞서 이미 설명한 바(ㅜㅜ모르겠네요)가 있는데 관계 연산문이 참일 때 1을 리턴한다는 점을 이용하여 한 문장으로 대응되는 문자를 구할 수 있다.
Dec2HexChar 함수는 정수값을 인수로 전달받아 이 값에 대응되는 16진 문자 하나를 찾아 주는데 d가 16이상일 경우, 즉 16진 문자 하나의 범위를 넘어설 경우는 에러를 의미하는 '?'를 리턴하도록 했다.(Line 5,6) main에서는 변경하고자 하는 정수값을 이 함수로 전달하기만 하면 대응되는 문자를 즉시 얻을 수 있고 char 타입을 리턴하므로 함수 호출문을 %c 서식과 곧바로 대응시킬 수도 있다.(Line 21,22) ]

한 30% 정도 이해 한 듯 싶네요. 시프트와 & 연산자의 의미도 헷갈리고요. 첫술에 배부르랴? 일단 패스!

고수가 되는 그날 까지 반복숙달!! 화이팅!

안녕하세요. 고수를 꿈꾸는 초보 IOT 전문가에요~ 저의 목표는 모든 전자제품에 생명을 불어넣을 수 있는 눈을 키우는 것이랍니다. 하하하(꿈도 크지~) 세상 얼마나 살겠다고 변화의 흐름에 한 몫을 담당하고 싶어요!

해서 우분투 터미널을 열고 연습했지요. 연관성은 없어요 그냥 무작위로 해보고 있어요. SoEn 소프트웨어 연구소(http://soen.kr/) 자료를 바탕으로 gcc로 컴파일 해보는 거지요.

[1]매크로 실습

1.  Have a nice day 를 입력하는 매크로를 만들어보는 실습이에요. Visual studio랑은 다르게 우분투 터미널에서는 vim 치고 만들고자 하는 파일명 치면 바로 편집할 수 있어요.(두둥 편하드라구요) 컴파일도 위처럼 치구요.. (순서를 gcc -o message.c test2 로 했다가 뭐시뭐시기 길게 나오더니 message.c 파일이 사라지더라구요. 여러가지 실험을 해보실 분은 백업을 꼭 해두시길.. 아 근데 터미널에서는 백업을 어떻게 하죠?ㅎㅎ)

2. 이번에는 매크로에 세번 써봤지요..굳이 DUP 이라고 이름 안지어도 되더라구요.

3.DUP이라는 매크로 이름을 ng로 바꾸고 MESSAGE도 길어서 그냥 M 이라고 해도 잘되요~ 매크로 어렵지 않아요~ gg

[2] 산술연산자

1. 이번엔 뜬금없이 산술 연산자를 연습해 보았지요. 원의 반지름을 입력하고 원의 둘레와 넓이를 구하는 프로그램이에요.

안보고 쏵~다 제가 짜면 얼마나 좋을까요?ㅠㅠ 그냥 따라해보았지요. 손에 익으라고!!

2. pi는 정해진거라 float(실수형) 선언에 const를 붙여줘야 하나봐요.. int(정수형) 앞에도 const를 붙이는 경우도 있더라구요. 책에서는 f3.14...어쩌고 길게 나왔는데... 전 그냥 3.14만 넣었어요. 문자명도 겁나 길게 했죠? 짧게 하세요 짧게..ㅋㅋ(제 터미널에서 한글이 안되요. 왜그러는걸까요? 그냥 영어 공부하는 겸 콩글리쉬 몇자 적고 있어요~) 요렇게 저장하고 실행하면 끝! 고수가 되는 그날(오긴 올까요?ㅎㅎ)까지.. don't give up! boy~!







정말 세상에는 정보가 많네요. 지금 저에게 주어진 미션은 임베디드 시스템을 공부해라! 거든요. 리눅스, C언어, 자바, etc 공부할 것이 상당히 많더라구요.

결론은 C를 공부하기 위해서 환경을 준비하는 거지요.

 

[친절한 임베디드 시스템 개발자 되기 강좌]

http://recipes.egloos.com/

[Soen 소프트웨어 공학 연구소]

http://soen.kr/

 

전 완전 초보자에요. 2개의 사이트를 M*S 아카데미 강의를 듣고 알게 됐지요. 물어보고 싶은건 많은데 물어보려면 뭘 좀 알아보고 물어봐야 할 듯 싶더라구요...

(누구를 탓하리오~ 나의 무능함을 탓하리~)

 

visual studio 2008을 깔아서 Soen 사이트의 내용들을 직접 실습하는 중이고요. 우분투(리눅스) 환경에서도 gcc , vi 편집기로 C 코딩을 할 수 있다 하길래 병행해 보려구요. 모르는게 많아서 글 쓰면서도 막 혼잣말로 물어보고 그래도 이해 해 주시길...

 

[1] vim 이용한 c 코딩

우분투 설치 하시면 터미널 여세요. ctrl+alt+T 가 단축키라는데.. 제가 설정을 잘못 눌렀는지 갑자기 안되더라구요.(한글 입력도 안되고.. 누가 방법 좀 알려줘요!)

 

일단 vim 설치를 아래 링크를 통해서 하세요~(이 둘의 차이가 뭔가요? 그냥 편집기가 다른건가요?)

[우분투에 Vim 설치 및 세팅, vi 명령어]

http://sparklingstar.tistory.com/entry/5-%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90-Vim-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%B8%ED%8C%85

[C 코딩을 위한 Vim 설정 및 terminal 설정]

http://blog.naver.com/zoomen1004/110169513617

 

터미널 시작하면 $#의 차이는 잘 몰겠지만 $에서 실행하면 vim 이나 gcc가 읽기 모드로 떠서 저장이 잘 안되는 것 같더라구요. 정확하지 않아요..^^;

1. $ 창에서 sudo su 라고 치면 # 창으로 들어가져요.

 

2. # cd /etc/vim

/etc/vim# vim vimrc (설정창 진입)


3. 옆에 라인 넘버가 없어서 불편하더라구요. 구글서치로 찾아봤지요. (아래 링크 참조)

esc 누르고 : 치고 set number 입력 (없애려면 :set nonumber 입력)

[리눅스-vi 편집기 줄번호 설정]

http://ngee.tistory.com/216


4. 1번 위에 있는 참고 링크 들어가셔서 i를 누르고(편집하시려면 vi 이건 gcc 이건 i를 눌러야 입력이 가능해요. 취소하려면 esc 누르시고요) 설정들을 따라 입력하세요. 귀찮으신 분들은 txt 파일 다운 받아서 컨트롤씨 하면 되겠어요. 하나하나 기능이 뭔지 보셔야 나중에 다시 바꿀 수 있겠네요.ㅎㅎ esc 누르고 :wq(저장 후 종료)를 누르면 다시 설정 전 #화면으로 돌아가요. (이렇게 설정할 수 있는 고수님들의 눈이 부러울 따름이네요~)

 

5. cd 눌러서 home 위치로 가고 #cp /etc/vim/vimrc .vimrc (띄어쓰기 주의) 쳐서 환경설정을 root home 디렉토리에 복사하면 설정 끝!

 

6. 자 그럼 만날 사람들이 애용하는 helloworld 말고 문자를 한 글자 받아서 그 문자의 ASCII 코드값을 표현하는 프로그램을 작성 해 보죠. Vim으로 말이죠.(코드는 역시 퍼 온거임요.ㅎㅎ) 전 그냥 파일명은 helloworld.c로 했어요~ㅎㅎ 비주얼 스튜디오랑 다르게 터미널은 vim 파일명.c 라고 치면 그냥 열려요. 이곳에 아래처럼 입력해요.(한글전환키가 자꾸 충돌되서 그런지 입력이 안되서 콩글리시 영어를 입력했네요.ㅎㅎ 스펠링 틀려도 이해해주세요. 프로그래머는 영어를 잘해야 한다고 하더라구요.ㅠㅠ 이제부터라도 하려구요..화이팅!) 앞에 int main을 입력하면 //return 0; 을 살려주셔야 하고 void main 을 입력하면 리턴을 안해줘야 하더라고요. 무슨 차이인줄 잘 모르겠어요. (-> 리턴할 값이 없는 함수를 void형 함수라고 한다네요. 정수형 값을 리턴하면 정수형 함수, 실수형 값을 리턴하면 실수형 함수. void형 함수는 내부적으로 작업만 할 뿐 결과를 리터한하지 않으므로 호출원에서 함수를 호출만 하며 리턴값을 대입 받거나 사용지 말아야 한다고 하네요. [Soen 연구소 자료 참고])  일단 그냥 패스.

 

7. c언어 입력 다하면 저장 후 종료(:wq) 하기 (저장이 안 되는 경험을 하신 분은 아래 링크 참조하세요)

 

[readonly 오류 해결]

http://sukeyprog.blogspot.kr/2015/06/linux-2vi-ex-e45-readonly-option-is-set.html

 

 

8. 헉 대박사건. vim으로 편집하고 gcc로 컴파일 하는 거네요. 블로깅 하면서 깨닫다니요. (역시 난 초보! vimgcc를 같은 편집 개념으로 생각한 난 완전초보!)

#gcc -o helloworld helloworld.c (컴파일 명령)

순서는 바꿔도 된다고 봤던거 같은데 찾아보세요~helloworld.c는 내가 vim으로 편집한 거고 helloworld 로 컴파일 해달라는 얘기 인듯요. 제대로 컴파일되면 그냥 바로 아무 반응 없이 #이 떠요. 이상있으면 에러 메시지 뜨고요.

 

9. #./helloworld (실행)

이렇게 실행하면 끝! A 문자를 입력하고 65라는 아스키값을 받았네요.

 

10. #exit (종료) 를 하면 본래의 $ 프롬프트로 돌아 온답니다. !

 

[2] GNU nano를 이용한 c 컴파일

 

1. 아래 링크를 참고해서 gcc를 설치해요.

[라즈베리파이 및 우분투에서 gcc를 이용하여 c 컴파일하기]

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0qWfU&articleno=106&_bloghome_menu=recenttext

 

2. $sudo nano helloworld.c 를 실행하면 GNU nao 편집기로 들어가져요. 패스워드는 로그인시 설정한 패스워드 입력하면 되요~ vim 편집기랑 비슷하면서도 뭔가 다른 느낌이랄까.. 전 이래서 헷갈렸거든요. vim으로 편집한거 GNU로 가져와도 코드 내용은 같더라구요. 아 알았네요. 1번 다음 링크 님은 GNU에서 만든 nano라는 편집기로 편집을 했던 거로군요. 초보자용 편집기라 하네요. 결국 vim(vi편집기) = GNU nano 편집기는 같은 역할을 하는 편집기인 샘이네요.ㅎㅎ 블로그 올리는 것이 개인 공부도 되는 군요.ㅎㅎ 아래 링크 참조하세요


[리눅스 포털]

https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=10927

 

 

3. 코드 작성 -> 저장 후 종료

 

4. $gcc -o helloworld helloworld.c

$./helloworld ([1] 8,9와 동일)

 

고수가 되는 그날까지.. 화이팅! !

 

+ Recent posts