package kr.or.ksmart;
class MemberDto{
private String userName;
private String userAge;
private String userEmail;
private String userTel;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserTel() {
return userTel;
}
public void setUserTel(String userTel) {
this.userTel = userTel;
}
}
class MemberService{
public int memberJoinPorcess(MemberDto memberDto) {
MemberDao mDao = new MemberDao();
return mDao.memberJoinPorcess(memberDto);
}
}
class MemberDao{
public int memberJoinPorcess(MemberDto memberDto) {
System.out.println(memberDto.getUserName());
System.out.println(memberDto.getUserAge());
System.out.println(memberDto.getUserEmail());
System.out.println(memberDto.getUserTel());
return 1;
}
}
public class JavaBasicEx07 {
public static void main(String[] args) {
/*
* 실습8. 회원가입을 한다는 가정하에. 다음의 클래스를 생성하고
* 각각 controller > service > dao 순으로 객체 전달하도록 하여라.
* 가정
* controller > main 메서드
* service > MemberService 클래스 생성 > db에 등록이 완료되었을 경우 리턴값 1
* dao > MemberDao 클래스 생성 > db에 등록이 완료되었을 경우 리턴값 1
* dto > MemberDto 클래스 생성
*
* 콘트롤러에 넘어온 파라미터
* userName : '홍길동', userAge : 20 , userEmail : 'user@nave.com',
* userTel : '010-0000-0000'
* */
String userName = "홍길동";
String userAge = "20";
String userEmail = "user@nave.com";
String userTel = "010-0000-0000";
//서비스단 호출하여 결과값을 출력하여라.
//1. dto 객체 생성 > 서비스 호출 > dao 호출 > 결과값 리턴
MemberDto mdto = new MemberDto();
mdto.setUserName(userName);
mdto.setUserAge(userAge);
mdto.setUserEmail(userEmail);
mdto.setUserTel(userTel);
MemberService mService = new MemberService();
int result = mService.memberJoinPorcess(mdto);
System.out.println("db 등록 결과값 : " + result);
}
}
Casting
package kr.or.ksmart;
public class JavaBasic01 {
public static void main(String[] args) {
/*
* 형변환 (케스팅)
* 다른 자료형(데이타형)으로 변환할때
*/
int inum = 160;
double dnum = inum; //명시적으로 형변환
System.out.println(inum + " -- " + dnum);
//큰 데이타 형에서 작은형 데이타로 변환시 케스팅 연산자를 활용해야하며
//변환될 데이타형의 크기를 넘어서는 안된다.
int inum2 = (int) dnum; //케스팅연산자를 활용하여 형변환
System.out.println(dnum + " -- " + inum2);
/*
* 다른 데이타형끼리 연산하기
* - 다른 데이타 형끼리 연산시 큰형으로 변환 후 연산이 된다.
* */
int inum3 = 10;
double dnum2 = 5.2;
System.out.println("다른형끼리 연산 ->" + inum3 + dnum2);
//연산을 할 경우 연산자 우선 순위를 기억하여 코드 작성
System.out.println("다른형끼리 연산 ->" + (inum3 * dnum2));
}
}
package kr.or.ksmart;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class JavaBasicEx01 {
public static void main(String[] args) throws IOException {
/*
* 실습1. 키보드(표준입력장치)로 다섯과목의 점수를 받아
* 합계와 평균을 구하시오.
* 50,68,75,83,36
* */
//System.in -> 표준입력장치(키보드)
InputStreamReader reder = new InputStreamReader(System.in);
//키보드 입력을 임시적으로 저장할 공간 선언
BufferedReader br = new BufferedReader(reder);
System.out.println("과목 1~5의 점수를 정수로 입력하십시오.");
double sum = 0;
for(int i=0; i < 5; i++) {
String line = br.readLine();
if(line != null && !"".equals(line.trim())) {
sum += Double.parseDouble(line);
}
}
int sum2 = (int) sum;
//double을 int로 케스팅한 결과
System.out.println("점수 합산 : " + sum2);
//double과 int 연산임으로 결과값은 double
System.out.println("점수 평균 : " + (sum / 5));
}
}
Array
package kr.or.ksmart;
public class JavaBasic02 {
public static void main(String[] args) {
/*
* 배열
* 메모리 공간에 여러개의 값을 저장하는 객체
* 배열선언방법
*
* 기본형
* 데이타형[] 변수명 = new 데이타형[배열크기];
* 데이타형[] 변수명 = new 데이타형[]{"데이타"};
* */
//데이타형은 객체(클래스)로 선언가능하다.
int[] numArray = new int[5];
String[] strArray = new String[5];
//배열에 값 대입하기
//배열의 요소를 인덱스로 접근하여 값을 대입한다.
//배열의 크기를 넘어서는 인덱스로 접근하여 값을 대입할 수 없다.
numArray[0] = 1;
numArray[1] = 2;
numArray[2] = 3;
numArray[3] = 4;
numArray[4] = 5;
//에러 강제 발생
//numArray[5] = 6;
for(int i=0; i < numArray.length; i++) {
System.out.println(numArray[i] + " --> 인덱스" + i);
}
}
}
package kr.or.ksmart;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class JavaBasicEx02 {
public static void main(String[] args) throws IOException {
/*
* 실습1. 키보드(표준입력장치)로 다섯과목의 점수를 받아
* 합계와 평균을 구하시오.(아래의 구문 다 출력 / 배열활용)
*
* 학생의 점수를 받아 평균값과 합산값을 출력시키시오.
* 50
* 68
* 75
* 83
* 36
* 학생점수의 합산값 :
* 학생점수의 평균값 :
* */
//System.in -> 표준입력장치(키보드)
InputStreamReader reder = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reder);
System.out.println("학생의 점수를 받아 평균값과 합산값을 출력시키시오.");
double[] numArray = new double[5];
for(int i=0; i < numArray.length; i++) {
String line = br.readLine();
if(line != null && !"".equals(line.trim())) {
numArray[i] = Double.parseDouble(line);
}
}
double sum = 0;
for(int i=0; i < numArray.length; i++) {
sum += numArray[i];
}
int num = (int) sum;
System.out.println("학생점수의 합산값 : "+ num);
System.out.println("학생점수의 평균값 : "+ (sum / numArray.length));
}
}
package kr.or.ksmart;
public class JavaBasicEx03 {
public static void main(String[] args) {
/*
* 실습3. 아래의 배열이 있다. 배열의 값 중 최댓값과 최소값을 구하여 출력하여라.
* */
int[] numArray = new int[] {25,5,10,37,35};
int min = numArray[0];
int max = numArray[0];
for(int i=0; i < numArray.length; i++) {
if(min > numArray[i]) {
min = numArray[i];
}
if(max < numArray[i]) {
max = numArray[i];
}
}
System.out.println("최소값 : " + min);
System.out.println("최댓값 : " + max);
}
}
Class Basic
package kr.or.ksmart;
/*
* 클래스 선언하기
* - 클래스키워드와 함께 클래스명을 지정
* - 접근지정자 지정
* - 필드와 메서드를 같는다.
*
* 1.접근지정자
* - public : 전 패키지내에 접근가능
* - protected : 해당 패키지 내에서 접근가능
* - private : 해당 클래스에서 접근가능
* - default : 접근 지정자가 명시 안되어 있는 클래스나 메서드를 말하며, protected와 동일
* */
public class JavaBasic03 {
//필드는 접근지정자와 데이타형 변수명으로 변수를 선언가능
//접근지정자 데이타형 변수명;
//필드는 주로 private으로 선언하여 캡슐화를 한다.
//캡슐화 : 데이타 은닉
private String name;
public void test() {
//메서드는 접근지정자, 리턴타입, 메서드명으로 이루어진다.
//매개변수를 받거나 생략할수 있다.
//명시된 리턴타입에 맞춰 해당 데이타형을 리턴해줘야한다.
//메서드 내에서 this키워드로 활용하여 자신의 클래스에 해당되는
//필드 혹은 메서드 접근이 가능하다.
this.name = "홍길동";
}
public static void main(String[] args) {
JavaBasic03 javabasic = new JavaBasic03();
javabasic.test();
}
}
package kr.or.ksmart;
class Member{
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class JavaBasicEx04 {
public static void main(String[] args) {
String[][] memberInfo = new String[][] {
{"홍길동","20"},
{"이순신","21"},
{"고길동","25"}
};
//다차원배열 값 접근하기
//System.out.println(memberInfo[0][0]);
Member[] memberInfoArray = new Member[memberInfo.length];
/*
* 실습4. 위의 회원의 정보가 담긴 다차원 배열이 있다.
* memberInfoArray의 객체(Member) 배열에 회원정보를 담아라.
* 순서 : memberInfo 반복문 > Member 인스턴스화 > memberInfoArray에 담기
*/
for(int i=0; i < memberInfo.length; i++) {
String[] member = memberInfo[i];
String name = member[0];
String age = member[1];
System.out.println(name + " -- " + age);
Member memberClass = new Member();
memberClass.setName(name);
memberClass.setAge(age);
memberInfoArray[i] = memberClass;
}
for(int i=0; i < memberInfoArray.length; i++) {
Member memberClass = memberInfoArray[i];
System.out.println("memberInfoArray > " + memberClass.getName());
System.out.println("memberInfoArray > " + memberClass.getAge());
}
}
}
package kr.or.ksmart;
import java.util.ArrayList;
import java.util.List;
class Score{
private int avg;
private int totalScore;
public int getAvg() {
return avg;
}
public void setAvg(int avg) {
this.avg = avg;
}
public int getTotalScore() {
return totalScore;
}
public void setTotalScore(int totalScore) {
this.totalScore = totalScore;
}
}
class MemberScore{
private Score score;
public void setScoreList(List<Integer> scoreList) {
if(scoreList != null) {
this.score = new Score();
int totalScore = 0;
int avg = 0;
for(int i=0; i < scoreList.size(); i++) {
totalScore += scoreList.get(i);
}
if(totalScore != 0) {
avg = totalScore / scoreList.size();
}
score.setAvg(avg);
score.setTotalScore(totalScore);
}
}
public Score getScore() {
return score;
}
}
public class JavaBasic05 {
public static void main(String[] args) {
List<Integer> scoreList = new ArrayList<Integer>();
scoreList.add(10);
scoreList.add(20);
scoreList.add(30);
MemberScore ms = new MemberScore();
ms.setScoreList(scoreList);
Score score = ms.getScore();
System.out.println(score.getAvg() + " << Avg");
System.out.println(score.getTotalScore() + " << TotalScore");
}
}
package kr.or.ksmart;
import java.util.ArrayList;
import java.util.List;
class MemberInfo{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class JavaBasicEx05 {
public static void main(String[] args) {
/*
* 실습5. 아래의 회원 정보가 있다.
* 회원정보를 MemberInfo 객체에 담고 memberInfoList에
* 저장한 후 결과값을 출력하여라.
* 회원정보 : 홍길동, 고길동, 이순신
* */
List<MemberInfo> memberInfoList = new ArrayList<MemberInfo>();
MemberInfo memberInfo = null;
memberInfo = new MemberInfo();
memberInfo.setName("홍길동");
memberInfoList.add(memberInfo);
memberInfo = new MemberInfo();
memberInfo.setName("고길동");
memberInfoList.add(memberInfo);
memberInfo = new MemberInfo();
memberInfo.setName("이순신");
memberInfoList.add(memberInfo);
for(int i=0; i < memberInfoList.size(); i++) {
MemberInfo m = memberInfoList.get(i);
System.out.println(m.getName());
}
}
}
package kr.or.ksmart;
import java.util.ArrayList;
import java.util.List;
class ACalculator{
private int sum;
public int sum(int n1, int n2) {
this.sum = n1 + n2;
return sum;
}
public int getSum() {
return sum;
}
}
public class JavaBasicEx06 {
public static void main(String[] args) {
/*
* 실습6. ACalculator 클래스를 생성하고 계산을 할 수있는 메서드를
* 만들어 계산을 하고 그 결과값을 반환하시오.
* 연산 10 + 20
* */
ACalculator cal = new ACalculator();
System.out.println(cal.sum(10, 20));
/*
* 실습7. ACalculator 클래스를 생성하고 계산을 할 수있는 메서드를
* 만들고 아래의 연산을 처리 후에 처리한 내용을 list 객체에 담아라
* 연산 10 + 20, 20 + 50, 30 + 40
* */
List<ACalculator> list = new ArrayList<ACalculator>();
ACalculator cal2 = null;
cal2 = new ACalculator();
cal2.sum(10, 20);
list.add(cal2);
cal2 = new ACalculator();
cal2.sum(20, 50);
list.add(cal2);
cal2 = new ACalculator();
cal2.sum(30, 40);
list.add(cal2);
for(int i=0; i < list.size(); i++) {
ACalculator acal = list.get(i);
System.out.println(acal.getSum());
}
}
}
'JAVA' 카테고리의 다른 글
[Java Basic] garbage collection / 상속 / 다형성 / 객체지향 4대조건 / 업캐스팅 / 다운캐스팅 (0) | 2020.04.22 |
---|---|
[Java Basic] 생성자 / 오버로딩 (0) | 2020.04.22 |
[Java Basic] compile / 이스케이프 시퀀스 / 기본 data type (0) | 2020.04.14 |
[Java] JAVA Object data type (0) | 2020.03.13 |