1 . 배열
1 . 배열
배열이란??
같은 타입의 변수를 하나의 묶음으로 관리할 수 있고 변수는 하나의 데이터만 저장할 수 있다면 배열은 여러개의 데이터를 하나의 변수에 담을 수 있다.
왜 써야하는가??
배열은 매번 변수의 이름을 정해야하는 번거로움이 있다. 묶어서 관리해야한다면 배열로 관리하도록 하자.
어떻게 사용하는가??
배열을 선언하려면 변수 선언에서 데이터타입 뒤에 대괄호 [ ] 를 추가하면 된다.
int [ ] student;
String [ ] name;
📋 코드
package chapter05;
public class ch05_1 {
public static void main(String[] args)
{
int[] student = new int[3];
student[0]=30;
student[1]=20;
student[2]=10;
int[] student1 = {30,20,10};
System.out.printf("현재 자동으로 초기화된 값 %n" +student[1]);
System.out.printf("%n현재 자동으로 초기화된 값 %n" +student1[0]);
}
}
📕 해설
위의 코드에서는 student에 3이라는 값을 넣어주었다.
배열은 0부터 시작하므로
인덱스 0번에는 30
인덱스 1번에는 20
인덱스 2번에는 10
라는 값을 각각 넣어주었다.
배열 선언에는 두가지 방법이 있으며 student 와 같이 int[3]을 주고 값을 각각 넣어주는 방법과
student1과 같이 값을 바로 넣어주는 방법이 있다.
👨🏻💻 결과
현재 자동으로 초기화된 값
20
현재 자동으로 초기화된 값
30
2. for문을 사용한 배열
📋 코드
package chapter05;
import java.util.Arrays;
public class ch05_3 {
public static void main(String[] args) {
int[] a= {10,20,4,25,18};
int[] b = {1,2,3,4,5,6,7};
int[] c = new int[10];
for(int i = 0; i<c.length;i++)
{
c[i]=i;
}
for(int i=0; i<c.length;i++){
System.out.println(c[i]);
}
System.out.println("");
System.out.println(Arrays.toString(c));
}
}
📕 해설
위의 코드는 배열 a 와 b 에 각각 값을 주었다.
배열 c 에는 10이라는 값을 넣어주었고 for문에서 i는 c.length를 지정해줌으로써 i<10 이라는 조건식이 주어지게 된다.
c[i]=i; 는 배열 c에 i번째 인덱스에 i 값을 준다.
0번째 인덱스에는 0 이 들어가고 다시 반복, 1번째 인덱스에 1이 들어가고 다시 반복
이런식으로 i값이 증가하면서 c의 인덱스에 들어가게된다.
👨🏻💻 결과
0
1
2
3
4
5
6
7
8
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2. 다차원 배열
다차원 배열이란??
많은 데이터를 편하게 관리하기위해 2차원 이상의 배열을 다차원 배열이라고 한다.
언제 사용하는가??
3차원 배열 이상은 잘 사용하지않고 2차원 배열을 주로 사용하며 행과 열을 사용하는 데이터를 필요로 할때 사용한다.
3. foreach
for문은 인덱스 번호를 통해서 배열에 대한 작업을 처리했다면 foreach문은 배열의 이름과 새로운 변수 하나만 지정하면 자동으로 배열의 요소를 처리한다.
📋 코드
package chapter05;
public class ch05_5
{
public static void main(String[] args)
{
String[] a = {"Java","Hello","Programming"};
for(String i : a)
{
System.out.println(i);
}
int[] b = {1,2,3,4,5};
for(int j : b) {
System.out.println(j);
}
}
}
📕 해설
String i : a 는 a 에 있는 데이터를 i에 하나씩 대입하여 반복한다.
👨🏻💻 결과
Java
Hello
Programming
1
2
3
4
5
2 . 클래스
객체지향 언어란???
객체지향 언어란 실제로 존재하는 데이터를 객체라고한다.
클래스란??
자동차를 만들기 위해 자동자의 설계도가 필요하듯이 객체를 만들기 위해서는 객체의 설계도가 필요하다.
클래스가 바로 객체의 설계도라고 할 수 있다.
인스턴스란??
인스턴스는 클래스를 통해 만들어진 형태이다.
클래스가 객체의 설계도라면 설계도를 통해 만들어진 형태가 인스턴스이다.
객체를 만드는 과정을 클래스의 인스턴스화라고 한다.
참조변수란??
참조변수는 주소를 저장하는 변수이다
📋 코드
package chapter05;
public class ch05_6
{
public static void main(String[] args) {
Car mycar = new Car();
System.out.println("시동 처음 초기화."+mycar.powerOn);
System.out.println("차의 색상 초기화."+mycar.color);
System.out.println("바퀴의 수 초기화."+mycar.wheel);
System.out.println("속력 초기화."+mycar.speed);
System.out.println("와이퍼 작동 초기화."+mycar.wiperOn);
mycar.power();
System.out.println("시동 메서드 동작."+mycar.powerOn);
mycar.power();
System.out.println("시동 메서드 다시 동작."+mycar.powerOn);
mycar.color = "black";
System.out.println("현재 차의 색상."+mycar.color);
}
}
package chapter05;
public class Car {
boolean powerOn; //시동
String color; //차량의 색상
int wheel; //바퀴의 수
int speed; //속력
boolean wiperOn;//와이퍼
void power() { powerOn = !powerOn;}
void speedUp() {speed++;}
void speedDown() {speed--;}
void wiper() {wiperOn=!wiperOn;}
}
📕 해설
ch05_6 클래스에서는 mycar 라는 변수에 Car 클래스를 생성하였다.
따라서 Car 라는 변수에 있는 인스턴스 변수들을 사용할 수 있도록 하였다.
Car 클래스에는 각각 인스턴스 변수들을 지정하였다.
power 메서드는 powerOn 변수의 값을 반전시켜 시동을 켜거나 끄는 동작을 수행하고
speedUp 메서드는 speed 변수의 값을 증가시켜 속도를 높이거나 감소시킨다.
powerOn 에서 부정문을 사용하는 이유는 시동이 꺼져있어도 OFF되거나 시동이 켜져있어도 ON 되는 상황을 막기위해 반전시켜서 시동이 꺼진경우 ON 켜진경우 ON을 만들 수 있다.
👨🏻💻 결과
시동 처음 초기화.false
차의 색상 초기화.null
바퀴의 수 초기화.0
속력 초기화.0
와이퍼 작동 초기화.false
시동 메서드 동작.true
시동 메서드 다시 동작.false
현재 차의 색상.black
3. 인스턴스 변수와 클래스 변수
1. 인스턴스 변수
인스턴스 변수란???
인스턴스 변수는 객체마다 가지는 고유한 변수이다. 인스턴스를 생성할 때 만들어지며 인스턴스마다 고유의 주소를 가지기 때문에 각각의 다른 값을 가질 수 있다.
📋 예시
class Cars{
int speed; // 인스턴스 변수 선언
// 기존의 방식과 동일!
}
2. 클래스 변수
클래스 변수는 인스턴스의 반대 개념이며 모든 인스턴스가 공통된 값을 공유하는 변수이다.
클래수 변수는 다음과 같은 특징이 있다.
1. 클래스 변수는 자동으로 생성된다.
2. 하나의 저장 공간을 만들어 모든 인스턴스가 함께 공유할 수 있다.
◎클래스 변수 추가방법 : 변수 선언부 맨 앞에 static 을 붙여주면 된다.
class Cars{
static int wheel;
}
4.메서드
1. 메서드
메서드란??
함수라고도 불리는 메서드(method)는 특정한 기능을 수행하는 코드로서 입력 값을 받아서 내부에서 처리하여 결과를 출력 또는 변환한다.
메서드는 다음과 같은 특징이 있다.
1. 한번 정해놓으면 언제든지 호출할 수 있고 다른 프로그램중에서도 사용 가능하다.
2. 본문의 내용을 간결하게 할 수 있다.
2. 메서드의 사용
반환타입,메서드명(타입 변수명,타입 변수명){
return 값;
}
◎ 메서드 사용시 반환하는 값이 없으면 void로 지정한다.
📋 예시
int calculator(int a, int b) {
System.out.println("<계산을 시작합니다>");
int area = a * b;
return area;
있는 변수를 출력할 수 있다.
'Java > 단계별 과정' 카테고리의 다른 글
[JAVA] 상속과 다형성 (0) | 2023.05.01 |
---|---|
[JAVA]자바 기본 총정리 (0) | 2023.04.25 |
[JAVA]오버로딩과 생성자 (0) | 2023.04.25 |
[JAVA] 자바 제어문 (if문, if else문, else if문,switch문,for문) (0) | 2023.04.19 |
[JAVA] 자바 프로그래밍의 기본 (0) | 2023.04.18 |
1 . 배열
1 . 배열
배열이란??
같은 타입의 변수를 하나의 묶음으로 관리할 수 있고 변수는 하나의 데이터만 저장할 수 있다면 배열은 여러개의 데이터를 하나의 변수에 담을 수 있다.
왜 써야하는가??
배열은 매번 변수의 이름을 정해야하는 번거로움이 있다. 묶어서 관리해야한다면 배열로 관리하도록 하자.
어떻게 사용하는가??
배열을 선언하려면 변수 선언에서 데이터타입 뒤에 대괄호 [ ] 를 추가하면 된다.
int [ ] student;
String [ ] name;
📋 코드
package chapter05;
public class ch05_1 {
public static void main(String[] args)
{
int[] student = new int[3];
student[0]=30;
student[1]=20;
student[2]=10;
int[] student1 = {30,20,10};
System.out.printf("현재 자동으로 초기화된 값 %n" +student[1]);
System.out.printf("%n현재 자동으로 초기화된 값 %n" +student1[0]);
}
}
📕 해설
위의 코드에서는 student에 3이라는 값을 넣어주었다.
배열은 0부터 시작하므로
인덱스 0번에는 30
인덱스 1번에는 20
인덱스 2번에는 10
라는 값을 각각 넣어주었다.
배열 선언에는 두가지 방법이 있으며 student 와 같이 int[3]을 주고 값을 각각 넣어주는 방법과
student1과 같이 값을 바로 넣어주는 방법이 있다.
👨🏻💻 결과
현재 자동으로 초기화된 값
20
현재 자동으로 초기화된 값
30
2. for문을 사용한 배열
📋 코드
package chapter05;
import java.util.Arrays;
public class ch05_3 {
public static void main(String[] args) {
int[] a= {10,20,4,25,18};
int[] b = {1,2,3,4,5,6,7};
int[] c = new int[10];
for(int i = 0; i<c.length;i++)
{
c[i]=i;
}
for(int i=0; i<c.length;i++){
System.out.println(c[i]);
}
System.out.println("");
System.out.println(Arrays.toString(c));
}
}
📕 해설
위의 코드는 배열 a 와 b 에 각각 값을 주었다.
배열 c 에는 10이라는 값을 넣어주었고 for문에서 i는 c.length를 지정해줌으로써 i<10 이라는 조건식이 주어지게 된다.
c[i]=i; 는 배열 c에 i번째 인덱스에 i 값을 준다.
0번째 인덱스에는 0 이 들어가고 다시 반복, 1번째 인덱스에 1이 들어가고 다시 반복
이런식으로 i값이 증가하면서 c의 인덱스에 들어가게된다.
👨🏻💻 결과
0
1
2
3
4
5
6
7
8
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2. 다차원 배열
다차원 배열이란??
많은 데이터를 편하게 관리하기위해 2차원 이상의 배열을 다차원 배열이라고 한다.
언제 사용하는가??
3차원 배열 이상은 잘 사용하지않고 2차원 배열을 주로 사용하며 행과 열을 사용하는 데이터를 필요로 할때 사용한다.
3. foreach
for문은 인덱스 번호를 통해서 배열에 대한 작업을 처리했다면 foreach문은 배열의 이름과 새로운 변수 하나만 지정하면 자동으로 배열의 요소를 처리한다.
📋 코드
package chapter05;
public class ch05_5
{
public static void main(String[] args)
{
String[] a = {"Java","Hello","Programming"};
for(String i : a)
{
System.out.println(i);
}
int[] b = {1,2,3,4,5};
for(int j : b) {
System.out.println(j);
}
}
}
📕 해설
String i : a 는 a 에 있는 데이터를 i에 하나씩 대입하여 반복한다.
👨🏻💻 결과
Java
Hello
Programming
1
2
3
4
5
2 . 클래스
객체지향 언어란???
객체지향 언어란 실제로 존재하는 데이터를 객체라고한다.
클래스란??
자동차를 만들기 위해 자동자의 설계도가 필요하듯이 객체를 만들기 위해서는 객체의 설계도가 필요하다.
클래스가 바로 객체의 설계도라고 할 수 있다.
인스턴스란??
인스턴스는 클래스를 통해 만들어진 형태이다.
클래스가 객체의 설계도라면 설계도를 통해 만들어진 형태가 인스턴스이다.
객체를 만드는 과정을 클래스의 인스턴스화라고 한다.
참조변수란??
참조변수는 주소를 저장하는 변수이다
📋 코드
package chapter05;
public class ch05_6
{
public static void main(String[] args) {
Car mycar = new Car();
System.out.println("시동 처음 초기화."+mycar.powerOn);
System.out.println("차의 색상 초기화."+mycar.color);
System.out.println("바퀴의 수 초기화."+mycar.wheel);
System.out.println("속력 초기화."+mycar.speed);
System.out.println("와이퍼 작동 초기화."+mycar.wiperOn);
mycar.power();
System.out.println("시동 메서드 동작."+mycar.powerOn);
mycar.power();
System.out.println("시동 메서드 다시 동작."+mycar.powerOn);
mycar.color = "black";
System.out.println("현재 차의 색상."+mycar.color);
}
}
package chapter05;
public class Car {
boolean powerOn; //시동
String color; //차량의 색상
int wheel; //바퀴의 수
int speed; //속력
boolean wiperOn;//와이퍼
void power() { powerOn = !powerOn;}
void speedUp() {speed++;}
void speedDown() {speed--;}
void wiper() {wiperOn=!wiperOn;}
}
📕 해설
ch05_6 클래스에서는 mycar 라는 변수에 Car 클래스를 생성하였다.
따라서 Car 라는 변수에 있는 인스턴스 변수들을 사용할 수 있도록 하였다.
Car 클래스에는 각각 인스턴스 변수들을 지정하였다.
power 메서드는 powerOn 변수의 값을 반전시켜 시동을 켜거나 끄는 동작을 수행하고
speedUp 메서드는 speed 변수의 값을 증가시켜 속도를 높이거나 감소시킨다.
powerOn 에서 부정문을 사용하는 이유는 시동이 꺼져있어도 OFF되거나 시동이 켜져있어도 ON 되는 상황을 막기위해 반전시켜서 시동이 꺼진경우 ON 켜진경우 ON을 만들 수 있다.
👨🏻💻 결과
시동 처음 초기화.false
차의 색상 초기화.null
바퀴의 수 초기화.0
속력 초기화.0
와이퍼 작동 초기화.false
시동 메서드 동작.true
시동 메서드 다시 동작.false
현재 차의 색상.black
3. 인스턴스 변수와 클래스 변수
1. 인스턴스 변수
인스턴스 변수란???
인스턴스 변수는 객체마다 가지는 고유한 변수이다. 인스턴스를 생성할 때 만들어지며 인스턴스마다 고유의 주소를 가지기 때문에 각각의 다른 값을 가질 수 있다.
📋 예시
class Cars{
int speed; // 인스턴스 변수 선언
// 기존의 방식과 동일!
}
2. 클래스 변수
클래스 변수는 인스턴스의 반대 개념이며 모든 인스턴스가 공통된 값을 공유하는 변수이다.
클래수 변수는 다음과 같은 특징이 있다.
1. 클래스 변수는 자동으로 생성된다.
2. 하나의 저장 공간을 만들어 모든 인스턴스가 함께 공유할 수 있다.
◎클래스 변수 추가방법 : 변수 선언부 맨 앞에 static 을 붙여주면 된다.
class Cars{
static int wheel;
}
4.메서드
1. 메서드
메서드란??
함수라고도 불리는 메서드(method)는 특정한 기능을 수행하는 코드로서 입력 값을 받아서 내부에서 처리하여 결과를 출력 또는 변환한다.
메서드는 다음과 같은 특징이 있다.
1. 한번 정해놓으면 언제든지 호출할 수 있고 다른 프로그램중에서도 사용 가능하다.
2. 본문의 내용을 간결하게 할 수 있다.
2. 메서드의 사용
반환타입,메서드명(타입 변수명,타입 변수명){
return 값;
}
◎ 메서드 사용시 반환하는 값이 없으면 void로 지정한다.
📋 예시
int calculator(int a, int b) {
System.out.println("<계산을 시작합니다>");
int area = a * b;
return area;
있는 변수를 출력할 수 있다.
'Java > 단계별 과정' 카테고리의 다른 글
[JAVA] 상속과 다형성 (0) | 2023.05.01 |
---|---|
[JAVA]자바 기본 총정리 (0) | 2023.04.25 |
[JAVA]오버로딩과 생성자 (0) | 2023.04.25 |
[JAVA] 자바 제어문 (if문, if else문, else if문,switch문,for문) (0) | 2023.04.19 |
[JAVA] 자바 프로그래밍의 기본 (0) | 2023.04.18 |