TIL/JAVA

[JAVA] 20230224 JAVA 조건문, 반복문, 객체생성, 메소드 만들기

yeoney 2023. 2. 24. 17:18
반응형
조건문

 

1. if -else문

Q. 문자열 a가 남성이 담겨있고 a가 남성이면 남성입니다. 아니면 여성입니다.를 출력하시오

String a="남성";
// String의 특이한 사용법 - 객체에 변수를 담는 것이 아니라 변수의 주소값을 담는다.
		
if (a.equals("남성")) {		//문자열(글자)를 비교하려면 .equals()메소드를 사용하고
	System.out.println("남성입니다.");	//글자를 담고있는 string클래스의 객체주소값을
}else {												//비교하려면 == 를 사용한다.	
	System.out.println("여성입니다.");
}

hint ) 

문자열(글자)를 비교하려면 .equals() 메소드를 사용하고
글자를 담고있는 string 클래스의 객체주소 값을 비교하려면 == 를 사용한다.

 

2. switch문

Q. 월화수목금은 근무일이고 토일은 휴일입니다. 를 switch문을 활용해서 출력하시오

char day = '일';
	
switch(day) {
	case '월' : case '화' : case '수' : case '목' : case '금' : 
		System.out.println("근무일");
	break;
	case '토': case '일': 
		System.out.println("휴일");
	break;
}

 

 

 

반복문

1. for(초기식; 조건식; 증감식){ }


Q. 1에서 100까지의 합을  for 문을 활용해서 합을 출력하시오

package javaStudy;

public class ForTest {

	public static void main(String[] args) {

        int i;
        int sum;
        for(i = 1, sum = 0; i<=100; i++) {
            sum += i;
        }
        System.out.println("총합은? "+ sum);	
        }

}

2. while(조건식)

package javaStudy;

public class ForTest {

	public static void main(String[] args) {
		int i = 1;
		int sum = 0;
		while(i <= 100) {
			sum = sum + i ;
			i ++;
		}		
	}
}

3. do{ 증감식 }while(조건식) 

package javaStudy;

public class ForTest {
	public static void main(String[] args) {	
		int i = 1;
		int sum = 0;
		do {
			sum = sum + i;
			i ++;
		}while(i<=100);	//초기식이 조건식에 부합하지 않아도 초기식만은 실행된다. 
		System.out.println("총합은? "+sum);	
	}
}

 

 

 

Q.조건문과 반복문을 활용해서 1에서 100까지의 숫자중에 홀수들의 합을 출력하시오.

package javaStudy;

public class ForTest {

	public static void main(String[] args) {		
		int sum= 0;
		for (int i = 1; i <=100; i ++) {
			if (i%2==1) {
				sum += i;
			}
		} 
		System.out.println("홀수들의 총합은? " +sum);
	}

}

 

 

 

Q. 구구단 프로그램 중 2단 4단 6단 8단만 출력하시오

for(int i = 1; i<10; i++ ) {
    if (i% 2==0) {
        for (int j =1; j <10; j++) {
            System.out.println(i +"*"+j+"="+i*j);
        }
    }
}

> continue; 를 이용한 또 다른 풀이

for(int i = 1; i<10; i++ ) {
    if (i% 2==1) {
        continue; 
    }
        for (int j =1; j <10; j++) {
            System.out.println(i +"*"+j+"="+i*j);
        }
}

 

Q. 그 유명한 별 찍기?

> 내 풀이 (틀림)

for (int i =1 ; i<5; i ++) {
	System.out.println();
    for(int j =1 ; j<10; j++) {
	    if (j%2 == 1) {
   	     System.out.println(" ");
   	     System.out.println("*");
   		 }
    }
}

> 올바른 풀이

for(int i=0;i<4;i++){
	for(int j=0;j<3-i;j++){
		System.out.print(" "); 
	}
	for(int j=0;j<2*i+1;j++){
		System.out.print("*"); 
	}
	System.out.println("");
}

 

 

예 1 )

package javaStudy;

public class TestClass1 {	
	int a=1;	//숫자형 변수 a에 1을 담는다
}
package javaStudy;

public class TestMain {

	public static void main(String[] args) {
		
		TestClass1 tc = new TestClass1();	//객체생성
		System.out.println("객체의 메모리 주소값은"+tc);
		System.out.println("객체 안에 들어있는 변수 a값은? "+ tc.a);
	
	}

}

main 실행파일에 클래스 프로그램 객체를 생성해서 변수값을 얻을 수 있다.

 

예 2 ) 홍길순 학생을 객체생성 시키고 그 정보를 출력하시오

package javaStudy;

public class Student {

	//멤버변수 객체변수 인스턴스변수 전역변수
	String name = "홍길순";
	int Age = 15;
	int height = 175;
	String  addr = "전주";
	private char gender = '여';	//private: 내부에서만
	
	public char getGender(){	//public 메소드를 지정해준다.
		return	gender; 	
	}

}

 

//객체생성
//형식
// //데이터 타입 (참조)변수 = new 연산자 생성자메소드();

package javaStudy;

public class TestMain {

	public static void main(String[] args) {

    	Student s = new Student();
		String stName = s.name;
		System.out.println("객체의 메모리 주소 값은"+s);
		System.out.println("객체 안에 들어있는 변수 a값은?" + stName);
		System.out.println(s.Age);
		System.out.println(s.height);
		System.out.println(s.getGender());	
       	//private 한 변수의 값을 public메소드를 통해 알아낼 수 있다.
	}

}

http://www.tcpschool.com/java/java_modifier_accessModifier

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

접근 제거자에 대하여..

자주 쓰는 두개의 접근 제거자

1. PRIVATE

2. PUBLIC


 

 

예 3 ) 멤버 메소드 - 더하기 메소드

package javaStudy;

	public class Student {
	//메소드 만들기 설계
	//더하기 메소드
		public int add(int a, int b) {
			int c = a+b;
			return c;
	}

	
}
package javaStudy;

public class TestMain {

	public static void main(String[] args) {

		Student s = new Student();	//객체 생성
		int value = s.add(1004, 1005);
		System.out.println("합은? "+ value );
	}

}

 

예 4) 곱하기 메소드

Q. 245 *345의 곱을 구하는 메소드를 작성해보세요

package javaStudy;

public class Student {
	public int times(int x,int y) {
		int z =x*y;
		return z;
	}
}
package javaStudy;

public class TestMain {

	public static void main(String[] args) {
		
		Student s = new Student();
		
		int value= s.times(245, 348);
		System.out.println("245 곱하기 348은? " + value);
	}

}

 

 

문제 ~~~ ) 1에서 100까지의 합을 구하는 class 프로그램을 작성하시오.

package javaStudy;

public class Plus {
	public int result(int a, int b) {
		int sum = 0;
		for(int i=a; i <=b; i++) {
			sum +=i;
		}
		return sum;
	}
	
}
package javaStudy;

public class TestMain {

	public static void main(String[] args) {
		Plus p = new Plus();
		int value= p.result(1,100);
		System.out.println("1에서 100까지의 합은?" + value);	
	}
}

 

반응형