프로그래밍/java

JAVA 프로그래밍 46일차 (25/1/15)

wkun 2025. 1. 15. 17:49

contents

 

<출력문>: print(), println(), printf()

 

자바개념정리

 

chapter04

제어문

2.반복문

while문

do~while문

break문, continue문

chapter05

배열

chapter06

클래스

 

-----------------------------------------------------

 

 

<출력문>: print(), println(), printf()

package ch05;


public class Print {


public static void main(String[] args) {
//줄바꿈x
System.out.print("안녕");
System.out.print("하세요");
//\n = ln 줄바꿈
System.out.println("");
System.out.println("안녕");
System.out.println("하세요");
// 변수의 특정 형태(포멧) %d:정수, %f:실수, %s:문자열
int a = 10;
float b = 5.3f;
System.out.printf("%d안녕하세요%f\n", a, b);
System.out.println(a+"안녕하세요"+b); //숫자+문자 -> 문자열


}


}

 

실행 결과

안녕하세요
안녕
하세요
10안녕하세요5.300000
10안녕하세요5.3

 

 

자바개념정리

 

chapter04

 

제어문

2.반복문

개념   응답    
반복문 while문 특정 조건에 대해서 반복하고 싶을 때
조건만족: ~할 때까지(false)

=> 제일 나중에 쌈 
while(조건식) {
  내용
}

ex)자동응답전화
ex)돈내고 먹어야함

cf) while문 안에 쓸 때: 변수 생성 반복 주의!
  do~while문 일단 한번은 문장들을 수행하고 
그 다음에 조건식을 검사해서 반복을 결정함 
do {
내용
} while(조건식);
ex)먹어보고 삼

while
continue
break
->코드 다 작성하고 마지막에 쌈
  continue문 반복문을 벗어나서 다음 코드 수행(중괄호 빠져 나옴) 입력한 내용이 잘못 됐을때 사용(다시 반복)  
  break문 현재의 반복을 벗어나서 다시 반복을 시작(처음으로 되돌아감)   //재료 준비
->변수 입력
//재료 손질
연산자-> 산술연산(주로)
//제어
조건 or 반복(비교연산)
if             for
switch     while
//결과 -> 출력

 

<while문>

package ch05;


public class exam22 {


public static void main(String[] args) {


int count = 0;
int answer = 1; // 1:Yes 0: No


while (true) { // while(answer==1)
count++; // 카운트 변수의 값이 실행될때마다 1씩 증가
System.out.println(count + "번 동작하였습니다");
if (count > 100) {
break;
// answer = 0;
}
}


while (count > 100) { // while(answer==1)
count++; // 카운트 변수의 값이 실행될때마다 1씩 증가
System.out.println(count + "번 동작하였습니다");


}
}


}

 

<do~while문>

package ch05;


public class exam22_1 {


public static void main(String[] args) {


int answer = 0;


while (true) {
System.out.println("안녕하세요 ooo 프로그램입니다");
System.out.println("저희 프로그램을 동작하기위해서 아래의 선택하세요");
System.out.println("1.광고 2.프로모션 3.등록");
if (answer == 0) {
break;
}
// do {
//
// }
// while(a>10);


for (int i = 0; i < 10; i++); { // 한번 실행하고 끝
System.out.println("뮷");


}
}


}
}

<break문, continue문>

package ch05;


import java.util.Scanner;


public class exam25 {


public static void main(String[] args) {


//while 반복문
int money = 10000;
System.out.println("현재 가진 돈은 10000원입니다."); //한 번만
Scanner sc = new Scanner(System.in);
while (true) { //반복
// int money = 10000; //변수 계속 만듬(변수 생성 반복)
System.out.println("얼마를 사용하시겠습니까?");
int i = sc.nextInt();// 정수를 입력받음
money = money - i;
System.out.printf("이제 %d원이 남았습니다. \n", money);
if(money<=0) {
break;
}
}
System.out.println("모든 돈을 사용합니다. 종료");
}


}

 

package ch05;


public class exam24 {


public static void main(String[] args) {
//continue문

int count = 0;
while(true) { //무한반복
count++;
System.out.println("청소하기"); //안녕 x //안녕 하이
if(비온다) { //if(a>10)
continue;
}
System.out.println("테이블 청소"); //continue 실행x -> 처음으로 되돌아감
System.out.println("고기 굽기");
}



}


}

 

chapter05

 

배열

개념 응답      
배열 변수를 하나의 묶음으로 관리 //case1
타입 [ ] 배열이름; (= 타입 배열이름 [ ];)
배열이름 = new 타입[길이];
//case2
타입 [ ] 배열이름 = new 타입[길이];

 cf) 타입[ ] 배열이름 = {요소1, 요소2, 요소3, 요소4};
case1:
선언, 
생성
case2:
선언과 생성을 동시에

for문 사용

길이확인: 배열이름.length

cf) a.length; : '.'은 ~안에


int (float) 강제형변환

=> 둘 중 하나 실수면 실수로 나옴

주의)
변수는 값을 덮어쓴다.
변수를 만들지 않으면 재사용할 수 없다.
(=) 대입 사용
다차원
배열
2차원 이상의 배열 타입 [x] [y] 배열이름 = new 타입 [x] [y]; (가로, 세로) *이중 for문

for(int i = 2; i<10; i++){
   for(int j = 1; j<10; j++){
  }
}
ex)구구단, 국가-공항
ex)
int [ ] [ ] a = new int [3] [4];
for(int i = 0; i < a.length; i++){
   for(int j = 0; j < a[i].length; j++){
  }
}

첫번째 차원[]: 행의 수
두번째 차원[]: a의 i번째 행 ->해당 행의 열의 수
foreach문 배열만 쓸 수 있는 for문

루프를 돌 때마다 자동으로 배열의 요소를 하나씩 처리함
for(배열의 타입 변수이름: 배열이름){
  내용
}
ex) String[ ] a = {"Java", "Hello"};
for(String i : a) {
 System.out.println(i);
}
주의)
변수는 값을 덮어쓴다.
변수를 만들지 않으면 재사용할 수 없다.
(=) 대입 사용

 

<배열 사용 방법>

package ch05;


public class Array {


public static void main(String[] args) {
//배열
String v = "안녕";
String vv = new String("안녕");
int s;
// int s = new int(); //변수 생성할 때 너무 김 -> 생략함
//케이스 1
int student1;
student1 = 10;
//케이스2
int student2 = 20;

//선언만 하고(데이터 없음) 빈칸 3개를 만든다: 0부터 시작
//케이스 1
int[] 두산1단지 = new int[3];
student[0] = 10; //1층 index 주소
student[1] = 20;
student[2] = 30;
//케이스 2
int[] student3 = {10,20,30}; //{}배열의 내용 값 0, 1, 2


}


}

 

<배열 생성>

package ch05;


import java.util.Scanner;


public class Array2 {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("길이를 입력해주세요");
int len = sc.nextInt();
int[] test = new int[len];


//정수, 실수, 논리, 문자, 문자열
//배열생성
int[] a = new int[2];
float[] b = new float[2];
boolean[] c = new boolean[2];
char[] d = new char[2];
String[] e = new String[2];
//배열의 변수에 값을 대입하기
a[0] = 10; a[1] = 20;
for(int i = 0; i<a.length; i++) { //a.length 변수임
a[i] = (i+1)*10;
}
b[0] = 3.1f; b[1] = 4.4f;
c[0] = true; c[1] = false;
d[0] = 'A'; d[1] = 'B';
e[0] = "안녕"; e[1] = "하세요";
// int[] v = {10,20,30};
//출력 index 0부터 시작
//배열의 갯수(길이)를 구하는 함수
System.out.println(a.length);
for(int i = 0; i<a.length; i++) { //a.length 변수임
System.out.println(a[i]);
}

}


}

 

<배열 평균 구하기>

package ch05;


public class Array3 {


public static void main(String[] args) {
// 시험점수의 평균 구하기
int[] student = { 100, 95, 90, 88, 93 };
int sum = 0;
for (int i = 0; i < student.length; i++) {
sum += student[i];
}


System.out.println("시험 점수의 평균: " + (float) (sum / student.length)); //순서대로 실행 () int -> float 93.0
//둘 중 하나 실수면 실수로 나옴 (정수/실수 강제형변환)


}


}

 

실행 결과

시험 점수의 평균: 93.0

 

<다차원 배열>

package ch05;


public class test {


public static void main(String[] args) {
int [ ][ ] a = new int [3] [4];
for(int i = 0; i < a.length; i++){
for(int j = 0; j < a[i].length; j++){
System.out.println(i +""+ j);
}
}


}


}

 

실행 결과

00
01
02
03
10
11
12
13
20
21
22
23

 

chapter06

 

클래스

개념 응답    
클래스
(객체를 만들기 위한) 설계도

클래스에는 객체의 속성(변수)과 기능(함수)들이 만들어져 있고 new명령어를 통해 객체 생성
class 클래스명{
//변수, 함수
}
new 메모리에 만들고 주소를 줌 -> 저장x -> 사용못함

(검은색) 참조변수: 주소만 담김
String, Object ex)@~주소
객체 Obect 완제품    
인스턴스화 new: 클래스를 통해 객체를 만드는 과정
변수 -> 데이터저장상자 -> 재사용하기 위해서 -> 데이터타입보면 변수에 담긴 값 알 수 있다.
ex) int 정수, float .실수, 검은색 주소
생성:
클래스명 변수명 = new 클래스명( );

 

<class obj>

package ch06;


public class obj {
int a = 10;
public void call() {
System.out.println("부르셨습니까?");
}


}

 

<class object_test>

package ch06;


public class object_test {


public static void main(String[] args) {
// Object test = new obj();
obj test = new obj();
System.out.println(test);
System.out.println(test.a); // . ~안에
new ().용돈주기(); //한 번만 쓰고 사라짐 -> 그 줄에서만(가비지 컬렉션)
큰형 = new (); //재사용 가능: 변수 담음
큰형.용돈주기();

}


}

 

*가비지 컬렉션(Garbage Collection): 사용안하는 데이터 자동으로 버림

 

실행 결과

ch06.obj@28a418fc
10