https://velog.io/@si9138/%EB%B0%98%EB%B3%B5%EB%AC%B8
public static void main(String[] args) {
//1~10까지의 합 구하기
double sum = 0;
long i = 0; //전역변수와 지역변수의 차이 이해하기
System.out.println("계산시작.....");
for( i=1; i<=10; i++) {
sum +=i;
}System.out.println("==============");
System.out.println("sum : "+sum+", i: "+i);
//i를 for문 안에서 지역변수로만 선언하면 해당 블럭 안에서만 사용 가능하고
//main메소드 안에서전역 변수로 선언하면 모든 블럭에서 사용 가능하다
System.out.println("총합 : "+sum);
}
}
public static void main(String[] args) {
//1~10까지의 합 구하기
int i = 1;
int sum =0;
while(i<=10) {
sum +=i; //sum= sum+i;
System.out.println("sum :"+sum);
i++; //i=i+1;
System.out.println("i :"+i);
}
System.out.println("sum = "+sum);
}
}
while 반복문과는 다르게 do while문은 앞에 문장이 있고 while문 옆에 조건문이 있다.
public static void main(String[] args) {
int a = 1;
do {
System.out.println("Hello java!");
a++;
}while(a<=5); //조건식 뒤에 ;이 빠지면 안됨
}
}
public static void main(String[] args) {
int i = 1;
int sum = 0;
while(true) { //무한루프를 돌리겠다는 의미
sum +=i;
if(i>=10)break; //조건식에 true가 들어가 있을 때에는 반드시 탈출 명령어가 있어야 한다.
i++;
}
System.out.println("sum : "+sum);
}
}
- 반드시 루프 안에서만 사용
- 루프 안에서 다음 반복 단계로 진행하라는 의미
public static void main(String[] args) {
//1~10까지의 홀수의 합을 구하기
int sum = 0;
for(int i = 1; i<=10; i++) {
if(i%2 == 0) continue; //이 조건이 맞으면 그 다음줄은 건너 뛰겠다.
sum +=i;
System.out.println("sum : "+sum+", i : "+i);
}
System.out.println("sum : "+sum);
}
}
public static void main(String[] args) {
//구구단
for(int a=2; a<=9; a++) {
for(int b=1; b<=9; b++) {
System.out.printf("%d*%d=%d " ,a,b,a*b);
}
System.out.println(); //줄넘김
}
System.out.println("==============");
//세로 구구단
for(int b=1; b<=9; b++) {
for(int a=2; a<=9; a++) {
System.out.printf("%d*%d=%2d " ,a,b,a*b);
}
System.out.println(); //줄넘김
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//선언
int num = 0;
int count = 0;
//입력
System.out.println("숫자 입력 : ");
num = sc.nextInt();
//연산
for(int i=1; i<=100; i++) {
if(i%num==0) {
System.out.println(i+" ");
count++; //count+=1;
}
}
//출력
System.out.println("\n1~100사이의 "+num+"의 배수의 개수는 "+count+"개이다.");
}
}
for문 예제
public static void main(String[] args) {
// 선언
int sum = 0;
// 연산,출력
for (int i = 1; i <= 100; i++) {
sum += i;
if (i % 10 == 0) {// 조건
//System.out.println("sum: " + sum + ", i: " + i);
//System.out.println(i-9+"~"+i+"="+sum);
System.out.printf("%2d ~ %3d = %3d\n",i-9,i,sum);
sum = 0; // sum 초기화
}
}
}
}
while문 예제
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//사용자가 입력할 숫자를 담을 변수 선언
int key = 0;
while(true) {
System.out.println("*****************");
System.out.println("1.입력\n2.검색\n3.삭제\n4.종료");
System.out.println("*****************");
System.out.println("번호를 입력해주세요: ");
key = sc.nextInt();
if(key==4) break; //프로그램 종료
switch(key) {
case 1:System.out.println("\n입력을 선택하였습니다.\n");break;
case 2:System.out.println("\n검색을 선택하였습니다.\n");break;
case 3:System.out.println("\n삭제을 선택하였습니다.\n");break;
// case 4:System.out.println("\n프로그램을 종료합니다.\n");System.exit(0);
}//System.exit(0) 이건 종료한다는 뜻
}
System.out.println("프로그램을 종료합니다.");
}
}
for반복문 사용
public static void main(String[] args) {
for(int i = 1; i <= 4; i++) { //층수
for(int j = 0; j < i; j++) { //별의 개수
System.out.print("*");
}
System.out.println("");
}
}
}
import java.util.Scanner;
public class prac05 {
public static void main(String[] args) {
//원하는 구구단 입력받아 출력하기
Scanner sc = new Scanner(System.in);
int num = 0;
char ch = 0;
do {
System.out.println("몇 단을 출력할지 입력하세요: ");
num = sc.nextInt();
for(int i = 1; i<=9; i++) {
System.out.printf("%2d*%d = %2d\n",num,i,num*i);
}
System.out.println("계속할지 선택하세요 (y || Y : 계속)");
ch= sc.next().charAt(0);
if(!(ch == 'y' || ch == 'Y')) {
System.out.println("종료합니다.");
break;
}
}while(true);
}
}
다시 한번 보기.
1.while문, for문, do while문
2.
package siseonmi2;
public class prac07 {
public static void main(String[] args) {
//확인문제 ex02
int sum = 0;
for(int i = 1; i<=100; i++) {
if(i%3 == 0) sum+=i;
}
System.out.println("1~100까지의 정수 중에 3의 배수의 총합: " +sum);
}
}
public static void main(String[] args) {
//확인문제 ex03 , 0~1까지의 실수가 랜덤으로 생성되는 함수
while(true) {
int num1 = (int)(Math.random()*6+1);
int num2 = (int)(Math.random()*6+1);
System.out.println(num1 + ","+num2);
if(num1+num2==5) break;
}
}
}
public static void main(String[] args) {
//확인문제 ex04
for(int x=1; x<=10; x++) {
for(int y=1; y<=10; y++) {
if(4*x+5*y==60) {
System.out.println(x+","+y);
}
}
}
}
}
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) { //층수
for (int j = 1; j <= 5-i; j++) {// 트리 옆에 공백문자출력
System.out.println("");
}
for (int j=1; j<=(2*i-i); j++) {//*별문자 출력
System.out.println("*");
}
System.out.println(); //줄바꿈
}
}
}
package siseonmi2;
import java.util.Scanner;
public class prac09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//선언
int select = 0; //번호 저장
int balance = 0; //잔고 저장(마이너스통장이라고 가정)
int withdrawal = 0; //출금액 저장
int deposit = 0; //입금액 저장
//입력, 연산, 출력
while(true) {
//입력
System.out.println("1.예금 2.출금 3.잔고 4.종료");
System.out.print("번호 선택:");
select = sc.nextInt();
if(select == 4) {
System.out.println("프로그램을 종료합니다.");
break;
}
switch(select) {
case 1:
System.out.println("예금액 : ");
deposit = sc.nextInt();
balance +=deposit;
break;
case 2:
System.out.println("출금액 : ");
withdrawal = sc.nextInt();
balance -= withdrawal;
break;
case 3:
System.out.println("잔고액 : "+balance);
break;
}
}
}
}