따로 명시하지 않은 모든 데이터는 태블로에 기본적으로 저장되어 있는 Sample - Superstore 데이터를 활용했다.

 

1. 막대 차트

 

 

2. 서버 데이터 - 구글 스프레드 시트 활용하여 연결

 

www.worldometers.info/coronavirus/

 

Coronavirus Update (Live): 106,400,532 Cases and 2,321,743 Deaths from COVID-19 Virus Pandemic - Worldometer

COVID-19 Coronavirus Pandemic Last updated: February 07, 2021, 10:11 GMT Coronavirus Cases: 106,400,532 Active Cases 25,876,367 Currently Infected Patients 25,917,355 (99.6%) in Mild Condition 104,335 (0.4%) Serious or Critical Show Graph Closed Cases 80,5

www.worldometers.info

 

 

3. 데이터 전처리, 피벗 사용

 

 

4. 데이터 관계

 

 

 

'Software > Tableau' 카테고리의 다른 글

[Tableau] 초급 데이터 시각화 활용  (0) 2021.02.07
[Tableau] 기초 시각화 연습  (0) 2021.02.07
[Tableau] 태블로 & 지도 시각화  (2) 2021.01.17

www.acmicpc.net/problem/2753

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

 

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

#include <stdio.h>

int main() {
    int year;
    scanf("%d", &year);
    
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) 
        printf("1");
    else
        printf("0");
}

'Software > C' 카테고리의 다른 글

[Baekjoon C] 1152 단어의 개수  (0) 2021.02.19
[Baekjoon C] 10828 스택  (0) 2021.02.19
[Baekjoon C] 1259 팰린드롬수  (0) 2021.02.18
[Baekjoon C] 10818 최소, 최대  (0) 2021.02.15
[Baekjoon C] 2884 알람시계  (0) 2021.01.31

www.acmicpc.net/problem/2884

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 "45분 일찍 알람 설정하기"이다.
이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
#include <stdio.h>

int main() {
    int hour, min;
    int phour = 0;
    int pmin = 0;
    scanf("%d %d", &hour, &min);

    if (min >= 45) {
        pmin = min - 45;
        phour = hour;
    }
    else {
        pmin = 60 - (45 - min);
        if (hour == 0)
            phour = 23;
        else
            phour = hour - 1;
    }

    printf("%d %d", phour, pmin);

}

'Software > C' 카테고리의 다른 글

[Baekjoon C] 1152 단어의 개수  (0) 2021.02.19
[Baekjoon C] 10828 스택  (0) 2021.02.19
[Baekjoon C] 1259 팰린드롬수  (0) 2021.02.18
[Baekjoon C] 10818 최소, 최대  (0) 2021.02.15
[Baekjoon C] 2753 윤년  (0) 2021.01.31

1. 태블로 시작하기

www.tableau.com/ko-kr/trial/tableau-software?utm_campaign_id=2017049&utm_campaign=Prospecting-CORE-ALL-ALL-ALL-ALL&utm_medium=Paid+Search&utm_source=Naver&utm_language=KR&utm_country=SoKOR&kw=TABLEAU&adgroup=brandsearchad&adused=

 

질문이 떠오르는 즉시 답해 보십시오

질문이 떠오르는 즉시 답해 보십시오 Tableau 무료 평가판 사용해 보기 풀-버전 평가판 신용 카드가 필요하지 않습니다.

www.tableau.com

태블로는 이곳에서 다운로드 받을 수 있다.

원래는 구매를 해야 하는데, 대학생과 교수한테는 학교 이메일을 사용하면 무료로 프로그램을 제공해준다.

 

태블로는 비즈니스 인텔리전스와 분석 소프트웨어로, 데이터 시각화 프로그램이다. 

아직 우리나라에서 많이 쓰이진 않지만 전세계적으로는 아주 많이 사용되는 프로그램이라고 한다.

 

2. 데이터 다운로드 하기

직접 데이터를 수집할 수도 있지만, 정부에서 제공하는 공공 데이터를 활용할 수 있다.

data.seoul.go.kr/

 

서울 열린데이터광장

모든 서울시민을 위한 공공데이터 열린데이터광장에서 서울시와 연계 기관이 공개한 공공데이터를 확인하실 수 있습니다. 서울시와 관련된 다양한 공공데이터를 확인해 보세요.

data.seoul.go.kr

www.data.go.kr/

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

각각 서울시 데이터 광장과 전국 공공데이터 포털이다. 

생각보다 많은 데이터들을 공유하고 있어서 스스로 프로젝트를 진행할 수도 있을 것 같다.

 

이번 실습은 공공데이터 포털에서 서울과 부산의 상가 정보 데이터를 활용했다.

 

3. 태블로 시작하기

태블로를 시작하면 이렇게 화면이 뜬다. 

왼쪽 배너에서 사용할 데이터 타입을 선택하고, 파일을 불러오면 된다.

이번 실습에서 사용할 데이터는 csv 파일로, 텍스트 파일을 선택하면 된다.

 

상가 데이터를 불러온 모습이다. 

 

가장 위에 파란 글씨로 써져있는 것은 데이터 타입 느낌의 분류체계이다. Abc는 문자열, #은 상수, 지구 모양은 지리에 관한 것이다. 그리고, 이 파일의 경우는 분류가 F1, F2 등으로 되어있는데, 이 부분을 더블클릭해서 원하는 인덱스명으로바꿀 수 있다. 뒤에서 시각화 할 때 구분하기 쉽도록 미리 바꿔놓는 것이 좋다.

 

이러한 식으로 분류할 수 있다.

 

본격적으로 시각화를 하기 위해 시트1 옆에 있는 작은 버튼 (새 워크시트) 을 눌러준다.

 

그러면 이러한 창이 뜬다.

 

1) 막대 그래프

 

"필터" 부분에 '시도명' 테이블을 가져와서 서울과 부산 중 서울만 선택했다.

표는 대분류를 열로, 측정값을 행으로 하여 대분류에 따른 데이터 수를 막대 그래프로 시각화했다.

간단하게 옆의 테이블에서 끌어와서 원하는 부분에 놓으면 된다.

 

필터에 '시군구' 테이블을 가져와서 용산구의 값만 나타냈다. 

그래프 왼쪽에 Y축 부분에 마우스를 가져가면 오름차순, 내림차순 정렬도 할 수 있다.

 

2) 지도

 

다음은 지도에 시각화하기 위해 데이터 파일에 포함되어 있었던 '경도'와 '위도'를 각각 열과 행에 넣어줬다.

그러면 이렇게 지도가 나온다. 맵 - 맵 계층에 들어가서 스타일도 변경할 수 있다.

 

서울에 있는 데이터들만 표현한 것이다.

"마크"에서 모양, 크기, 색상 등을 변경할 수 있다.

 

확대해보면 한강 위에 정보가 찍혀있는 오류도 발견할 수 있다.

 

"마크"에서 모양을 변경하여 밀도도 확인할 수 있다.

 

"필터"에 '시군구'와 '대분류'를 포함하여 용산구에 있는 학문/교육 시설만 나타낸 것이다.

이러한 식으로 원하는 정보를 지도 위에서 시각화하고, 비교할 수 있다.

'Software > Tableau' 카테고리의 다른 글

[Tableau] 초급 데이터 시각화 활용  (0) 2021.02.07
[Tableau] 기초 시각화 연습  (0) 2021.02.07
[Tableau] 기초 연습  (0) 2021.02.07

 

조건 1) 자바 클래스 파일명을 Calc.java로 하고 package명은 calc로 한다.

조건 2) 자바 클래스 파일명을 CalcTest.java로 하고 package명은 calc로 한다.

조건 3) Calc 클래스 파일에 정수형 멤버변수로 a, b를 선언한다.

조건 4) Calc 클래스에 기본생성자 함수를 정의하고 a, b 값은 0으로 설정한다.

조건 5) Calc 클래스에 정수형 인자 a, b를 인자(파라메터)로 생성자 함수를 정의하고 멤버 변수에 인자로 전달된 값을 대입한다.

조건 6) Calc 클래스에 멤버 함수 void add(), void sub(), void mul(), void div(), void mod() 함수를 정의한다.

조건 7) 6에서 정의한 함수를 아래와 같이 결과가 나오게 구현한다.

          a = 10, b = 2

          add() -> 10 + 2 = 12

          sub() -> 10 - 2 = 8

          mul() -> 10 * 2 = 20

          div() -> 10 / 2 = 5

          mod() -> 10 % 2 = 0  

조건 8) CalcTest 클래스 메인 함수에서 Calc 클래스 객체를 생성할 때 값으로 10, 2를 전달하여 객체를 생성하고 생성된 객체를 이용하여 6에서 정의된 함수를 호출하여 조건 7과 같이 나오는지 확인한다.

 

package calc;

public class Calc {
    private int a;
    private int b;
    
    public void add() {
        System.out.println(a + " + " + b + " = " + (a+b));
    }
    
    public void sub() {
        System.out.println(a + " - " + b + " = " + (a-b));
    }
	
    public void mul() {
        System.out.println(a + " * " + b + " = " + (a*b));
    }
	
    public void div() {
        System.out.println(a + " / " + b + " = " + (a/b));
    }
	
    public void mod() {
        System.out.println(a + " % " + b + " = " + (a%b));
    }
    
    public Calc() {            //기본생성자
        a = 0;
        b = 0;
    }
    
    public Calc (int cA, int cB) {
        a = cA;
        b = cB;
    }
}
pakage calc.test;
import calc.Calc;

public class CalcTest {
    
    public static void main(String[] args) {
        Calc calc1 = new Calc(10, 2);
        
        calc1.add();
        calc1.sub();
        calc1.mul();
        calc1.div();
        calc1.mod();
    }
}

 

결과 

 

패키지명에서 calc 오타때문에 아주 고생했다. . .

 

'Software > JAVA' 카테고리의 다른 글

[JAVA] 배열  (0) 2021.07.20
[JAVA] 스캐너로 입력받기  (0) 2021.07.15
[JAVA] 3의 배수의 합 구하기  (0) 2021.01.11
[JAVA] 클래스와 객체  (0) 2021.01.10
[JAVA] 조건문, 반복문  (0) 2021.01.10

조건 1) 자바 클래스 파일명을 Exam2.java 로 한다.
조건 2) main()을 만든다.
조건 3) for 루프를 이용하여 1에서부터 100까지 3의 배수의 전체 합을 구하는 프로그램을 작성한다.

package exam2;

public class Exam2 {
    public static void main(String[] args) {
        int total = 0;
        
        for (int i = 0; i <= 100; i++) {
            if (i % 3 == 0)
                total += i;
            else continue;
            
            System.out.println("sum = " + total + ", i = " + i);
        }
        
        System.out.println("total = " + total);
    }
}


결과

쏘 이지

'Software > JAVA' 카테고리의 다른 글

[JAVA] 스캐너로 입력받기  (0) 2021.07.15
[JAVA] 객체, 생성자, 계산기 예제  (0) 2021.01.11
[JAVA] 클래스와 객체  (0) 2021.01.10
[JAVA] 조건문, 반복문  (0) 2021.01.10
[JAVA] 변수, 상수, 형변환, 연산자  (0) 2021.01.10

1. 객체 지향 프로그래밍

객체 지향 프로그래밍이란 객체를 기반으로 하는 프로그래밍이다. 

객체는 사람, 자동차, 건물, 주문, 생산, 관리 등 눈에 보이거나 어떠한 행동을 나타내는 단어를 예로 들 수 있다.

 

반대의 개념은 절차 프로그래밍이 있는데,

이것은 순서대로 일어나는 일을 시간 순으로 프로그래밍하는 것으로, C언어가 대표적이다.

 

2. 클래스

클래스객체에 대한 속성과 기능을 코드로 구현한 것으로, 사용자 정의 자료형이라고 말할 수 있다.

클래스는 데이터와 함수로 정의된다.

 

예를 들어 "학생"이라는 클래스가 있다면,

데이터학번, 이름, 학년, 주소 등이 있고,

함수로는 수강신청, 수업 듣기, 시험 보기 등이 있을 것이다.

 

속성객체의 특성을 정의하는 것으로, 변수 또는 데이터, 멤버 변수라고도 부른다.    (명사)

위의 예에서 학번, 이름, 학년, 주소 등이 해당된다.

 

함수메서드라고도 불리며, 객체가 하는 기능들을 구현하는 것이다.  (동사)

 

3. 클래스 정의하기

(접근 제어자) class 클래스이름 {

    멤버 변수;

    메서드;

}

 

/* 클래스 이름은 대문자로 시작하며, 하나의 자바 파일에 하나의 클래스를 두는 것이 기본이다.

여러 개의 클래스가 같이 있는 경우, public 클래스는 단 하나이며, public 클래스와 자바 파일의 이름은 동일해야 한다.

자바의 모든 코드는 class 내부에 위치한다. */

 

<학생 클래스 만들기>

package classpart;

public class Student {
    int studentId;
    String studentName;
    int grade;
    String address;
    
    public void showStudentInfo() {
        Sysstem.out.println(studentName + ", " + address);
    }
}

studentId부터 address까지가 멤버 변수이고, 

public void showStudentInfo()가 학생 정보를 보여주는 기능을 하는 메서드(함수)이다.

 

4. 패키지

패키지란 클래스 파일의 묶음이다. 패키지를 만들면 프로젝트 하위에 물리적으로 디렉토리가 생성된다.

패키지는 계층 구조로 구성되며, ( . ) 온점으로 계층을 구분한다.

패키지명은 소문자로 적는다.

 

package 패키지명;

 

5. 메서드

메서드는 함수의 일종으로, 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수이다.

함수란 하나의 기능을 수행하는 일련의 코드로, 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용한다.

 

//함수 선언
int add (int num1, int num2) {
    return num1 + num2;
}

//함수 사용
public void static main(String[] args) {
    int sum = add(10, 20);
    System.out.println("10 + 20 = " + sum);
}

 

 

<함수의 장점>

1) 기능을 나누어 코드를 효율적으로 구현할 수 있다.

2) 기능별로 함수를 구현해 놓으면 같은 기능을 매번 코드로 만들 필요가 없다.

3) 프로그램을 실행할 때 생긴 오류를 수정하는 디버깅 작업을 할 때도 편리하다.

 

**가능하면 하나의 함수에 하나의 기능만 구현하는 것이 좋다.

 

6. 객체 생성하기

클래스를 사용하기 위해서는 "객체"를 생성해야 한다.

new 예약어를 이용해 객체를 생성한다.

 

    클래스명 변수이름 = new 생성자();

 

ex) Student studentA = new Student();

 

7. 생성자

생성자란 객체가 생성될 때 멤버 변수의 값을 초기화하기 위해 사용되는 특별한 함수를 말한다.

생성자 이름은 클래스명과 같다.

생성자는 메서드가 아니고, 상속되지 않으며, 리턴 값이 없지만 앞에 void를 적지 않는다.

 

디폴트 생성자는 객체가 생성될 때 컴파일러가 자동으로 생성하는 코드이다.

클래스에 생성자를 추가하면 디폴트 생성자는 제공되지 않는다.

 

8. 생성자 재정의 (오버로드)

함수명은 같고 전달되는 인자의 자료형이 다른 함수를 정의하면 이를 메서드 오버로드라고 부른다. 즉, 다른 함수로 취급된다.

이를 이용해 생성자의 초기화 함수를 여러 개 정의할 수 있다. 이때, 전달되는 인자의 자료형과 개수를 달리 해야한다.

 

public class Person {
    String name;
    float height;
    float weight;
    
    public Person() {}    //디폴트 생성자
    
    public Person(String pName) {    //이름이 인자로 전달되는 생성자, 
        name = pName;                //pName을 전달하여 멤버변수 name을 초기화할 수 있다.
    } 
}

 

9. 참조 자료형

변수의 자료형에는 기본 자료형과 참조 자료형이 있다.

ㅇ기본 자료형에는 앞서 포스팅한 것과 같이 boolean, char, short, int, long, float, double이 있으며,

참조 자료형에는 String, Student, Person 등이 있다.

 

참조 자료형클래스 형으로 선언하는 자료형을 의미한다.

 

예를 들어, 학생 클래스에 (학번, 이름, 국어 성적, 수학 성적, 수강 과목 이름)이 있다고 하자.

이때 수업에 대한 각 속성을 학생 클래스에 정의하지 않고, 수업이라는 클래스로 분리해서 사용하는 것이다.

그럼 과목참조 자료형으로 선언되어서 학생 클래스에서 사용될 수 있다.

 

10. 정보 은닉

클래스의 외부에서 클래스 내부의 멤버 변수나 메서드에 접근하지 못하게 하는 경우에 사용된다.

이를 통해 오류를 줄일 수 있다.

 

일반적인 경우에 멤버 변수는 private을 선언하여 외부에서 접근하지 못하게 하고,

메서드는 public으로 선언하여 외부에서도 사용할 수 있도록 한다.

 

그래서 멤버 변수를 외부에서 접근하지 않고 객체를 생성할 수 있도록 생성자를 사용한다.

또한, 생성자를 이용하면 객체를 한번에 초기화 할 수 있다.

package exercise.domain;

public class Student {
    private int    studentId;
    private String name;
    private int    grade;
    private String address;
    
    public void courseRegistration() {
        System.out.println("수강신청");
    }
    public void takeAClass() {
        System.out.println("수업듣기");
    }
    public void takeATest() {
        System.out.println("시험보기");
    }
    
    public void showStudentInfo() {
        System.out.println(name + ", " + address);
        System.out.println(studentId + ", " + grade);
    }
    
    //생성자
    public Student (int pStudentId, String pName, int pGrade, String pAddress) {
        studentId = pStudentId;
        name = pName;
        grade = pGrade;
        address = pAddress;
    }
}     
package exercise.test;
import exercise.domain.Student;

public class StudentTest {

    public static void main(String[] args) {
        Student stu1 = new Student(1224, "홍길동", 1, "서울특별시");  //생성자 함수 호출 
        Student stu2 = new Student(1225, "이순신", 2, "충무로");      //-> 객체 한번에 초기화
        //함수에서만 멤버 변수 접근하도록
        
        stu1.showStudentInfo();
        stu2.showStudentInfo();     //메서드 호출

 

**private 멤버 변수를 클래스 외부에서 접근할 때에는 get() / set() 메서드를 제공한다.

'Software > JAVA' 카테고리의 다른 글

[JAVA] 객체, 생성자, 계산기 예제  (0) 2021.01.11
[JAVA] 3의 배수의 합 구하기  (0) 2021.01.11
[JAVA] 조건문, 반복문  (0) 2021.01.10
[JAVA] 변수, 상수, 형변환, 연산자  (0) 2021.01.10
[JAVA] Eclipse 단축키  (0) 2021.01.10

1. 조건문

1) if 문

  • if, if - else

주로 조건식이 범위와 관련된 경우에 사용한다.

 

if (조건식1) {    
수행문1;
} else if (조건식2) { 
    수행문2;
} else {    
    수행문3;

 

(예제) 

int age = 9;
int charge = 0;

if (age < 8) {
    charge = 1000;
    System.out.println("미취학 아동입니다.");
} else if (age < 14) {
    charge = 2000;
    System.out.println("초등학생입니다.");
} else if (age < 20) {
    charge = 2400;
    System.out.println("중고등학생입니다.");
} else {
    charge = 3000;
    System.out.println("성인입니다.");
}

System.out.prinln("요금은 " + charge + "원 입니다.");

 

  • 조건 연산자 (삼항 연산자)

간단한 if - else 조건문을 조건 연산자로 구현할 수 있다. 

 

if (a > b)
    max = a;
else
    max = b;
max = (a > b) ? a : b;

 

2) switch - case 문

 

조건식의 결과가 특정 정수 값 또는 특정 문자열 값과 같을 경우 사용한다.

case문에서 수행문이 끝나면 반드시 break; 를 써줘야 한다. 그렇지 않으면 break;를 만날 때까지 계속 아래의 수행문을 수행한다. 

다음과 같이 여러 case를 한 번에 묶을 수도 있다.

 

(예제)

int month = 1;
int day = 0;

switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
    day = 31;
    break;
case 2: 
    day = 28;
    break;
case 4:
case 6:
case 9:
case 11:
    day = 30;
    break;
}

System.out.println("day = " + day);
final int Gold = 1;
final int Silver = 2;
final int Bronze = 3;
int medal = 1;

switch(medal) {
case Gold:
    System.out.println("금메달입니다.");
    break;
case Silver:
    System.out.println("은메달입니다.");
	break;
case Bronze:
    System.out.println("동메달입니다.");
    break;
default:
    System.out.println("금메달입니다.");
}

위와 같이 마지막에 default를 써줄 수도 있다. 위의 case를 모두 만족하지 않으면 default의 수행문이 실행된다.

JAVA 버전 7부터는 case 값에 문자열을 사용할 수 있지만, 위의 예제처럼 웬만하면 숫자로 비교하는 것이 좋다.

 

2. 반복문

1) while 문

 

조건이 "참"인 동안 수행문을 반복해서 수행한다.

주로 조건식이 true, false로 나타난다.

 

while (조건식) {

    수행문 1;

    ...

}

 

수행문2;

 

(예제)

int i = 0;
final int count = 10;
int sum = 0;

while (i <= count) {
    sum += i;
    ++i;
}

System.out.println("1부터 " + count + "까지의 합 = " + sum);

 

2) do - while 문

 

먼저 수행문을 한 번 수행하고 조건식을 체크한다.

수행문이 반드시 한 번 수행되어야 하는 경우에 사용한다.

 

do {

    수행문1;

    ...

} while (조건식); 

 

수행문2;

 

(예제)

int i = 2;

do {
    System.out.println(i);
    ++i;
} while (i < 1);

이 예제는 조건식이 처음부터 만족되지 않았지만, do 안에 있는 수행문은 한 번 실행된다.

 

3) for 문

 

가장 많이 사용되는 반복문으로, 주로 조건이 횟수인 경우에 사용한다.

for문 안에 초기식, 조건식, 증감식을 모두 쓰기 때문에 코드가 간결해질 수 있다.

for문 안에서만 쓰이는 변수는 초기식에서 선언과 초기화를 한번에 해주는 것이 좋다.

 

for (초기식 ; 조건식 ; 증감식) {

    수행문1;

    ...

}

 

수행문2;

 

(예제)

for (int num = 1; num <= 5; num++) {
    System.out.println(num);
}
for (int i = 1; i <= 9; i++) {
    System.out.println(i + "단");
    for (int j = 1; j <= 9; j++) {
        System.out.println(i + "x" + j + "=" + i*j);
    }
}

구구단 예제 코드이다.

int total = 0;
for (int i = 1; i <0 100; i++) {
    if (i % 2 ==0) continue;
    total += i;
    System.out.println(total + "i = " i);
}


total = 0;
for (int i = 1; i <= 100; i++) {
    if (i % 2 == 1) {
        total += i;
        System.out.println(total + "i = " i);
    }
}

위의 예제에서 continue;아래의 실행문을 실행하지 않고 증감식으로 넘어가라는 의미이다.

위의 for문과 아래의 for문은 100 이하의 홀수끼리만 더하라는 의미로 결과가 같은 코드이다.

 

int total = 0;
for (int i = 1; i <= 100; i++) { 
    if (i == 50) break;
    total += i;
    System.out.println(total + " i = " + i);
}

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

위의 예제와 같이 for문에서 break; 를 쓰면 loop를 벗어난다. 즉, i가 50이 되면 그 이상 증가하지 않고 loop를 빠져나와서 아래의 print문을 실행하는 것이다.

 

'Software > JAVA' 카테고리의 다른 글

[JAVA] 3의 배수의 합 구하기  (0) 2021.01.11
[JAVA] 클래스와 객체  (0) 2021.01.10
[JAVA] 변수, 상수, 형변환, 연산자  (0) 2021.01.10
[JAVA] Eclipse 단축키  (0) 2021.01.10
[JAVA] Eclipse 설치  (0) 2021.01.10

1. 변수

변수는 프로그래밍에서 값(data)을 저장하기 위해 선언하는 것이다.

 

<특징>

1) 변수의 이름은 알파벳, 숫자, _ , $ 으로 구성된다.

2) 변수는 대소문자를 구분한다. 

3) 변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없다.

4) 이름 사이에 공백이 있으면 안된다.

5) 변수명을 정할 때에는 변수의 역할에 어울리는 의미 있는 이름을 지어야 한다.

 

2. 자료형

 

  정수형 문자형 실수형 논리형
1 byte byte     boolean
2 byte short char    
4 byte int   float  
8 byte long   double  

 

변수가 저장되는 공간의 특성에 따라 자료형을 사용하여 변수를 선언해야 한다. 

그리고 변수를 선언하는 동시에 초기화해주는 것이 좋다.

ex) int num;

     float average = 0.2f;

 

3. 상수

상수는 변하지 않는 값을 선언하는 것이다.

상수를 선언할 때에는 변수 선언 앞에 final 키워드를 붙이면 된다.

ex) final double PI = 3.14;

     final int MAX_NUM = 100;

 

**max num을 변수와 상수로 정의할 때

변수 → int maxNum;

상수 → final int MAX_NUM;

 

이렇게 변수는 소문자로, 띄어쓰기 해야 할 부분을 대문자로 적어주고,

상수는 모두 대문자로 적고 띄어쓰기 해야 할 부분에 언더바( _ )를 적는다.

 

4. 리터럴

리터럴은 프로그램에서 사용하는 모든 숫자, 값, 논리값을 말한다.

예를 들면 10, 3.14, 'A', true 등이 있다.

리터럴에 해당하는 값은 특정 메모리 공간인 상수 풀 (constant pool)에 있으며 필요한 경우 여기서 가져와서 사용된다.

 

5. 형 변환

자료형은 각각 사용하는 메모리의 크기와 방식이 다르기 때문에 서로 다른 자료형의 값이 대입되는 경우 형 변환이 일어난다.

 

1) 묵시적 형 변환

작은 수에서 큰 수로, 덜 정밀한 수에서 더 정밀한 수로 대입되는 경우 자동으로 형 변환이 일어난다.

ex) long num = 3;  // long은 8byte 정수이고, 3은 4byte 정수인 int타입이다. long이 더 크기 때문에 3 뒤에 L을 명시할 필요가 없다.

 

2) 명시적 형 변환

묵시적 형 변환의 반대의 경우로, 변환되는 자료형을 명시해야 한다. 이때 자료의 손실이 발생할 수 있다.

ex) double dNum = 3.14;

     int num = (int) dNum;   // double이 실수형으로 정수형인 int보다 더 정밀하기 때문에, double타입인 dNum을 int타입인 num에 대입할 경우 dNum 앞에 (int)를 명시해야 한다.

 

6. 기본 연산자

 

대입 연산자 변수에 값을 대입 num = 10;
단항 연산자 항이 한 개 ++num;
이항 연산자 항이 두 개 num1 + num2;
삼항 연산자 항이 세 개 (5 > 3) ? 1 : 0;

 

  • 대입 연산자: 변수의 값을 대입하는 연산자로, 우선순위가 가장 낮다.
  • 부호 연산자: 양수 / 음수를 표현하거나 값의 부호를 변경한다. 변수 앞에 +, -를 사용한다고 해서 변수의 값이 변하는 것은 아니다. 변수의 값을 변경하려면 대입 연산자로 값을 변경해야 하고, 부호 연산자는 그 단계에서의 부호만 바꿔줄 뿐이다.
  • 산술 연산자: 사칙연산에 사용되는 연산자이다.

 

**사칙 연산자: +, -, *, /

** %는 나머지를 구하는 연산자 숫자 n의 나머지는 0 ~ n-1 범위의 수이므로 특정 범위 안의 수를 구할 때 자주 사용한다.

'Software > JAVA' 카테고리의 다른 글

[JAVA] 3의 배수의 합 구하기  (0) 2021.01.11
[JAVA] 클래스와 객체  (0) 2021.01.10
[JAVA] 조건문, 반복문  (0) 2021.01.10
[JAVA] Eclipse 단축키  (0) 2021.01.10
[JAVA] Eclipse 설치  (0) 2021.01.10
Alt + Left (Right) 이전, 이후 작업 화면
Alt + Shift + A 세로 블럭 지정이 가능한 모드로 변경
Alt + Shift + R Refactoring (이름 변경)
Alt + Shift + J 자동으로 주석 달기 (메소드나 멤버변수에 포커스 두고 실행)
Ctrl + Space 입력 보조장치 강제 호출
Ctrl + L 특정 줄로 번호 이동
Ctrl + K 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누름
Ctrl + / 라인 주석 설정 / 해제
Shift + Ctrl + / 블록 라인 주석 설정
Shift + Ctrl + \ 블록 라인 주석 해제

 

굵은 글씨는 지금까지 배우면서 자주 쓴 것이다.

'Software > JAVA' 카테고리의 다른 글

[JAVA] 3의 배수의 합 구하기  (0) 2021.01.11
[JAVA] 클래스와 객체  (0) 2021.01.10
[JAVA] 조건문, 반복문  (0) 2021.01.10
[JAVA] 변수, 상수, 형변환, 연산자  (0) 2021.01.10
[JAVA] Eclipse 설치  (0) 2021.01.10

+ Recent posts