목차
if 조건문_김진아
if문
조건식이 true이면 중괄호({ }) 안의 실행문을 작동시킨다.
조건식이 false이면 중괄호({ })의 실행문은 동작하지 않고 if문을 빠져 나간다.
if(조건식) {
조건 true 시 실행되는 영역
}
Java
복사
if else
if문 만으로는 복잡한 내용을 처리하는 데는 한계가 있어서 if else문을 사용한다
if문과 마찬가지로 조건식의 true/false 여부에 따라 실행문이 동작한다.
조건식이 true이면 중괄호({ }) 안의 실행문을 작동시킨다.
조건식이 false이면 중괄호({ })의 실행문은 동작하지 않고 if문을 빠져 나가서 else 문이 실행 된다.
if(조건식) {
조건 true 시 실행되는 영역
} else if(조건식) {
조건 true 시 실행되는 영역
} else {
조건 false 시 실행되는 영역
}
Java
복사
Switch
switch 문은 ()괄호 안에 있는 조건식과 case 문을 비교하여 일치하면 실행, 일치하지 않으면 다음 행으로 넘어가서 일치여부를 확인한다.
break를 만나면 함수를 탈출한다.
case 문의 변수 값이 아닐 경우 default 문이 실행된다.
switch(조건식) {
case 값 1:
// 조건식의 결과가 값 1과 같을 경우 수행될 문장들
break;
case 값 2 :
// 조선식의 결과가 값 2와 같을 경우 수행될 문장들
break;
default :
// 변수값이 1,2 모두 아닐경우 수행
}
Plain Text
복사
가위 바위 보 게임_김도현
컴퓨터와 간단한 가위 바위 보 게임을 합니다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("가위(0), 바위(1), 보(2): ");
int user = sc.nextInt();
int computer = (int) (Math.random() * 3);
if (user == computer)
System.out.println("인간과 컴퓨터가 비겼음");
else if (user == (computer + 1) % 3) // 0은 1한테 지고 1은 2한테, 2는 0한테 진다.
System.out.println("인간: " + user + " 컴퓨터: " + computer + " 인간 승리");
else
System.out.println("인간: " + user + " 컴퓨터: " + computer + " 컴퓨터 승리");
}
}
Java
복사
•
<컴퓨터>는 랜덤 함수를 이용하여 0, 1, 2 생성
•
<인간>은 0, 1, 2 를 입력하여 컴퓨터 데이터와 비교
•
(computer + 1) % 3) 작동 원리 이해 필요 !
클래스와 객체_권오석
클래스 : 객체를 정의한 것
객체 : 실제로 존재하는 것, 사물 또는 개념
클래스 | 객체 |
제품 설계도 | 제품 |
TV 설계도 | TV |
붕어빵 기계 | 붕어빵 |
객체의 구성요소
class Tv {
String color;
boolean power; //속성 → 멤버변수
int channel;
void power() { power = !power; }
void channelUp() { channel++; } //기능 → 메서드
void channelDown() { channel--; }
}
Java
복사
클래스 정의 후 객체 생성
class Cricle{ // 함수는 4Byte
int radius;
String color;
double calcArea() {
return 3.14 * radius *radius;
}
}
public class Main {
public static void main(String[] args) {
Cricle obj; // 참조 변수 선언
obj = new Cricle(); // 객체 생성
obj.radius = 100; // 객체 필드 접근
obj.color = "blue";
double area = obj.calcArea(); // 객체 메소드 접근
System.out.println("원의 면적 = " + area);
}
}
Java
복사
메소드_구하린
메소드 : 특정 기능을 정의한 코드들의 집합
•
가독성, 재사용성이 좋다.
•
JVM은 main 메소드를 제일 먼저 실행한다.
•
함수라고도 불린다.
구성
//생성
int add ( int x , int y) { // 타입 함수이름 ( 매개변수(=파라미터)1, 매개변수 2) {
return x+y; // return은 값의 반환을 명령
}
//실행
int sum = add (25, 47); // add (인수 1, 인수 2)
Java
복사
메소드 생성_1
public class Main {
public static void main(String[] args) {
double area = circleArea(10);
System.out.println(area);
}
public static double circleArea(int num) {
return Math.PI * num * num;
}
}
Java
복사
메소드 생성_2
public class Main {
public static void main(String[] args) {
System.out.println("프로그램 시작");
hiEevryone(12);
hiEevryone(13);
System.out.println("프로그램 끝");
}
//public은 함수 접근 키워드. void는 반환하지 않음을 의미. void "함수이름"()
public static void hiEevryone(int age) { //함수는 void부터 }(중괄호)까지
System.out.println("좋은 아침입니다.");
System.out.printf("제 나이는 %d세 입니다.\n", age);
}
}
Java
복사
String도 객체_김건우
1.
String 객체 대부분은 원시 타입으로 취급하므로 new 키워드를 사용할 필요가 없다.
2.
new 키워드를 사용할 경우에는 heap영역에 String 객체를 생성하게 되는 것이다.
3.
리터럴 생성 방식은 메모리 할당이 String constatnt Pool에 할당이 된다.
문자열 선언의 2가지 방식
String str1 = "madplay"; // String constatnt Pool 할당
String str2 = "madplay"; // String constatnt Pool 할당
String str3 = new String("madplay"); // heap 할당
String str4 = new String("madplay"); // heap 할당
Java
복사
첫 번째는 생성자인 new 연산자를 이용한 문자열 생성 방식, 두 번째는 문자열 리터럴 생성 방식인 데, 겉으로 보았을 때의 문법 차이도 있지만 실제 메모리에 할당되는 영역에도 차이가 있다.
new 연산자를 통해 문자열 객체를 생성하는 경우 메모리의 Heap 영역에 할당되고 두 번째 방법인 리터럴을 이용한 경우에는 String Constant Pool이라는 영역에 할당된다.
문자열 연산자
public static void main(String[] args) {
String str1 = "Happy";
String str2 = "Birthday";
System.out.println(str1 + " " + str2);
printString(str1);
printString(str2);
}
public static void printString(String str) {
System.out.print(str);
}
JavaScript
복사
미니 프로젝트 (클래스 객체 생성)_김건우
학생을 나타내는 클래스 Student를 만들어보자.
학생은 이름(name)과 학번(number), 나이(age)를 가진다.
Student 클래스를 작성하고 객체를 생성하여 테스트하라.
public class Main {
public static void main(String[] args) {
Student student = new Student();
student.name = "kim";
student.number = 220922;
student.age = 21;
student.printDate();
}
}
class Student {
String name; // 이름
int number; // 학번
int age; // 나이
public void printDate() { // 정보 출력 메소드
System.out.println("이름 : " + name);
System.out.println("학번 : " + number);
System.out.println("나이 : " + age);
}
}
JavaScript
복사
풀이 방법
우선 첫번째로 객체지향의 성격을 가진 자바언어의 특징을 이용해서 student 클래스를 만들어주었다. 클래스는 객체를 만들어주는 설계도의 역할이라고 보면 된다.
학생의 속성으로 이름(name), 학번(number), 나이(age)를 필드로 설정해주었다.
또한 printDate()라는 메소드를 생성하여 student객체의 정보를 나타낼 수 있는 메소드를 제작하였다.
추후에는 .toString()메소드를 @Override(재정의)할 것이다.
연습문제 (클래스 객체 set&get)_조윤재
사각형 넓이 구하기
public class Main {
public static void main(String[] args) {
Rectangle rec = new Rectangle();
rec.setWidth(10); // 세터 사용하여 멤버변수 width의 값을 10으로 할당
rec.setHeight(10); // 세터 사용하여 멤버변수 height의 값을 10으로 할당
System.out.println(rec.getArea()); // getArea() 메소드가 뱉어내는 값 출력
}
}
class Rectangle {
int width; // 멤버변수 넓이
int height; // 멤버변수 높이
public void setWidth(int width) { // 파라미터로 넓이 대입
this.width = width; // 멤버변수 넓이 = 파라미터로 받은 넓이
}
public void setHeight(int height) { // 파라미터로 높이 대입
this.height = height; // 멤버변수 높이 = 파라미터로 받은 높이
}
public int getArea() {
return (width * height); // getArea() 메소드는 해당 해당 객체의 넓이 * 높이를 반환한다.
}
}
Java
복사