public class formoon {


public static void main(String[] args) {

// TODO Auto-generated method stub

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

System.out.println(" i = " + i);

}

}


}


이 코드가 오늘 제가 말씀드릴 내용이 함축적으로 들어간 코드입니다.
 

for 문이란 무엇일까?

여러분, 스크래치 아십니까? 스크래치에서 많이 쓰이는 단골 블럭이 있지요. 바로 "~번 반복하기" 입니다. 네, for 문은 반복하는 것 입니다. 코드를 살펴보면
 

for (int i =1; i<10; i++)  이란 부분이 나오는 데요, 이 부분이 가장 중요한 부분입니다.


먼저, 정수형 변수 i를 선언해주고, 값을 1으로 설정해줍니다. 그리고, i에다가 제한을 둡니다. 10 미만일 때면 계속 하라는 뜻입니다.(10 미만이면 부등식이 참이기 때문에 반복문 안의 것들{ } 을 실행시키고, 10 초과면 부등식이 거짓이니 실행 안함) 그리고 마지막으로는 i++이라는 기호가 있는데요, 이것은 i의 값을 계산 뒤 1 더하라는 뜻 입니다.


그래서, System.out.println("" i =  + i); 의 결과로 1,2,3,4,5,6,7,8,9 가 나오겠군요.


이상, 간단한 반복문이었습니다. 

'JAVA' 카테고리의 다른 글

[자바] 100!값을 기존 변수형으로 계산하기  (0) 2018.10.21
자바 외전, 삼항연산자  (0) 2018.04.11
엘리베이터 프로그램  (0) 2018.03.30
자브아 두번째, 변수  (0) 2018.03.25
자바 첫 시간-Hello World!  (0) 2018.02.28

자바로 엘리베이터 프로그램 만들기

 학교를 가려고 하다가 엘리베이터를 타고 가는 것을 프로그램으로 만들고 싶어서 한번 만들어 보았습니다. 설명은 주석에 있으니 그것을 참고하시길!

import java.util.Scanner;
import java.util.Random;

interface num{//메소드와 변수 선언
String questions = "어디로 가실건가요?";//질문
String movingsounds = "weeeing";//움직이는 소리
String arrivedsounds = "dding! you have arrived";//도착 소리
void talking();//메소드 선언. 맨 처음 물어보는 메소드
void reputation();//층을 내려가거나 올라가는 것을 반복하는 메소드
}

public class elevator implements num{
int elevator = 0;//엘리베이터의 현재 층
int input = 0;//내가 입력한 층
int count = 0;//카운트
public static void main(String[] args) {
// TODO Auto-generated method stub
elevator e = new elevator();
e.talking();//인스턴스 생성으로 메소드 호출
}
public void talking(){
int count1 = 0;//substring 할때 사용
int count2 = 0;//이하 동일
String register ="";//substring 에서의 결과를 변환할때 사용
Random r = new Random();
Scanner s = new Scanner(System.in);//스캐너 선언
elevator = r.nextInt(60);//엘리베이터의 현재 층을 설정
System.out.println(questions+ "현재 층은 " + elevator);
String str = s.nextLine();//입력된 내용을 string 으로 변환
try {//에러 유도를 위한 try 구문
while (count < str.length()) {//층 뒤에 문자를 붙일 수 있기 때문에 length 만큼 지정
count++;//카운트를 더함. 반복문 사용 위함.
count1++;//substring 위해 배열의 길이를 구하기 위해 더함.
count2 = count1-1;//count1보다 1 작아야 한 문자만 substring 으로 빼올 수 있기 때문에 지정
if (count1 < 0) {//만약 맨 처음 0-1 을 하면 -1로 에러가 생기니 그것을 방지하기 위해 
count = 0;//count을 0으로 설정.
}
String st = str.substring(count2, count1);//대망의 substring
int test = Integer.parseInt(st);//테스트용. 자세한 내용은 아래 catch 구문에서.
register = register + st;//이것을 이용하면 반복문을 사용하는 동안 123층 이면 1-12-123순으로 쌓임.
input = Integer.parseInt(register);//이 층을 상수형으로 변환.
System.out.println(input);//테스트를 위해 출력
}
}catch(NumberFormatException e) {
//만약 사용자가 421층 ㅁㄴ으ㅏㅁㄴ 이런식으로 쓰면 에러가 나서 자동적으로 뒤의 문자가 배제되게 하는 방식.
}
reputation();//이제 층을 바꿈.
}
public void reputation(){
while (elevator < input){//만일 엘리베이터의 현재 층이 내가 입력한 층보다 낮으면
elevator++;//올라간다.
System.out.println(movingsounds);//소리
System.out.println("현재 층은: " + elevator);//현재 층 알림
}
while (elevator > input) {//만일 엘리베이터의 층이 내가 입력한 층보다 높으면
elevator--;//내려간다.
System.out.println(movingsounds);//소리
System.out.println("현재 층은: " + elevator);//현재 층 알림
}
if (elevator == input) {
System.out.println(arrivedsounds);
System.out.println("현재 층은 " + input);
}
}
}

그럼 오늘의 포스팅은 여기까지!

'JAVA' 카테고리의 다른 글

[자바] 100!값을 기존 변수형으로 계산하기  (0) 2018.10.21
자바 외전, 삼항연산자  (0) 2018.04.11
자바 세번째-반복문  (0) 2018.04.08
자브아 두번째, 변수  (0) 2018.03.25
자바 첫 시간-Hello World!  (0) 2018.02.28

변수란 무엇일까요? 변수. 간단하게 생각하시면 그냥 "변하는 수" 입니다. 예. 그냥 변한다고요.


자바 두번째 시간, 변수(variable)

다시, 제롯 킘 입니다. 오랜만이군요. 오늘은 변수에 대해 설명해볼 예정입니다. 먼저, 변수란 무엇일까요?
 변수란, 프로그램 안에서 변할 수 있는 데이터 라고 하네요.(위키디피아)
여기서 잠깐, "수" 라고 해서 number일 것 이라고 생각하시면 약간 이해하기 어려우 실 수도 있습니다. 변수는 그냥 변하는 데이터 일 뿐입니다.
먼저, 많이 쓰이는 변수의 타입을 알아보면
short
int
long
String
boolean

float

double

등이 있겠습니다. 

int, short, long 등등 이러한 타입의 변수를 "정수형 변수" 라고 합니다. 왜냐하면 이 변수 안에 들어가는 데이터는 모두 1,20,491 같은 정수 이기 때문입니다.

String 은 문자열이 들어갈 수 있는 변수입니다. 말 그대로 "가나다", "안녕하세요" 같은 변수가 들어갈 수 있겠습니다.

boolean 은 논리적 연산을 하는 변수 입니다. 참, 거짓 두가지의 데이터를 넣을 수 있습니다.

double, float 은 실수형 변수 입니다.

백문이 불여일견 이라고, 직접 이클립스 에서 변수에 대해 알아봅시다.

public class demo {


public static void main(String[] args) {

// TODO Auto-generated method stub

int i;

i = 1;

System.out.println(i);

i = 3;

System.out.println(i);

}


}

이 프로그램을 실행해 보면,

이러한 결과가 나오게 됩니다. 중간에 1으로 바꾸고 3으로 바꾸었더니 이렇게 된 것을 보니 이제 이해가 가시죠?

다른 변수 타입들도 똑같이 변할 수 있습니다.

그럼 이러한 변수는 어디에 쓰일까요?

변수의 쓰임

배틀그라운드 아시죠? 유명한 게임인데요, 여기서 변수는 어디에 쓰일 수 있을까요? 변하는 수 이니, 총탄 수, 현재 체력, 이동수단의 속도 등이 변수로 쓰일 수 있습니다. 체력을 예로 들면요, 상대에게 공격을 받았을때 줄어들지 않습니까? 그런 것처럼,
int hp = 100;
.
.
.
hp = 10;
이런식으로, 총에 맞았을 때 체력을 줄이는 것처럼, 변수는 무언가가 변해야 하는 상황에 쓰일 수 있습니다.

이것은 변수의 대표적인 쓰임이고요, 이 외에도 변수는 다양한 기능을 가지고 수행할 수 있답니다.
이상입니다.



'JAVA' 카테고리의 다른 글

[자바] 100!값을 기존 변수형으로 계산하기  (0) 2018.10.21
자바 외전, 삼항연산자  (0) 2018.04.11
자바 세번째-반복문  (0) 2018.04.08
엘리베이터 프로그램  (0) 2018.03.30
자바 첫 시간-Hello World!  (0) 2018.02.28

바텀 네비게이션 뷰 사용하기


오랜만이군요. 안녕하세요, 제롯 킘 입니다. 오늘은 바텀 네비게이션 뷰를 활용하는 방법을 알아볼 건데요, 그럴려면 먼저 전 시간 수업 에서 알아보았던 '새 프로젝트 만들기' 를 참고하여 프로젝트를 만드시는데요, 액티비티를 고를 때는 "Bottom Navigation Activity" 를 선택해 주시고, 만드시면 되겠습니다.

 

프로젝트를 만드셨다면 이러한 화면이 나올 것 입니다.


이 화면에서 여러분은 쓰여진 대로 클릭하시면 앱의 화면이 보여지는 것을 알 수 있습니다.

그러면, 이제 다시 돌아가서 MainActivity.java에서 보면,

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
mTextMessage.setText(R.string.title_home);
return true;
case R.id.navigation_dashboard:
mTextMessage.setText(R.string.title_dashboard);
return true;
case R.id.navigation_notifications:
mTextMessage.setText(R.string.title_notifications);
return true;
}
return false;
}
};

이러한 코드를 보실 수 있으실 텐데요, 이 코드와 

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

이 코드가 이번 시간에서 가장 중요한 요소가 될 수 있을 것 같습니다.


먼저 첫번째 코드를 봅시다. 첫번째 코드는 바텀 네비게이션 뷰에서 선택을 한 아이템 때문에 실행될 이벤트를 적어놓은 코드입니다.


case R.id.navigation_home;
mTextMessage.setText(R.string.title_home);
return true;

 이 코드에서는 아이디가 navigation.home 인 아이템을 선택했을때의 이벤트를 무엇으로 할 지를 정하고 있습니다. 여기에서는 TextView의 텍스트를 지정하고 있습니다. 그럼 한번 프로그램의 실행결과를 볼까요?

프로그램의 실행 결과는 이렇습니다(밑에 바텀 네비게이션 뷰의 이름이 좀 이상한 것은 양해 부탁드립니다...).


그래서, 바텀 네비게이션 뷰로는 화면을 전환하거나, 토스트 메시지를 띄우거나, 여러가지 것들을 할 수 있겠습니다. 하지만 여기서 어떤 분들은 "저 아이콘 어떻게 바꾸나요? 이름은 어떻게 바꾸나요?" 라고 궁금해 하실 수 있습니다. 예, 바꿀 수 있습니다.


여기에 보시면, xml 형식의 navigation 이라는 파일이 있는데요, 이 파일 안으로 들어가 보면 

<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"

android:title="댓시 보얼드" />

<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_dashboard" />

<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />


이러한 코드가 나옵니다. 여기서 

android:title

을 수정하시면 됩니다. 그럼 이름이 바뀌고요, 아이콘은 이 사이트 에 들어가시면 구하실 수 있습니다. 그 다음 drawable 에 되도록 영문(대문자 안됨) 으로 이름을 지정하시고 xml에서 id를 정해 주세요. 그러면 이렇게 아이콘이나 이름을 바꾸실 수 있습니다.



이렇게 해서 바텀 네비게이션 뷰 활용하기가 끝났습니다. 아이템을 선택하였을때의 이벤트는 여러분이 원하시는 대로, 지정하시면 되겠습니다.

예제를 원하시면 방명록에 남겨주세요. 제가 보내겠습니다.

이상입니다. 감사합니다.

새로운 프로젝트 만들기


 안녕하세요, 오늘 안드로이드의 본격적인 수업을 시작하는 제롯 킘 입니다. 수업을 시작하기 전에, 안드로이드 스튜디오를 다운받으셔야 하는데요, 이 링크 로 들어가셔서 안드로이드 스튜디오를 다운 받으시면 되겠습니다. 설치에 대한 설명은 여기에서 알아보시면 될 것 같습니다. 그럼 시작하죠!


안드로이드 스튜디오를 다운받으신 다음(설치까지 완벽하게), 실행을 해 보시면 위 같은 화면이 나올겁니다.(저는 여러가지 프로젝트를 만들어서 왼쪽에 저렇게 뭐가 있는겁니다)

그리고 Start a new Android Studio project 를 누르시면 됩니다.

그런 다음, 앱의 이름을 정하시면 됩니다. 


그 다음 순서로는, 안드로이드 버전을 정하는 순서가 있는데요, 사진은 이렇습니다.


버전을 왜 정하냐고요? 왜냐하면 안드로이드 버전마다 기능이 다르기 때문입니다. 안드로이드 극초반기였던 버전 때는 아직 여러가지 기능이 없던 상태라서 버전이 업그레이드 될 수록 좀 더 다양한 기능을 갖게 하여서 지금 우리가 쓰는 버전으로는 다양한 활동을 할 수 있게 되었습니다. 하지만, 아직도 많은 유저들은 핸드폰을 업그레이드 안 하고 계속 쓰는 경우가 있습니다. 그래서 버전을 지정 한 다음에 그 버전 이상의 버전이 핸드폰에 설치되어 있는 경우만 앱을 다운받고 실행 할 수 있게 한 것이지요. 

 쉽게 정리하면

높은버전 - 적은 유저, 다양한 기능.

낮은버전 - 많은 유저, 적은 기능.

 이 되는 것 입니다. 그리하여 여러분은 상황에 맞게 이 버전을 선택해야할 필요가 있습니다. 

버전을 설정하게 되면 


이러한 화면이 나타나게 됩니다. 액티비티는 안드로이드 스튜디오에서 유저가 볼수 있는 화면(UI) 입니다. 이 화면에서는 제가 버튼을 넣을 수도 있고, 다른 것들을 넣을 수도 있지요. 어쨌든, 이 화면에서는 여러가지 액티비티를 고를 수 있는데요, 필요한 상황에 따라서 액티비티를 고르는 것이 현명하다고 봅니다.

 그리하여 액티비티 까지 고르고 나면 


액티비티의 이름까지 설정하는 화면이 나옵니다. 여기서 액티비티의 이름을 설정하고, finish 버튼을 누르시면 되겠습니다. 


 이렇게 안드로이드 스튜디오에서 새로운 프로젝트 만드는 방법을 알려드렸습니다. 그럼 다음시간에는 그 다음 과정인 바텀 네비게이션 뷰 활용하기 에 대해 알려드리겠습니다. 이상입니다.

안드로이드 스튜디오의 포스팅 순서 입니다.

포스팅을 할 때에는 이 앱을 참고하여 할 것이니, 이 앱을 사용하시면서 이 수업을 들으시면 좋을 것 같습니다. 안 그래도 잘 이해가 된다면 필요 없고요.
 순서는 이렇습니다.

1.새로운 프로젝트 만들기

2.바텀 네비게이션 뷰 활용하기

3.위젯 생성하기 및 다루어보기

4.Intent 활용하기

5.SharedPreferences 활용법 알아보기

6.Dialog 만들어보기

7.Handler 활용법 알아보기

8.Admob 사용법 알아보기

9.마치기

이러한 순서에 따라 수업을 진행할 것으로, 이해가 안 가시는 부분이 있다면 제게 말해주세요.
 아 그리고 이 수업은 JAVA의 지식을 어느정도 가지고 있어야 해서 옆방에 있는 JAVA 수업을 들으신 다음에 공부하시면 훠얼씬 더 잘 될 것 입니다.

그럼 첫 시간때 봅시다!


안드로이드 앱을 만들기 위해 쓰는 IDE, 안드로이드 스튜디오를 아시나요?

이번 시간에 설명할 것은 안드로이드 스튜디오에 대한 간단한 정보와 안드로이드 스튜디오로 할 수 있는 것들을 간략하게 설명해 드리도록 하겠습니다.

그런데 먼저, 안드로이드는 아시겠죠? 아이폰 사용자가 아니라면 안드로이드에 대해 아실 겁니다. 그렇습니다. 안드로이드는 구글의 모바일 OS 입니다. 이 안드로이드 스튜디오는 이 안드로이드 OS에서 사용 가능한 프로그램을 만드는 프로그램입니다.(IDE) 
프로그래밍 언어로는 코틀린과(kotlin) 자바(JAVA) 가 있습니다. 이 언어들과 액티비티를 구성하는 언어인 XML 을 씁니다.

 2010년대, 스마트폰 분야가 발전되면서 덩달아 인기가 많아진 안드로이드는, 2014년 단독적인 IDE를 만들며 안드로이드의 공식 IDE가 되었습니다.
그래서 개발자들도 많아져서 인터넷에 검색 조금만 해도 결과가 많이 나올 정도입니다.
그럼 이 안드로이드 스튜디오로 무엇을 만들 수 있을까요?
 아래의 URL 에 들어가셔서 앱을 다운받고 해보시면 알 것 입니다.(광고냐고요? 예 그렇습니다. 어떻게 보면 광고겠지요. 하지만, 달리 이 안드로이드 스튜디오로 설명하기 쉬운 앱이 없어 제가 직접 개발한 앱을 다운받으시라고 하시는 겁니다. 앞으로는 이 앱을 바탕으로 포스팅을 해볼 예정입니다.) 


익숙한 디자인에 편리한 기능을 가지고 있는 안드로이드 스튜디오. 안드로이드 강의를 시작합니다!


프로그래밍을 시작하셨다면 한번쯤 들어보실 만한 용어 'Hello World'! 오늘은 이 Hello World 의 유래가 무엇이며, Hello World 를 출력하는 프로그램을 만드는 시간을 가지도록 하겠습니다.


먼저 Hello World 의 유래인데요, 이 Hello World는 대부분의 프로그래밍 언어의 조상격인 C 의 창시자 데니스 리치가 쓴 'The C Programming Language' 라는 책에서 첫번째 예제가 Hello World 출력하기 였습니다. 이게 유명해 지자 대부분의 프로그래밍 언어 입문서에서는 그 언어의 첫번째 예제로 Hello World! 를 출력하기를 선택하게 됩니다.


그러면 자바에서 이 Hello World 를 어떻게 출력을 할까요? 일단 먼저 코드를 보시죠.



1
2
3
4
5
class sayHi{
    public static void main (String[] args){
        System.out.println("Hello World!");
    }
}
cs


시작부터 너무 복잡하고 어려운것 아니냐고요? 그렇다면 3번 줄에 주목해 주세요.


3번줄 에서는 System.out.println("Hello World!"); 라고 써져있는데요, 여기서 주목하고자 하는 것은 "printlln" 입니다.


먼저 println을 살펴볼까요? '프린트 엘 엔...... 프린트라면 프린터기에서 종이 뽑는것, 출력하는 것 아닌가?' 라고 생각하실 수 있습니다. 그리고 그 생각은 90% 정도 맞다고 보시면 됩니다. println을 쉽게 설명하자면 "괄호 안에 있는 것을 출력하고 다음 줄로 넘겨라" 입니다. 여기서 '출력' 이라는 것은 컴퓨터에서 프로그램의 결과를 지정된 장소에 표시하는 것 입니다. 


그래서 이 코드를 가장 쉽게 설명하는 것은 '괄호 안에 있는 것을 화면에 출력하라' 입니다.


하지만 누군가가 "그럼 System 은요? out 이랑 class 같은것은 무엇인가요?" 라고 의문점을 품을 수 있습니다. 하지만 지금 이것을 배울 필요는 없다고 생각합니다. 왜냐하면 저는 프로그래밍 초심자를 상대로 알려드리는 것이고, 초심자 분들 께서는 이것을 이해하기도 힘들어 하실 수도 있기 때문에(물론 아닐수도 있습니다) 이 부분을 조금이라도 아시는 분들께서는 조금만, 조금만 기다려 주시기 바랍니다.


자 그럼 저는 이만 가보도록 하지요!



'JAVA' 카테고리의 다른 글

[자바] 100!값을 기존 변수형으로 계산하기  (0) 2018.10.21
자바 외전, 삼항연산자  (0) 2018.04.11
자바 세번째-반복문  (0) 2018.04.08
엘리베이터 프로그램  (0) 2018.03.30
자브아 두번째, 변수  (0) 2018.03.25

테스트입니다

+ Recent posts