public class Phone {
String name; //모델명
String type; //타입
int hsize;
int vsize;
boolean hasLCD; //LCD 유무
// 생성자 ---------------------------------
Phone () {}
Phone (String name, String type) {
this.name = name; // this 현재객체(인스턴스)
this.type = type;
}
Phone (String name, String type, boolean hasLCD) {
this.name = name; // this 현재객체(인스턴스)
this.type = type;
this.hasLCD = hasLCD;
}
// 메소드 ---------------------------------
void call () {
System.out.println(">>전화걸기" );
}
void receiveCall () {
System.out.println("<<전화받기");
}
void sendSms (String message) {
System.out.println("[메시지전송]" + message);
} //void 값들은 단순히 실행만하면 됨
String receiveSms (String message) {
System.out.println("[메시지수신]" + message);
return message;
}
void view () {
System.out.println("모델명 : " + name);
System.out.println("타입 : " + type);
System.out.println("가로크기 : " + hsize);
System.out.println("세로크기 : " + vsize);
System.out.println("LCD유무 : " + hasLCD);
}
@Override
public String toString() {
return "Phone [name=" + name + ", type=" + type + ", hsize=" + hsize + ", vsize=" + vsize + ", hasLCD=" + hasLCD
+ "]";
}
}
public class PhoneMain {
public static void main(String[] args) {
Phone p1 = new Phone();
System.out.println("p1 : " + p1);
System.out.println("------");
p1.call();
p1.receiveCall();
p1.sendSms("안녕하세요~");
p1.receiveSms("반갑습니다~"); //리턴값 받았으나 버려짐
String receiveMsg = p1.receiveSms("hi~");
System.out.println("받은메시지 : " + receiveMsg);
System.out.println("------");
p1.view();
p1.hsize = 10;
p1.vsize = 20;
System.out.println("------");
p1.view();
System.out.println("=== p2 ===");
Phone p2 = new Phone("갤럭시22", "스마트폰");
System.out.println("p2 : " + p2);
p2.hsize = 12;
p2.vsize = 22;
p2.hasLCD = true;
p2.view();
System.out.println("=== p3 ===");
Phone p3 = new Phone("아이폰", "스마트폰", true);
System.out.println("p3 : " + p3);
p3.hsize = 30;
p3.vsize = 25;
p3.view();
}
package com.mystudy.array;
import java.util.Arrays;
public class ArrayEx1 {
public static void main(String[] args) {
// 배열(Array)
// 배열의 선언 : 자료형[] 변수명
// 변수에 값 저장 : 배열변수명[인덱스번호] = 값;
/* 배열의 선언 및 생성
1.자료형[] 변수명 = new 자료형[갯수];
자료형 변수명[] = new 자료형[갯수];
2.자료형[] 변수명 = new 자료형[] {값1, 값2, ..., 값n};
3.자료형[] 변수명 = {값1, 값2, ..., 값n}; //n개 저장공간 생성
****************************************************/
//1.자료형[] 변수명 = new 자료형[갯수];
int[] arr = new int[6];
System.out.println("arr : " + arr);
System.out.println("arr 데이터확인 : " + Arrays.toString(arr));
arr[0] = 100; //new int[5] -> 쓸수있는 인덱스값은 0~4
System.out.println("arr[0] : " + arr[0]); //0번 인덱스
arr[1] = 200; //두번째 데이터
arr[2] = 300;
arr[3] = 400;
arr[4] = 500;
arr[5] = 600;
//arr[6] = 600; //컴파일(문법체크)오류가 없지만 실행하게 된다면 java.lang.ArrayIndexOutOfBoundsException: 6 오류 발생
//System.out.println("arr[6] : " +arr[6]); //마찬가지로 오류 발생(6이상의 숫자부터), 인덱스의 범위를 초과
System.out.println("arr 데이터확인 : " + Arrays.toString(arr));
System.out.println("=== 배열데이터 화면 출력 ===");
for (int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] : " + arr[i]);
}
System.out.println("===============");
//배열 데이터 합 구하기
int sum = 0;
sum = arr[0] + arr[1] + arr[2] + arr[3] + arr[4] + arr[5]; //sum에 합한 값이 저장, 하나씩 쓰는것은 비효율적 -> 반복문 필요
System.out.println("sum : " + sum); //sum의 값 확인
System.out.println("---------------");
//반복문 사용하여 배열값 합계 구하기
sum = 0; //sum값 초기화
for (int i = 0; i < 6; i++) {
sum = sum + arr[i]; //sum += arr[index];
}
System.out.println("sum : " + sum);
System.out.println("===============");
//배열의 크기 값 확인(조회)
System.out.println("arr.length : " + arr.length);
for (int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] : " + arr[i]);
}
//======================================
System.out.println("---------------");
System.out.println("=== 배열 선언형태 2번 ===");
//2.자료형[] 변수명 = new 자료형[] {값1, 값2, ..., 값n};
int[] arr2 = new int[] {100, 101, 102, 103, 104};
System.out.println("arr2.length : " + arr2.length);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
System.out.println("=== 배열 선언형태 3번 ===");
//3.자료형[] 변수명 = {값1, 값2, ..., 값n}; //n개 저장공간 생성
int[] arr3 = {10, 11, 12, 13, 14};
System.out.println("arr3.length : " + arr3.length);
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
System.out.println("======================");
System.out.println("=== 영어 알파벳 출력(A~Z) ===");
char[] ch = new char[26]; //배열 선언 및 크기 지정
ch[0] = 'A' + 0;
ch[1] = 'A' + 1;
ch[2] = 'A' + 2;
ch[3] = 'A' + 3;
//배열에 값 저장
for (int i = 0; i < ch.length; i++) {
ch[i] = (char)('A' + i);
}
//배열 값 출력 확인
for (int i = 0; i < ch.length; i++) {
System.out.println(i + " : " + ch[i]);
}
System.out.println("======================");
}
}
public class ArrayEx2 {
public static void main(String[] args) {
// 1.배열 선언 int 값 10개를 저장할 수 있는 배열(nums) 만들기
// 2.1~10까지의 수를 배열에 저장(반복문 사용)
// 3.배열에 저장된 데이터 화면 출력
// 출력형태 : 변수명[인덱스번호] : 값
//-------------------------------
int nums[] = new int [10];
for (int i = 0; i < nums.length; i++) {
nums[i] = i + 1;
}
for (int i = 0; i < nums.length; i++) {
System.out.println("nums[" + i + "] : " + nums[i]);
}
System.out.println("============================");
// 1~10까지의 수 중에서 홀수합 구하기(배열값 사용)
// 배열에 저장된 값 중에서 홀수값만 더해서 합계 구하기
//-------------------------
int oddSum = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 != 0) {
oddSum += nums[i];
}
}
System.out.println("홀수합계 : " + oddSum);
System.out.println("============================");
// 배열에 저장된 1~10까지의 숫자 합게 구하기
// 짝수는 짝수끼리 합산(evenSum)
// 홀수는 홀수끼리 합산(oddSum)
// 결과 출력예)
// 짝수합계 : ??
// 홀수합계 : ??
//-------------------------
int evenSum = 0; //초기값 설정: 짝수
oddSum = 0; //초기값 설정: 홀수
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 != 0) {
oddSum += nums[i];
} else {
evenSum += nums[i];
}
}
System.out.println("짝수합계 : " + evenSum);
System.out.println("홀수합계 : " + oddSum);
}
}
짝수합계 : 30
홀수합계 : 25
//==========================
/*
*
**
***
****
*****
-----------------*/
char[] ch = {'*', '*', '*', '*', '*'};
for (int i = 0; i < ch.length; i++) {
for (int k = 0; k <= i; k++) {
System.out.print(ch[k]);
}
System.out.println();
}
System.out.println("------------");
char[] ch2 = {'!', '@', '#', '$', '%'};
for (int line = 0; line <= 5; line++) {
for (int i = 0; i < line; i++) {
System.out.print(ch2[i]);
}
System.out.println();
}
*
**
***
****
*****
------------
!
!@
!@#
!@#$
!@#$%
머리아프다....