if 문
if 문
•
중괄호에 속한 문장이 하나일 경우 중괄호 생략 가능
if(true or false) {
조건이 true 시 실행되는 영역
}
Plain Text
복사
if-else 문
if(true or false) {
조건이 true 시 실행되는 영역
} else {
조건이 false 시 실행되는 영역
}
Plain Text
복사
if-else 문
if(true or false) {
조건이 true 시 실행되는 영역
} else if (true or false) {
前조건들이 모두 false & 現조건이 true 시 실행되는 영역
} else {
모두 false 시 실행되는 영역
}
Plain Text
복사
Switch 문
public static void main(String[] args) {
int n = 1;
switch (n) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
default:
System.out.println("default");
}
System.out.println("end");
}
//결과
//1
//2
//3
//default
//end
Plain Text
복사
걸리면 break 까지
public static void main(String[] args) {
int n = 1;
switch (n) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
case 3:
System.out.println("3");
default:
System.out.println("default");
}
System.out.println("end");
}
//결과
//1
//end
Plain Text
복사
여러개의 switch
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("달을 입력하시오. >");
int month = scanner.nextInt();
switch (month) {
case 12: case 1: case 2:
System.out.println("겨울 입니다.");
break;
case 3: case 4: case 5:
System.out.println("봄 입니다.");
break;
case 6: case 7: case 8:
System.out.println("여름 입니다.");
break;
case 9: case 10: case 11:
System.out.println("가을 입니다.");
break;
default:
System.out.println("올바른 입력 형식이 아닙니다.");
}
System.out.println("end");
}
Plain Text
복사
클래스와 객체
클래스
클래스에 대한 이해
•
클래스는 객체를 찍어내는 틀과 같다.
◦
붕어빵 틀과 붕어빵의 관계
클래스 정의
•
객체를 정의해놓은 것
•
사용자 정의 타입
•
클래스는 속성과 기능을 정의하고 있다.
◦
속성
변수
◦
기능
함수
class Circle {
//속성
int radius;
String color;
//기능
double calArea() {
return Math.PI * Math.pow(radius, 2);
}
}
Plain Text
복사
객체
객체란?
•
.class 를 메로리로 올린 것
인스턴스화, 객체 생성
Circle circle = new Circle()
Plain Text
복사
•
Circle : 참조변수의 타입
•
circle : 참조변수, 참조값 저장
•
= : 대입 연산자
변수 초기화
•
new : 객체 생성
메모리(Heap) 할당
•
Circle() : 생성자 호출
•
클래스로부터 객체(인스턴스)를 만드는 과정
•
인스턴스는 참조변수를 통해서만 다룰 수 있으며 참조변수의 타입은 인스턴스의 타입과 일치해야 한다.
메모리
String 객체
•
String도 엄연한 객체다.
객체 예제
예제1)
static class Student{
String name;
long rollno;
int age;
void printStudent() {
System.out.println("학생의 이름: " + name);
System.out.println("학생의 학번: " + rollno);
System.out.println("학생의 나이: " + age);
}
}
public static void main(String[] args) {
Student student = new Student();
student.name = "Kim";
student.rollno = 20180001;
student.age = 20;
student.printStudent();
}
Plain Text
복사
예제2)
public static void main(String[] args) {
String str1 = "Happy";
String str2 = "Birthday";
System.out.println(str1 + " " + str2);
printString(str1);
printString(str2);
}
private static void printString(String str) { // 참조형 매개변수 (객체 주소를 주고 받는 것)
System.out.println(str);
}
Plain Text
복사
•
참조형 매개변수 : 객체 주소를 주고 받는 것
예제3)
static class Rectangle{
private int width;
private int height;
public void setWidth(int width) {
this.width = width;
}
public void setHeight(int height) {
this.height = height;
}
public int getArea() {
return width*height;
}
}
public static void main(String[] args) {
Rectangle rectangle = new Rectangle();
rectangle.setWidth(10);
rectangle.setHeight(10);
System.out.println(rectangle.getArea());
}
Plain Text
복사
•
메서드가 호출이 되면 스택영역에서,,
메서드
메서드에 대한 이해
•
메서드는 입력을 받아서 처리를 하고 결과를 반환하는 가상적인 상자와 같다.
메서드 선언
•
선언부
◦
반환타입 + 메서드 이름 + 매개변수 선언
•
구현부
◦
메서드에서 선언된 변수는 모두 지역변수
◦
void 아니라면 반환타입과 일치하는 반환값이 필요
◦
메서드 종료하고 호출부분으로 돌아갈 때는 return
public static void main(String[] args) {
double area = circleArea(10);
System.out.println("area = " + area);
}
private static double circleArea(int r) { // 메서드 선언부
return Math.PI * Math.pow(r, 2);
}
Plain Text
복사