티스토리 뷰

정리 노트

제어문

eyoadgkn 2023. 10. 11. 17:20

1.조건문

 1)if문 : 가장 기본적인 조건문과 조건식 부분,실행부분으로 나누어져 있다.

 

if(조건식){ //실행부분}

 ->조건식의 결과가 참 또는 거짓으로 구분될 수 있는 문장이고,실행부분은 그의 결과에 따라 참이면 실행이 되는 문장이다.

 

int a =5;

if(a>3)//if(조건문),실행부분->조건문이 참이면 실행부분이 출력되고,

{System.out.println("a는3보다큽니다.");

 

}

System.out.println("끝");//거짓이면 이 구문이 출력된다.

 

 

 2)if-else문 : 조건식이 false에 해당하는 경우에도 실행이 되는 부분을 추가한 문장으로 조건식이 만족할 때와 그렇지 않을 때 각각 다른 결과가 도출되는 문장이다.

 

if(조건식){//실행부분1}else{//실행부분2}

  ->조건식이 참일때는 실행부분1이 실행이 되고, 거짓일 경우 실행부분2가 실행이 된다.

 

 

//if case 2 : 둘 중 하나를 선택한다. if-else문

int age = 15;

if(age >19)

{

System.out.println("성인");

}

else

{

System.out.println("청소년");

}

 

 

 3)if-else if문 :여러가지 조건일 경우에 따라 각각 다른 작업을 수행하고 싶을 때 사용한다.

 

if(조건식){//실행부분1} else if(조건2){//실행부분2} else if(조 건3){//실행부분3} else{//실행부분4}

  ->조건1을 만족할경우 아닐경우 아래항목으로 넘어가면서 결과값을 도출해낸다.

 

 

//if case 3 : 여러개중 하나를 선택한다.

if(age > 19)

{

System.out.println("성인");

}

else if(age > 16) {

System.out.println("청소년");

}

else if(age > 8) {

System.out.println("초딩");

}

else {

System.out.println("유아");

}

System.out.println("끝");

 

함수설명

//재료 확보 : 변수 선언 및 초기화

int age;

String name;

 

//변수 종류 : 정수형,실수형,문자형,논리형,참조형

Scanner sc;//Scanner : 참조변수//외부클래스사용시 import필수

sc = new Scanner(System.in);//new명령어로 class를 가상으로 만든다.

age = sc.nextInt();//sc안에 nextInt라는 함수를 집어넣는다.

//nextInt는 콘솔창에 숫자를 리턴해주는 기능이다.

 

//String tmp = sc.nextLine();//'.'은 ~안에 라는 의미//sc안에 nextLine이라는 함수넣는다.

//nextLine은 콘솔창에 입력되는 문자를 리턴해주는 기능이다.

//콘솔창에 입력되는 문자를 String tmp에 담는다

System.out.println(age);

 

 

+

 

//Step 1 : 변수선언

int age1;

String name1;

//외부 클래스 사용시 import 필수

Scanner sc1;

Scanner sd;

// Step 2 : 참조값(객체) 생성 후 담기

sc1 = new Scanner(System.in);

sd = new Scanner(System.in);

// Step 3 : 원하는 값 스캔 후 담기

System.out.println("숫자를 입력해주세요:");

age1 = sc1.nextInt();

System.out.println("문자를 입력해주세요:");

name1 = sd.nextLine();

// Step 4 : 입력값 확인하기

System.out.println(age1);

System.out.println(name1);

 

 

함수이용한 case3 다시 풀어보면

 

Scanner sc;

 

sc = new Scanner(System.in);

 

System.out.println("점수를 입력해쥿에요 :");//next를 쓸땐 가이드를 주는 것이 좋다

point = sc.nextInt();

 

if(point >90) {

System.out.println("A");

}

else if(point>=80) {

System.out.println("B");

}

else if(point>=70) {

System.out.println("C");

}

else {

System.out.println("F");

}

System.out.println("끝");

 

//if case 4 : 중첩 if문 (if안에 if)

 

{

//아이디패스워드 확인 프로그램

public static void main(String[] args)

{

//변수 선언 및 초기화

String id,password;

Scanner sc;

sc = new Scanner(System.in);

System.out.println("아이디를 입력해주세요.");

id = sc.nextLine();

 

//제어부

 

if(id.equals("admin"))//id안에 admin이라는 것이 맞냐 안맞냐

{

System.out.println("패스워드를 입력해주세요.");

password = sc.nextLine();

if(password.equals("1234"))

{

System.out.println("로긴성공");

}

else

{

System.out.println("패스워드 오류");

}

}

else

{

System.out.println("아이디 오류");

}

 

}

 

 

 

}

 5) switch문 : switch문은 하나의 조건식으로 하여금 많은 경우의 수를 처리하는 조건문이다.(경우의 수가 값에 따라서 동작을 하는데 그 중에 하나를 선택한다.)

 

//일년동안 읽은 책 수에 따라 멘트를 출력합니다.

public static void main(String[] args)

{

int book = 2;

book = book /10;

switch(book)

{

case 0: //10권 미만

System.out.println("조금 더 노력하세요");

break;

case 1: //10군~20권 사이

System.out.println("책 읽는ㄴ 것을 즐기시는 분이네요");

break;

case 2://20권~30권 사이

System.out.println("책을 사랑하시는 분이네요");

break;

case 3://30권 이상

System.out.println("다독왕");

}//break;는 case 구문의 마침표같은 느낌.

//break;를 빼고 실행하면 전부 다 실행됨.

 

}

 

}

6)for문

package chapter4;

//for문 (몇번 반복할 떄 사용/횟수)

//why for문은 특정한 횟수동안 작업을 반복하고 싶을 때 사용하는 반복문.

//what for문은 초기화,조건식, 증감식, 실행부분으로 이루어져 있는데, 조건식의 만족에 따라 반복문이 실행.

//how for문을 초기화와 조건식 증감식 실행부분을 나열하여 반복문을 실행한다.

public class exam4_5 {

 

public static void main(String[] args) {

 

int sum =0;//총 합을 담을 변수

for(int i =1; i <=10; i++) //int i에 1을 선언//i는 10이하까지 +1씩 증가

{

System.out.printf("i=%d sum=%d\n",i,sum+=i);//%d=정수//printf="문자열"

//sum+=i -> sum = sum + i

}

//print + ln + \n --> 줄바꿈 기능이 있다.

//print + f = "문자열" =>프린트포맷(특정형식으로 출력하라)

//=>ex)System.out.printf("저는 %d살입니다")-->%d=정수/%f=실수/%s=문자

 

}

 

}

7)while문

package chapter4;

//while문

//why 정해진 횟수만 반복하는 for문과 다르게 어떤 조건에 의해 실행 또는 종료돼야 할 때 사용

//what조건식을 검사하고 조건식이 참이면 반복하고, false면 while문 전체에서 벗어난다.

//howwhile문에 조건식을 내걸고 조건식이 참(true)이면 계속 반복한다.

 

import java.util.Scanner;

 

public class exam4_6 {

 

public static void main(String[] args) {

//변수 선언 및 초기화

Scanner sc;

String answer = "Y";

int count = 0;

sc = new Scanner(System.in);//System.in은 키보드를 사용해라 라는 의미

 

//제어부

// while(answer.equals("Y"))//equals=같다라는 의미

{

System.out.println("음악을 재생하시곗습니까?");//Guide

answer = sc.nextLine();

if(answer.equals("Y"));

//count = count + 1 이라고 쓰면 아래 ,++count 안써도 상관없음.

System.out.printf("음악을 %d번 재생하시겠습니까\n",++count);//++count는 더해지고 넣는다

 

}

System.out.println("프로그램을 종료하였습니다");

}

 

 

}

 

8)do~while문

package chapter4;

//do~while문

//why 반복문이 해당 조건에 만족할때만 실행되는 것을 어떠한 상황이라도 무조건 반복문을 한 번은 실행시키기 위해 만들어졌다.

//what while문과는 다르게 최소 한번은 실행을 한 뒤에 조건에 만족하는지 안하는지 평가를 한다.

//how while과 다르게 먼저 선 실행을 시킨 후 후 조건문에 대한 평가를 하는 방식.

//how 따라서 조건식의 true/false 여부에 따라 관계없이 적어도 한번은 실행이 된다.

 

import java.util.Scanner;

 

public class exam4_7 {

 

public static void main(String[] args) {

//변수 선언 및 초기화

Scanner sc;

sc = new Scanner(System.in);

int count = 0;

String answer = "Y";

 

do

{

System.out.println("음악을 재생하시겠습니까?");

answer = sc.nextLine();

 

if(answer.equals("Y"))

{

System.err.printf("음악을 %d번 재생했습니다\n", ++count);

}

}while(answer.equals("Y"));

System.out.println("음악을 종료");

}

 

}

9)break,continue문

 

package chapter4;

//break,continue문

//why break는 반복을 멈추기 위함이고, continue는 현재의 반복을 뛰어넘고 반복을 시키기 위함이다.

//what 특정 조건을 만나면 break는 반복을 멈추고, continue문은 해당 문을 만나면 다음으로 넘어가 반복을 한다.

//how 조건문 뒤에 break사용을 하여 반복을 멈추게 하거나 continue를 사용하여 건너 뛰고 반복하게 한다.

 

 

 

import java.util.Scanner;

 

public class exam4_8 {

 

public static void main(String[] args) {

//변수 선언 및 초기화

 

int money = 10000;

Scanner sc = new Scanner(System.in);

 

 

//제어부

System.out.printf("현재 가진 금액은 %d원 입니다", money);

 

while(true)

{

System.out.println("얼마를 사용하시겠습니까?");//Guide

int spend = sc.nextInt();// 변수 선언란에 int spend;로 선언하고 사용해도됨.

 

boolean test = !(0<= spend&& spend<=money);

System.out.println("입력값은"+test+"입니다");

 

 

//제어문 : 패스할까말까//패스할까말까의 기준은 if를 통해 spend변수 값을 검증하는 것.

if(!(0<=spend && spend<=money))//0<=spend =>spend(입력값이)는 0보다 크거나 같다[음수가 아니다]

//spend <= money =>입력값이 money보다 작거나 같다

// !는 이 결과 값의 반대라는 의미로 음수거나 10000원을 초과한 상태

 

{

System.out.println("잘못입력했어요 다시 입력바랍니다.");

continue;

}

//결과값출력

money = money - spend;

System.out.printf("남은 금액은 %d 입니다\n",money);

if(money==0)

{

System.out.println("잔액이 부족합니다.");

break;

}

}//while종료

System.out.println("프로그램 반복을 종료하였습니다.");

}//메인끝

 

}//클래스끝

'정리 노트' 카테고리의 다른 글

chapter  (0) 2023.10.24
상속과 다형성  (0) 2023.10.23
연산자  (0) 2023.10.11
변수와 상수  (0) 2023.10.11
231010 개발자 환경 구축  (0) 2023.10.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함