반응형
SMALL

배열을 사용하기 위해서는 선언과 생성을 해줘야 합니다. 배열의 선언의미는 배열 변수를 선언하겠다는 뜻이고 배열의 생성 의미는 배열의 요소들을 저장할 공간을 만들겠다는 뜻입니다. 자바의 배열은 기본자료형이 아니라 참조형입니다. 참조자료형은 직접 값을 저장하는 것이 아니라, 메모리 어딘가에 배열의 주소를 가지는 형태입니다. 이런 차이는 나중에  매개변수 전달과정에서 많은 차이점을 나타납니다.


◎ 배열의 선언!

type name[];  란 ? type(참조형)에 name(변수)선언입니다.  (1차배열 선언)

type name[][];란 ? type(참조형)에 name(변수)선언입니다.  (2차 배열 선언) 

 

name = new type[3];? name(변수)에 type[3] 배열 3개를 생성입니다.

즉,name에는 name ={   ,    배열은 3개는 3개의 공간을 생성하였다는 뜻입니다.


name = new type[5][2];?란 type[5][2] 5행 2열을 생성입니다. 

즉, name ={      },

            {    ,   },

            {     },

            {   ,   },

            {   ,   }; 5개의 열과 2개의 행의 공간을 생성하였다는 뜻입니다.


배열의 선언과 생성과정을 알아봤습니다.

만약 배열의 초기값을 선언하지 않으면 어떻게 될까요? 묵시적 값을 얻습니다.


1차 배열의 선언과 생성 프로그램을 작성을 해보겠습니다.

 int number[]={88,97,86,85,90 }; 1차배열을 선언과 동시에 생성하였습니다.

int max에 number[];값을 넣겠다는 뜻입니다. 여기서 number[0]을 넣은 이유는 

for(int i: number) 여기에서 '0'부터 시작하여 0,1,2,3,4,5까지 순차적으로 넣겠다는 뜻입니다. 제일 큰 숫자는 찾는 겁니다. 확장된 for문이란 아래 예제를 비교하지면

for(int i=0; i<number.length; i++) 줄인표현입니다.

두가지 예문을 통하여 1차 배열의 선언과 생성 프로그램을 작성하였습니다.


반응형
LIST
반응형
SMALL

조건switch문은 다중 선택 기능을 제공하고 있습니다. switch문은 참,거짓의 논리값을 갖고 있는 if 조건문과 달리 switch 조건문은  (정수값을 가지는 정수식)으로 표현합니다. 정수식에 따라서 처리하는 문장들이 다르기때문에 다중 처리에 작성하기 유용한 프로그램입니다.그래서 if 조건문으로 할지?switch 조건문으로 할지 결정해야 합니다.




swtich 조건문으로  0,1,2를 보,가위,바위로 설정하고 변수 number 값에 10을 넣었을때 어떤 결과값이 나올까요? 


ex> 

int number = 10;

swtich(number %3)

      {

        case 0:

          System.out.println("보를 선택하였군요!");

          break;

        case 1:

          System.out.println("가위를 선택하였군요!");

          break;

        case 2:

          System.out.println("바위를 선택하였군요!");

          break;

        }


◈ while반목문

특정 조건이 만족될때까지 지정된 영역을 반복수행하는 기능을 제공하고 있습니다.

while 반복문은 while문 사용하기 전에 선언과 초기화를 반드시 되어 있어야 합니다.




while반복문은 for문가 비교하여 인식하여야 합니다. 아래 예제는while반복문으로 1부터 10까지 구하는 공식입니다.10보다 크면 조건식에 맞지 않기에 종료됩니다. 증감표시로는 i++; 표시하셔야 합니다.


ex> 

 

 int i=0;   (while문 사용하기 전에 선언과 초기화 설정!!)

 int sum=0;

 while(i<10){

           sum +=i;

            System.out.println(sum)

            i++;

            }


◈ for반복문!! 

for(초기문: 조건식;반복후 작업){ 작업문} 

* 초기문은 한번만 실행

* 초기문은 콤마(,)로 분리     ex) for(int i=0, sum=0 ; i<=10; i++); 

* 초기문은 빈 상태로 두어도 됨 ex) for(   ;   ;   )




이번에는 for문을 통해서 1부터 10까지의 더해서 합을 구하는 공식입니다. while반복문과 비교해보시기 바랍니다.


ex>

int sum=0;

for(i=1; i<=10;i++)
{
   sum = sum+i;

}

System.out.println("1부터 10까지의 합은"+sum+"입니다");

반응형
LIST
반응형
SMALL

  프로그램언어는 순서,선택,반복의 논리로 구성됩니다. 순서 논리란? 위에서 아래로 차례로 순서대로 실행된다는 논리입니다. 프로그램을 작성하다보면 단순히 순서 논리만으로 해결 할수 없는 문제들이 많이 있습니다. 실 생활에서는 조건에 따라서. if문을 사용할때, 이중 if문을 사용할때, 다중 if문등 사용에 맞게 프로그램을 작성하시면 될겁니다. 


◈ 단순 if문?

if(조건식){ 문장들;}: if안에 조건식이 참이면 문장들이 수행되고, 거짓이면 if문은

수행하지 않습니다. 공식은 아래와 같습니다.




ex ) if(num<10)

    { 

     System.out.println(" 10보다 작은 숫자입니다:");

    }

num값에 5을 입력하면 실행되고, num 값에 11을 입력하면 실행되지 않습니다.



◈ 이중if문이란?

if(조건식) 참이면 문장들을 수행하고 if(조건식) 거짓이면 else 문장을 수행합니다.




ex) if( num<10)

    { 

      System.out.println("10보다 작은 숫자"):

     }

     else

     { System.out.println("10보다 큰 숫자"):

     }


num값에 5을 입력하면, 10보다 작은 숫자가 실행되고, num값에 1을 입력하면, 10보다 큰 숫자가 실행됩니다.


◈ 다중 if문이란?

조건을 더욱 구체적인 결과를 얻고자 할때 다중if문을 사용합니다.



ex)

if(1<=num && num<=3)

  System.out.println("num는 1과 3번 사이에 있습니다);

else if( 4<=num && num<=6)

 System.out.println("num는 4과 6번 사이에 있습니다");

else if(7 =num && num <=10)

System.out.println("num은 7과 10번 사이에 있습니다.");

else

  System.out.println("어떤 번호에도 해당되지 않네요"):


즉, num값에 8을 입력하면 '7과 10번 사이에 있습니다' 실행되고 num값에 11을 입력하면 '어떤 번호에도 해당되지 않네요' 실행됩니다.



반응형
LIST
반응형
SMALL



   까치해가 밝았습니다. 겨울의 끝 판왕이라 불리는 소한(小寒)과 대한(大寒)이 남아있네요. 얼마나 추우면 "대한(大寒)이 소한(小寒)집에 놀러왔다가 얼어죽었다" ,"소한(小寒)추위는 꾸어다가도 한다" 이런속담이 전해지네요. 동장군(冬將軍)이 기세를  이기기 위해서는 java의 switch가 뭐하는지 아셔야 합니다.'이히~'

java의 switch문은 참 또는 거짓 값을 가지는 if문과는 다르며, 정수값을 가진데요.

⊙ switch(조건식)  ex; switch(number %3)

if문을 이어 switch입니다.

숫자 5을 입력하니, case 5: 해당되는 문구가 실행되었습니다. 

위의 예처럼 String Ms; 변수를 사용하여 case문 에 이용하셔도 되고 아래 예문보시면 System.out.println;이용하는 방식도 있습니다.

switch(정수식), 두가지 예를 풀어봤습니다. 두가지 예의 차이점이 무엇인지 알면

프로그램 작성할때 도움이 됩니다. 

반응형
LIST
반응형
SMALL

  새해부터 즐거운 마음으로 Java에 대해서 이야기 하고자 합니다. 멀게만 느껴지던Java개념이 한발짝씩 다가오기 시작하였습니다. '노력'이라는 두글자는 참 위대하다는 생각이 듭니다. 2018년에는 어설프게 나마 프로그램 하나 만들겠다는  멋진목표을 가지고 있습니다. '이히' 

  If 문이란 프로그램의 작성하는데 있어서 특정 작업을 수행하는 경우 결과과 참인

경우에만 if 문 안에 문장들을 수행하고 거짓일 경우에는 if 선택문 밖을 빠져나옵니다. 글로 표현하는게 더 어려운것 같아요. 그냥 예제보는게 훨씬 이해가 쉽습니다.

위의 예제처럼 5을 입력하면 어떤 결과도 나오지 않습니다. 

즉,   if(count<0)

        System.out.println(count+"가 0보다 작으면 음수래~");

음일 경우아 if문을 실행하고 음이 아니면 실행하지 않습니다.


프로그램에서 이런한 논리를 선택논리라고 합니다. 참과 거짓으로 실행을 만드는 프로그램입니다. if 문을 여러개 사용할수 있습니다. 아래 예제를 통해서 알아봅시다.

if문에 맞는 조건에 따라서 실행합니다. 다중if문 이라고 합니다.

if문에 논리 &&(and), ||(or), !(not)가 있습니다. 드모르간의 법칙을 적용하여

and조건을 or조건으로, or조건을 and조건으로 변환시킬수 있습니다. 

 ⊙ 입력된 수가   양수인 경우     : (jumsu>0)

 ⊙ 두과목 모두   80점 이상       : (eng >=80 && math >=80)

 ⊙ 두과목 중 하나만 80이상       : (eng>=80 || math>=80)

 ⊙ 두과목 성적 합이 150이상      : (eng + math == 150);

 ⊙ 입력된 두 수가 모두 짝수인경우:(eng %2 ==0 && math % 2 ==0);

 ⊙ 입력된 점수가 60보다 크고 100보다 작거나 같은경우: 

     (score >60 && score <=100);

     (60 <score<=100) ; --> 잘못된 조건식입니다.

⊙ 직급이 7또는 8급이고, 나이가 40대인 경우

   ((grad ==7 || grade==8) && (40<=age && <=49))

위의 if문 예제에서 if(3<= mon && <=5),if(6<=mon && <=8),if(9<= mon && <=11), if(i ==mon || mon ==2|| mon==12)  조건식을 잘 보셔야 합니다.

다양한 예제를 통해서 숙달하시면 프로그램작성하는데 도움되실 겁니다.

반응형
LIST
반응형
SMALL

   JAVA를 정리하기만 해도 머리가 아픕니다. 나도 알아듣지 못하는 말을 뭘 알려주 겠다고 그래도 열심히 JAVA를 정리하다 보면 뼈가 되고 살이 될거라고 믿습니다. 비트 연산자는 2진수로 표현된 정수를 비트단위로 취급하는 연산자입니다. 


 ◎ 5 & 7 : 비트 논리 연산자로 표현 하면 5에 해당되는 비트101과 7에 해

    당되는 비트 111을 비트 단위로 AND한다

 ◎ 5 | 7 : 비트논리 연산자로 표현 하면 5에 해당되는 비트101과 7에 행되는 

     비트 111을 비트 단위로 OR한다.

 ◎ 5 ^ 7 : 비트논린 연산자로 표현하면 5에 해당되는 비트 101과 7에 해당되는 

     비트 단위로 XOR한다.

 ◎ ~5   : 비트논리 연산자로 표현하면 5에 해당되는 비트 101의 보수를 취한다. 


<비트 논리연산자 진위표 입니다>

다음은 비트논리 연산자를 코딩을 통해서 배워보겠습니다. 우선 프로그램을 작성하기 전에 정수를 비트 단위로 출력하는 메소드을 이용해서 쉽게 출력까지 보실수 있습니다. 정수를 비트 단위로 출력하는 메소드는 Integer.toBinaryString()입니다.


    비트논리연산자는 예제를 통해서 알아봤습니다. 자 그러면 시프트 연산자는 비트 단위로 이동하는 연산자로서, 정수형 변수에만 사용이 가능하다고 합니다. 정수에 해당되는 비트값을 좌,우로 이동시켜면 곱하거나 나누셈의 결과를 얻을수 있습니다.

    시프트 연산자를 코딩해보겠습니다. 시프트 연산자는 정수만을 사용할수 있다고 하였습니다. 만약 홀수인 경우에는 오른쪽 시프트(나누는 결과값)의 결과 정수로 나타나기 때문에 정확하지 않을수 있습니다. 


    시프트 연산자를 보시면 왠지 프로그램을 하는 것 같은 느낌이 듭니다. 

단축 배정 연산자란? 자바는 다른 연산자와 배정 연산자를 같이 사용할수 있다고 합니다. 프로그램의 변수 자신의 값이 계산이 이루어진 다음 다시 자신의 값을 저장되는 경우가 많은데요 이것을 단축 배정 연산자라고 합니다.


[흔한 산수식] a = a + 5  ; →  [단축 배정 연산자 수식] a += 5;

[흔한 산수식] a = a - 8  ; →  [단축 배정 연산자 수식] a -= 8;

[흔한 산수식] a = a * 10 ; →   [단축 배정 연산자 수식] a *=10;

[흔한 산수식] a = a / 12 ;    [단축 배정 연산자 수식] a /=12;

반응형
LIST
반응형
SMALL

 Java에서 관계 연산자는 이항 연산자로써 두 개의 연산자값을 비교하여 true 또는 false 값을 얻습니다. 주로 선택문과 반복문의 조건식에 많이 쓰인다고 하네요.

자! 그러면 관계연산자란 무엇인지? 아래 표를 이쁘게 보기좋게 정리해 봤습니다.


 이 연산기호을 통해 java코딩을 직접 작성해보시면 이해가 훨씬 잘 될거라고 생각이 듭니다. Let's use the math symbol to generate the java coding

  java 초보자 분들이 제일 실수 잘하는 부분이 '오타'입니다. 오타나서 결과 안나오는 경우 있을실겁니다. 오타를 줄이는 건 코딩을 많이 작성하는 방법밖에 없어요.


이번에는 논리연산입니다. 논리연산자는 연산자의 값을 평가하여 결과을 true 또는 false 값을 반환합니다. 아래 표를 보시면서 설명을 쓰다보니 말장난 논리연산같네요. 

1번에서 (A || B)설명, A도 사실 또는 B도 사실이니 A||B는 사실이다.

1번에서 (A && B)설명, A도 사실이고 B도 사실이니 A && B는 사실이다.

2번에서 (A || B)설명, A는 사실 또는 B는 거짓, 둘중에 하나만 사실이어도 

                         A||B 사실이다.

2번에서(A && B)설명, A는 사실 이고 B는 거짓이니 둘중에 하나만 거짓이어도 

                         A && B는 거짓이다.

3번에서(A || B)설명, A는 거짓 또는 B는 사실 하나만 사실이면 A||B는 사실이다.

3번에서(A && B)설명, A는 거짓 이고 B는 사실이면 둘중에 하나만 거짓이어도 

                        A && B는 거짓이다.

4번에서(A || B)설명, A도 거짓 또는 B도 거짓, 둘다 거짓이니 A||B 거짓이다.

4번에서(A && B)설명, A도 거짓 그리고  B도 거짓, 둘다 거짓이니 A &&B도 거짓이다.

아우~! 정신없어.


논리연산관계는 java 코딩을 작성해 보겠습니다.

java coding is taught through a lot of practice

반응형
LIST
반응형
SMALL

 첫눈오면 문자메시지 많이 받았는데, 나이 값 반비례 문자메시지도 잠잠해 짐니다. 그래서 전화를 걸었지요. 눈와~! 근데 왜 전화안해? 라고 말을 던졌습니다. 

울 지인"....", 역시 나이 값 합니다. 생각도 낭만도 추억도 그냥 올스톱 입니다. 

 

 아름다운 java을 생각하며 이쁜 java에 대해서 문자메시지 대신 블로그에  남김니다. Java에서 기초익히기는 여러번 반복을 통해서 이해해야 합니다.Java에서 프로그램 연산자는 일반 수학 연산자와 흡사합니다.  단항 연산자중 ++연산과 --연산자는 피연산자로 변수만 사용할수 있다.(무슨말일까? 예제 통해서 이해하는 더 빠릅니다.) 

Practice basic training through exercise problems.

아래는 연산자 설명입니다. (산수공식이랑 비슷합니다.)

 이 공식을 통해서 예제를 풀어보겠습니다. 이해할때까지 여러분 반복해서 학습하는게 도움이 됩니다.(한번 보고 훅 지나쳐도 가벼운 내용이지만 기본이 튼튼해야 삶에 도움이 됩니다.)Do java exercises


   2번>형변환관련 연산문제입니다. 여러번 프로그램 작성 하다보면 익히기에 충분합니다. java program

2번>

  다음 풀이는 ++A, A--연산자끼리 연산풀이 과정입니다. java 프로그램다운 공식처럼 보입니다. 이 연산을 접하는 순 간 아, 이제는 프로그램에 입문한 생각이 들겁니다.

즐거운 12월 1일입니다. 즐거운 금요일입니다. 또한 즐거운 주말입니다. 

It's a pleasant weekend

반응형
LIST
반응형
SMALL

  JAVA프로그램을 시작할때 제일먼저 듣는 단어가 식별자입니다. 식별자란?

변수, 상수,배열,문자열 그리고 사용자가 정의하는 클래스나 메소드 등을 구분할때 사용하는 이름을 식별자라고 합니다.

What is an identifier?The name is identifier used to differentiate between variables,constants,arrays,strings, and methods that you define and how you define them.

※ 식별자의 사용원칙 ※

◎ 문자,숫자,특수문자로 구성될수 있다. 그러나 첫 문자는 문자나 특수문자로 시작될수 있지만 숫자는 첫문자로 절대 사용안합니다.

◎ true,false,null은 식별자로 사용할수 없습니다. 또한 예약어도 사용할수 없습니다.    (예약어는 아래에서 첨부파일로 붙여넣겠습니다.)

◎ 같은 문자라도 Sum, sum 은 서로 다른 식별자로 간주합니다.


JAVA프로그램 알기 위해서는 무엇보다도 변수을 이해 해야합니다.!!

변수를 사용하는 이유는 모든 프로그램은 실행이 되며 컴퓨터 주기억 장치에 저장되었다가 실행되어야 하기 때문입니다. 그래서 변수는 프로그램에 필요로 하는 데이터를 저장하기 위한 기억 장소에 이름을 붙인것을 변수라고 합니다.


※ 변수의 선언과 사용원칙 ※

◎ 첫글자는 반드시 영문자나 일부 특수문자로 시작되며, 숫자가 포함될수 있다,

◎ 공백은 포함될수 없다. Sun과 sun은 다른 변수명이 된다. 

◎ 예악어를 변수로 사용할수없다.


   예약어란? Reserved word? 



변수는 변수명만 보고도 그 변수의 의미를 알수 있도록 하는것.

〔 변수에 값을 배정할때 "="기호를 사용합니다. 이기호는 수학적 의미가 아니기에 주의하시기 바랍니다. 즉, 변수로 지정된 주소가값이라고 합니다.〕


Java data type


복습할겸 파워포인트로 다시정리해서 올립니다. 기본 자료형은 변수의 위치에 직접

값이 들어가고, 참조형 자료은 변수의 위치에 객체가 저장된 위치가 들어 가게 된답니다. 다시말해서, 기본형 자료는 한번 접근으로 값을 가져오고, 참조자료형은 두번의 접근으로 값을 가져온답니다. 


다음번에는 자료형의 기능과 쓰임세를 알아보겠습니다.




반응형
LIST
반응형
SMALL

  

 조용한 공간에서 키보드 치는 소리만 '탁,탁,탁' 울려 퍼진다. 키보드 치는 소리만 들으면 실력꾼들 같다. 


  프로그램 개발자들은 말수가 적다. 오로지 컴퓨터와 대화를 하며 문제를 해결한다. 모니터를 주시하면서 코딩을 해석하고 분석하면서 문제를 해결해 간다. 타인이 만든 코딩도 비교하고 나만의 스타일로 코딩을 재해석 해야한다.

Program developers are reticent. Talk to the computer and solve the problem.


    컴퓨터 앞에서 열심히 모니터를 주시하면서 키보드 치다가 인상을 찡그리며서 ' 으~윽', '앗~~' 하는 버릇이 생겼다.  해결이 잘 안되는 에러가 발생!될때 나는 소리다.  

그래서 코딩을 하고 있으면 여기, 저기서 탄성소리가 난다. '앗~' ,'윽~','으~윽 짜증나'  그 소리에  웃음이 절로 난다. 그 탄성소리가 무엇을 의미하는 지 잘 알고 있기때문이다. 



  코딩을 하다가 에러가 나면 에러를 잡기 위해서 몇시간을 소비하는 건 당연한거고 여기저기 클릭해가며 코딩을 써다 지웠다 반복한다. 분주해지기 시작된다. 사수가 없으면 몇날 몇칠을 그 에러하나 잡으라고 컴퓨터와 씨름을 해야한다.

 If a coding error occurs, it takes several hours to get an error, and then click anywhere to edit it and delete it. It begins to be busy. If you don't have Master, you should wrestle with your computer for several days.


 에러가 난곳을 클릭하며, 영어로 에러에 대한 표시를 해준다. 영어까지 해석하려니 머리가 아프다. 그냥 감으로 에러를 해석한다.  해결될때까지 머리를 긁으며, 감싸으며, ' 아~~앗', '으~~~윽' 탄성 소리를 내면서 문제에 접근해 간다. 하루 일과가 끝나면 머리모양이 헝클어져있다. 고뇌의 징표이다.




 어느날은 모니터를 뚜려지게 처다보다가 코딩에 대한 감이 오면 눈빛에서 레이저가 발사가 된다. 그만큼 집중력 잘 되고있으며 잘 풀리고 있다는 뜻이다. 그때는 정말 재미있다.  때로는 내가 만든 코딩을 이해 못할때가 있다. 언제 이렇게 만들었지. 여러번 보고 또 봐야 코딩을 이해가 된다. 이쪽분야에 5년을 있어야 개발자 소리를 듣는다고 한다. 


 프로젝트가 완성 되며, 뿌듯하고 기쁘다. 프로젝트를 계속 만들수록 진보해 간다. 어떤분야에서든 전진하고 있다고 느껴지면 자부심을 생기기 마련일것이다. 오늘 보다 내일이 전지한 내 모습을 볼때면 희망을 보일것이다.

   

이 세상에 주인공은 나야 나! 이노래 참 좋다.

The main character in this world is me! This song sounds great.

반응형
LIST

+ Recent posts