티스토리 뷰
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("프로그램 반복을 종료하였습니다.");
}//메인끝
}//클래스끝