목차

1) while문과 break - 무한루프

2) while문과 break - 읽힐 수 없는 코드 

3) while문과 break - 조건문 탈출

4) while문 예제


1. while문과 break

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		
		//조건을 만족하면 실행문을 실행한다.
		while(true) {
			System.out.println("호랑이"+" "+num);
			num += 1;
		}
		//실행문을 멈춰줄 장치가 없다 => 무한루프에 빠진다.
		
	}
}

2. while문과 break - 읽힐 수 없는 코드

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		while(true) {
			System.out.println("호랑이1");
			System.out.println("호랑이2");
			System.out.println("호랑이3");
			break; //이 순간 while문을 빠져나간다.
			//System.out.println("호랑이4"); // 읽힐 수 없는 코드
			/*Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
			Unreachable code*/
		}
		
		
	}
}

3. while문과 break - 조건문 탈출

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(true) {
			System.out.println("호랑이"+" "+num);
			if(num>3) {
				break; //이 순간 조건문을 빠져나간다.
			}
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		호랑이 3
		앵무새 4
		-------------
		호랑이 4
		프로그램을 종료합니다. */
	}
}

이렇게 사용시 break필요 없다.

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(num<3) {
			System.out.println("호랑이"+" "+num);
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		프로그램을 종료합니다.
		 */
	}
}

반복횟수를 아는 경우 for문으로 가능하다.

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(num<3) {
			System.out.println("호랑이"+" "+num);
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		//반복 횟수를 아는 경우 for문으로 가능하다.
		for (int i = 0; i < 3; i++) {
			System.out.println("호랑이"+" "+i);
			System.out.println("앵무새"+" "+(i+1));
			System.out.println("-------------");
		}System.out.println("프로그램을 종료합니다.");
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		프로그램을 종료합니다.
		 */
	}
}

 


4. while문 예제

4-1. 반복 횟수를 모를 경우 입력 받은 숫자 짝수와 홀수 구분하기

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//예제 1 반복횟수를 모를 때 짝수와 홀수 구분하기
		while(true) {
			System.out.println("짝수인지 홀수인지 알려줄게, 종료하려면 999 입력");
			
			int input = (new Scanner(System.in)).nextInt();
			
			//조건문 탈출 조건
			if (input==999) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			
			if(input%2==0) {
				System.out.println(input+" 은 짝수입니다.");
			}else {
				System.out.println(input+" 은 홀수입니다.");
			}
			System.out.println("-----------------");
		}
		
		/*출력결과
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		33
		33 은 홀수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		22
		22 은 짝수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		99
		99 은 홀수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		999
		프로그램을 종료합니다. */
		
	}
}

4-2. 

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

009. 배열  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 변수 생성 :  int [] apple = new int[개수];

2) 변수 사용하기

3) 배열의 크기 알기


1. 변수 생성

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//40개의 변수를 만들려면 ??
		int a = 1;
		int b = 2;
		
		//배열을 사용하면 간편하다.
		//apple이라는 배열에 40 개 생성
		int [] apple = new int[40];
		
		//변수 사용하기
		apple[0] = 100;
		apple[11] = 200;
		apple[30] = 300;
		apple[39] = 400;

		//배열의 범위는 0 ~ 지정개수-1 => 총 개수 :지정개수
		/*apple[40] = 400; 배열 범위 오류
			Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 40
		at PACK01.Hello01.main(Hello01.java:22)
		*/
	}
}

2. 배열의 사용

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//컴퓨터에게 10개의 메모리 받기
		int [] banana = new int[10];
		
		//변수 사용하기
		banana[0] = 100;
		banana[5] = 200;
		banana[8] = 300;
		banana[9] = 400;
		
		//변수 10개 편하게 출력
		for (int i = 0; i < 10; i++) {
			System.out.println(i + " " +banana[i]);
		}
	}
}

3. 배열의 크기 알기

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//배열의 생성방법
		int [] apple = new int[8]; //방법 1
		int [] banana = {10,20,30,40}; //방법 2
		
		//배열의 크기 알기
		System.out.println(apple.length); //8
		System.out.println(banana.length); //4
		
		//배열의 사용
		
		/*이렇게 사용하면 배열의 범위를 넘어가는 위험이 있다. 
		for (int i = 0; i < 10; i++) {
			System.out.println(banana[i]);
		}
		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
		at PACK01.Hello01.main(Hello01.java:20)
		*/
		
		for (int i = 0; i < banana.length; i++) {
			System.out.println(banana[i]);
		}
	}
}

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

010. while문  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 난수 뽑기 : Math.random() ;

2) switch 제어문

3) switch 예제


1. 난수 출력

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		// 소수점 0.0~1.0사이의 난수 랜덤으로 뽑는다.
		for (int i =0; i<3; i++) {
			double a = Math.random();
			System.out.println(a);
			//0부터 100사이의 수
			System.out.println(a*100);
		}
		/*출력
		0.5677029739986956
		56.77029739986956
		0.9573209783605554
		95.73209783605554
		0.5416722849353616
		54.16722849353616
		*/
		
		// 정수값으로 바꾸기 - int 사용
		for (int i = 0; i < 3; i++) {
			double b = Math.random();
			System.out.println(b);
			//0부터 100 사이의 정수
			System.out.println((int)(b*100));
		}
		/*출력
		0.9648125241685322
		96
		0.8673063552233805
		86
		0.10506136384771025
		10 */
	}
}

주사위 예제

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		//주사위 번호 랜덤 6개 뽑기
		for (int i = 0; i < 6; i++) {
			double n = Math.random();
			System.out.println((int)(n*6)+1);
		}
		/*출력
		1
		6
		1
		6
		2
		2 */
	}
}

2. switch문 

1.case 뒤에 변수를 사용할 수 없다.

2.숫자를 중복해서 쓸 수 없다.

3.break를 쓰지 않으면 계속 진행이 되버린다.

4.의도적으로 출력하고 싶을 때 break를 생략한다.

5.default break는 생략 가능하지만 가급적 사용

6.case에서 실행할 문장이 한 줄 이상일 경우에는 스코프를 사용한다.
  일반적으로 스코프를 사용한는 것이 좋다.

7.break와 case 사이에 공백을 준다.

8.else - if문이 switch문을 바뀔 수 있다면 switch문을 사용한다.
  switch문이 프로그램 효율이 더 뛰어나다.
package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch 제어문*/

		System.out.println("----break를 거는 경우----");
		int value = 5;
		switch(value) {
		case 5: //변수와 값이 일치하면 해당 case 실행문을 작동시킨다.
			System.out.println("사과");
			break; //break는 switch문 종료를 위해 사용된다.
		case 4:
			System.out.println("배");
			break;
		default:
			System.out.println("딸기");
			break;
		}
		
		//switch문의 case에 break를 하지 않을 경우 fall through
		System.out.println("----break를 하지 않을 경우----");
		int v = 4;
		switch(value) {
		case 5:
			System.out.println("사과");
		case 4:
			System.out.println("배");
		default:
			System.out.println("딸기");

		}
		
		/*출력
		----break를 거는 경우----
		사과
		----break를 하지 않을 경우----
		사과
		배
		딸기
		*/
	}
}

switch문 예제 1

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//키보드로 숫자 입력받아 switch문
		
		/*키보드로부터 숫자를 입력
		10이 입력되면 호랑이
		20이 입력되면 코끼리
		30이 입력되면 앵무새
		나머지 숫자는 야옹*/
		
		System.out.println("숫자를 입력하세요.");
		int input = (new Scanner(System.in)).nextInt();
		System.out.println("입력한 숫자 : "+input);
		
		switch (input) {
		case 10:
			System.out.println("호랑이");
			break;
            
		case 20:
			System.out.println("코끼리");
			break;
            
		case 30:
			System.out.println("앵무새");
			break;
            
		default:
			System.out.println("야옹");
			break;
            
		}
		
		/*출력
		숫자를 입력하세요.
		55
		입력한 숫자 : 55
		야옹 */
	}
}

switch 예제 2

case실행문이 2개 이상일 때

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch*/
		
		System.out.println("숫자를 입력하세요");
		for (int i = 0; i < 10; i++) {
			int input = (new Scanner(System.in)).nextInt();
			
			switch(input) {
			case 40:
			case 10:
				System.out.println("호랑이");
				//break;
			case 20 :{
				//2줄 이상일 때 스코프 사용
				System.out.println("코끼리1");
				System.out.println("코끼리2");
				break;
			}
			case 30:
				System.out.println("앵무새");
				break;
			
			default:
				System.out.println("야옹");
				break;
				
			}
			
		}
	}
}

switch  예제3

문자열 case사용 가능

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch*/
		
		//문자열 사용할 수 있다.
		
		String s = new String("사과");
		switch(s) {
		case "사과":{
			System.out.println("호랑이");
		}break;
		
		case "바나나":{
			 System.out.println("코끼리");
		}break;
		
		default:{
			System.out.println("앵무새");
		}break;
		
		}
		
	}
}

 

 

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

010. while문  (0) 2019.07.11
009. 배열  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 컴퓨터로부터 숫자 입력 받는 프로그램 :  new Scanner(System.in).nextInt();

2) ascii code 

3) for문 예제 7~ 11

 


1. 컴퓨터로부터 숫자 입력 받는 프로그램 : new Scanner(System.in).nextInt();

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 키보드로부터 숫자 입력 받는 프로그램 */
		// import 단축키 [ctrl + shift + O ]
		int input = (new Scanner(System.in)).nextInt();
	}
}

2. ASCII CODE

 

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*ASCII CODE 구하기*/
		char ch = 'A';
		System.out.println((int)ch);
		
		char ch2 = 'B';
		System.out.println((int)ch2);
	}
}

3의 배수만 대문자 출력

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		// 3의 배수만 대문자 출력 
		System.out.println('A'+1);
		for (int i = 0; i<26; i++) {
			if(i%3==0) {
				System.out.println((char)('A'+i));
			}else {
				System.out.println((char)('a'+i));
			}
		}
	}
}

3. for문

예제 7 : 대문자 A부터 Z까지 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//대문자 A부터 Z까지 출력
		char ch = 'A';
		for (int i = 0; i < 26; i++) {
			int a = (int)ch + i;
			System.out.print((char)a+" ");
		}
		/*출력
		A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  */
	}
}

예제 8 : 입력받은 숫자의 구구단 구하기

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		// 입력 받은 숫자의 구구단 구하기
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 1; i <= 9; i++) {
			System.out.println(input+"*"+i+" : "+(input*i));
		}
		/*출력 결과
		 숫자를 입력하세요
		9
		9*1 : 9
		9*2 : 18
		9*3 : 27
		9*4 : 36
		9*5 : 45
		9*6 : 54
		9*7 : 63
		9*8 : 72
		9*9 : 81  */
	}
}

예제 9 : 1부터 입력 받은 숫자까지의 합

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		// 1부터 입력 받은 숫자까지의 합
		int sum = 0;
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 1; i <= input; i++) {
			sum = sum + i;
		}
		System.out.println(sum);
		/*출력 결과
		숫자를 입력하세요
		10
		55 */
	}
}

 

예제 10: a와 b의 값을 교환하는 swap프로그램을 작성

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//a와 b의 값을 교환하는 swap프로그램을 작성하세요.
		int a = 30, b = 50, t;
		System.out.println(a+" "+b);
		
		t = a;
		a = b;
		b = a;
		
		System.out.println(a+" "+b);
		
		/*출력결과
		30 50
		50 50*/
	}
}

예제 11

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//65부터 입력받은 숫자까지 3의 배수만 아스키코드 대문자 출력
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 65; i < input; i++) {
			if (i%3==0) {
				System.out.println((char)i);
			}
		}
		/*출력결과
		숫자를 입력하세요
		79
		B
		E
		H
		K
		N
		*/
	}
}

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

009. 배열  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04
004. 산술연산, 논리연산  (0) 2019.07.04

목차

1) 랜덤한 숫자 출력 : (new Random()).nextInt(100);

2) for문

3) for문 예제 1 ~ 6


1. 랜덤한 숫자 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*랜덤 숫자 출력*/
		
		//100 미만의 숫자 중에서 랜덤으로 출력
		int a = (new Random()).nextInt(100);
		System.out.println(a);
		
		int rn = (new Random()).nextInt();
	}
}

2. for문 

형태

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*for문*/
		for(int i = 0; i<10; i++) {
			System.out.println("호랑이"+i);
		}
		/*출력 결과
		호랑이0
		호랑이1
		호랑이2
		호랑이3
		호랑이4
		호랑이5
		호랑이6
		호랑이7
		호랑이8
		호랑이9
		*/
	}
}

예제 1 : 1부터 10까지 더하기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*for문*/
		
		/*for문 자동완성 단축키
		for + ctrl + space
		*/
		
		int s = 0;
		for (int i = 1; i < 10+1; i++) {
			s = s+i;
			System.out.println(s);
		}
		
		System.out.println("총 합: "+s);
		
		/*출력 결과
		1
		3
		6
		10
		15
		21
		28
		36
		45
		55
		총 합: 55
		*/
	}
}

 


예제2 : 100미만의 랜덤한 숫자 10개의 합

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*랜덤 숫자 출력*/
		
		//100미만의 랜덤한 숫자 10개의 합  
		int sum = 0;
		for (int i = 0; i<10; i++) {
			int rn = (new Random()).nextInt(100);
			System.out.println(rn);
			sum = sum + rn;
		}
		System.out.println("10개의 합: "+sum);
		
		/*출력 결과
		13
		34
		37
		87
		93
		5
		87
		52
		7
		1
		10개의 합: 416 */
	}
}

예제 3 : 구구단 5단 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//구구단 5단 출력
		for (int i = 1; i < 9+1; i++) {
			int n = 5;
			System.out.println(n+"*"+i+":"+(n*i));
		}
		
		/*출력결과
		5*1:5
		5*2:10
		5*3:15
		5*4:20
		5*5:25
		5*6:30
		5*7:35
		5*8:40
		5*9:45*/
	}
}

예제 4 : 1부터 100까지 합산하는 프로그램

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//1부터 100까지 합산하는 프로그램
		int sum = 0;
		for (int i=1; i<=100; i++) {
			sum = sum + i;
		}
		System.out.println("총합: "+sum);
		
		/*출력결과
		 총합: 5050
		*/
	}
}

예제 5 : 1부터 10까지 숫자 중 다섯개 랜덤하게 골라 합산

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//1부터 10까지 숫자 중 다섯개 랜덤하게 골라 합산
		int sum = 0;
		for (int i=0; i<5; i++) {
			int rn = (new Random()).nextInt(10);
			System.out.println("랜덤숫자: "+rn);
			sum = sum + rn;
		}
		System.out.println("총합: "+sum);
		
		/*출력결과
		랜덤숫자: 4
		랜덤숫자: 6
		랜덤숫자: 4
		랜덤숫자: 9
		랜덤숫자: 3
		총합: 26
		*/
	}
}

 

예제 6 : 0부터 100사이의 숫자 중 10개를 랜덤으로 추출해 각 자리수의 합을 구하시오.

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//0부터 100사이의 숫자 중 10개를 추출해 각 자리수의 합을 구하시오
		for (int i = 0; i <10; i++) {
			int rn = (new Random()).nextInt(100);
			
			int q = rn /10; //십의 자리
			int n = rn%10; //일의 자리

			int sum = q + n;
			System.out.println("자리수의 합 : "+sum);
		}
		
		/*출력결과
		자리수의 합 : 7
		자리수의 합 : 3
		자리수의 합 : 2
		자리수의 합 : 4
		자리수의 합 : 10
		자리수의 합 : 11
		자리수의 합 : 1
		자리수의 합 : 15
		자리수의 합 : 4
		자리수의 합 : 13
		*/
	}
}

목차

1) 4대 제어문 형태

2) if 문

3) 삼항연산자


1. 4대 제어문 형태

 

		/* 4대 제어문 
		 
		 * 조건 if switch
		 * 반복 for while  
		 
		 * 기본 구조 
		 
		 if () {
		 	
		 }
		 
		 switch () {
		 
		 }
		 
		 for () {
		 
		 }
		 
		 while () {
		 
		 }
		 
		 */

2. if 문

 

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		/* if */
		
		System.out.println("시작");
		if (true) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}
		System.out.println("11111111111111111111");
		
		if (false) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}
		System.out.println("22222222222222222222");
		
		if (3>2) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("333333333333333333333");
		
		if (3<2) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("444444444444444444444");
		
		if (3>2 && 7==7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("555555555555555555555");
		
		if (3>2 && 7!=7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("666666666666666666666");
		
		if (3>2 || 7==7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("777777777777777777777");
		
		if (3>2 || 7!=7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("888888888888888888888");
		
		System.out.println("끝");
		
		
		/*	출력 결과
        	시작
			tiger
			elephant
			parrot
			11111111111111111111
			22222222222222222222
			tiger
			elephant
			parrot
			333333333333333333333
			444444444444444444444
			tiger
			elephant
			parrot
			555555555555555555555
			666666666666666666666
			tiger
			elephant
			parrot
			777777777777777777777
			tiger
			elephant
			parrot
			888888888888888888888
			끝	*/
		
	}

}

 

예시

 

1-1 학점 계산기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		int num = 95;
		if (num>=90) {
			System.out.println("학점은 A입니다.");
		}else if (num>=80) {
			System.out.println("학점은 B입니다.");
		}else if (num>=70) {
			System.out.println("학점은 C입니다.");
		}else if (num>=60) {
			System.out.println("학점은 D입니다.");
		}else {
			System.out.println("재수강입니다.");
		}
	}

}

1-2 띠 구하기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		int year = 1545;
		int q = year % 12;
		
		if(q==0) {
			System.out.println("원숭이 띠(신)");
		}else if (q==1) {
			System.out.println("닭 띠(유)");
		}else if (q==2) {
			System.out.println("개 띠(술)");
		}else if (q==3) {
			System.out.println("돼지 띠(해)");
		}else if (q==3) {
			System.out.println("쥐띠 (자)");
		}else if (q==3) {
			System.out.println("소 띠(축)");
		}else if (q==3) {
			System.out.println("범 띠(인)");
		}else if (q==3) {
			System.out.println("토끼 띠(묘)");
		}else if (q==3) {
			System.out.println("용 띠(진)");
		}else if (q==3) {
			System.out.println("뱀 띠(사)");
		}else if (q==3) {
			System.out.println("말 띠(오)");
		}else if (q==3) {
			System.out.println("양 띠(미)");
		}
	}

}

1-3 짝수 홀수

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*중첩 if문*/
		System.out.println("시작");
		if(true) {
			System.out.println("호랑이1");
			if(3>2) {
				System.out.println("코끼리");
			}System.out.println("호랑이 2");
		}
		
		int num = 29;
		int q = num/10; //십의 자리 숫자 
		int r = num%10;
		System.out.println(q);
		System.out.println(r);
		
		if(q%2==0) {
			System.out.println("십의자리는 짝수이고,");
			if(r%2==0) {
				System.out.println("일의자리는 짝수이다.");
			}else {
				System.out.println("일의 자리는 홀수이다.");
			}
		}else {
			System.out.println("십의 자리는 홀수이고");
			if(r%2==0) {
				System.out.println("일의자리는 짝수이다.");
			}else {
				System.out.println("일의자리는 홀수이다.");
			}
		}
	}
}

3. 삼항연산자

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 삼항 연산자 */
		int a;
		
		//조건이 걸리면서 어떤 쪽이든 변수가 값을 받을 때, 삼항연산으로 바꾼다.
		if(3>2) {
			a = 10;
		}else {
			a=20;
		}
		System.out.println(a); //10
		
		a = (3>2) ? 10 : 20;
		System.out.println(a); //
		//a = (조건) ? 만족할때 : 아닐때
		
	}
}

예제3.

목차

1) 산술연산

2) 논리연산

3) 문자열 연결 연산


1. 산술연산

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/* 산술 연산자
			+
			-
			*
			/ : 몫
			% : 나머지
			곱셈 먼저
			괄호가 제일 먼저
			괄호 만드는 습관 가지기
		*/
		
		System.out.println("호랑이");
		System.out.println(17+4);//21
		System.out.println(17-4);//13
		System.out.println(17*4);//68
		System.out.println(17/4);//4
		System.out.println(17%4);//1
		System.out.println(3+2*4);//11
		System.out.println((3+2)*4);//20
		System.out.println(3+(2*4));//11 
	}

}
		int a = 10;
		System.out.println(a);
		
		a = a+3;
		System.out.println(a);
		
		a++;
		System.out.println(a); //14 //현재 값에 1 증가
		
		a--;
		System.out.println(a);//13 //현재 값에 1 감소 
		
		a = a+1; 
		System.out.println(a); //14 //a++과 같지만 ++이 더 빠르다.
		
		a = a+3;
		System.out.println(a); //17
		
		a += 3;
		System.out.println(a); //20 //번역이 빠르다. 이렇게 쓰는 것이 더 좋다.

부호 연산자

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 부호연산자 */
		int a1 = 10;
		int b1 = 10;
		int c1 = +10;
		
		System.out.println(a1); //10
		System.out.println(b1); //10
		System.out.println(c1); //10
		
		/*출력
		10
		10
		10 */
	}
}

++i와 i++의 차이

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* ++i와 i++의 차이 */
		//대입 증가
		int a = 10, b;
		b = a++;
		System.out.println(a+" "+b); //11 10
		
		//증가 대입
		int c = 10, d;
		d = ++c;
		System.out.println(c+" "+d); //11 11
		
		//++
		int e= 10, f = 10;
		e++;
		++f; // 전문가들은 이것을 선호, 통합용으로 좀 더 빠르다.
		System.out.println(e+" "+f);//11 11
		
	}
}

2. 논리 연산자

 

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		/* 논리 연산자
		 * 논리 OR: 하나만 true이면 연산 결과는 true
		 * 논리 AND: 모두 ture이면 연산 결과는 true
		 
		 논리 연산자 (&&, ||, &, |, ^, !)  */
		
		int key = 0;
		int money = 4999;
		System.out.println(key >= 0 || money >= 5000); //true
		System.out.println(key >= 1 || money >= 5000); //false
		
		//논리 OR 연산
		System.out.println(false || false); //false
		System.out.println(true || false); //true
		System.out.println(false || true); //true
		System.out.println(true || true); //true
		
		//논리 AND 연산 
		System.out.println(false && false); //false
		System.out.println(true && false); //false
		System.out.println(false && true); //false
		System.out.println(true && true); //true

		// 논리 부정 ! : 연산 반대로 결과가 나온다.
		System.out.println(!true); //false
		System.out.println(!(3>2)); //false
		
		// 범위 사이에는 논리 AND 연산을 쓴다.
		int height = 185;
		System.out.println(height >= 180 && height <= 195); //true
		
		// 논리 OR을 쓰는 경우
		int age = 15;
		System.out.println(age<=10 || age>=70); //false
		
		int save = 5200;
		age = 72;
		System.out.println(age<=10 || age>=70 && (save <= 5000)); //false
		
	}

}

3. 문자열 연결 연산자

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*비교연산자
		 <,<=,>,>=,==,!= */
		
		System.out.println(50>3);//true
		System.out.println(50<3);//false
		System.out.println(3>=3);//true
		System.out.println(2>=3);//false
		System.out.println(3<=3);//true
		System.out.println(3==3);//true
		System.out.println(3==4);//false
		System.out.println(3!=4);//true
		System.out.println(3!=3);//false
		
		int a = 4, b = 3;
		System.out.println(a>b); //true
		System.out.println(a!=b); //true
		System.out.println(a-3>b); //false 산술연산이 먼저 일어난다.
	}

}

목차

1) 데이터 타입

2) 숫자 데이터 타입

3) 변수 선언

4) 변수 사용

5) 비교 연산자

 


1. 데이터 타입

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/* 컴퓨터에게 메모리를 요구할 수 있는 명령(Type) */
		
		//정수 타입
		byte b = 8; //8비트 // -128 ~ 127
		short s = 16; //16비트 // -32768 ~ 32767
		int i = 32; //32비트 // -2억 ~2억
		long l = 64; //64비트 
		
		//문자 타입
		char c = 'T'; //문자
		
		//부동 소수점 타입
		float f = 3.14f; //실수+f형태
		double d = 3.14; //float보다 더 크다.
		
		//불린타입 - true 또는 false
		boolean bt = true;
		boolean bf = false;
	}
}

불린의 사용

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* boolean의 사용 */
		int x = 3, y = 4;
		boolean result = (x+y) < 10;
		System.out.println(result); //true
	}
}

2. 숫자 데이터 타입

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*숫자 데이터 타입
		 * byte: 1개
		 * short: 2개
		 * int: 4개
		 * long: 8개*/
		
		/*데이터 범위
		 *2의 8제곱 : 256
		 *2의 16제곱 : 65536
		 *2의 32제곱 : 40억이상 
		
		 * 0,1 : bit상태
		 * 8bit = 1byte
		 * 16bit = 2byte
		 * 32bit = 4byte
		 
		 * 전구 상태 : 0,1 
		 * 전구 n개 : -2(n-1)제곱 ~ 2(n-1)제곱 -1
		 * 전구 3개 : -4 ~ 3 (8)
		 * 전구 8개 : -128 ~127
		 */
		
		byte apple = 30;
		System.out.println("apple");//apple
		System.out.println(apple);//30
		
		apple = 127;
		apple = -128;
		System.out.println(apple);
		
		
		/*apple = 129;
		
		byte유효 범위를 벗어났다.
		
		 Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
			Type mismatch: cannot convert from int to byte
		 */
		
		short banana = 3000;
		banana = -32767;
		System.out.println(banana); //-32767
		
	}

}
package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 타압입의 최댓값과 최솟값 */
		
		//최댓값 
		System.out.println(Byte.MAX_VALUE);
		System.out.println(Short.MAX_VALUE);
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Long.MAX_VALUE);
		/*출력
		127
		32767
		2147483647
		9223372036854775807 */
		
		//최소값
		System.out.println(Byte.MIN_VALUE);
		System.out.println(Short.MIN_VALUE);
		System.out.println(Integer.MIN_VALUE);
		System.out.println(Long.MIN_VALUE);
		
		/*출력
		-128
		-32768
		-2147483648
		-9223372036854775808
		 */
	}
}

 


3. 변수 선언

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*변수명*/
		
		long apple;//타입 변수명;
		/* long apple;
		 
		 *변수 이름은 동일하게 만들 수 없다.
		 Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
			Duplicate local variable apple*/
		
		long apple99;//변수 이름에 숫자 사용가능
		
		/* long 99apple;
		
		* 변수 이름 첫번째는 숫자 사용 불가능
		Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
		Syntax error on token "99", delete this token
		Duplicate local variable apple*/
		
		long apple_; //특수문자 중에서 '_', '$'는 사용가능
		long _999; // _,$와 숫자 함께 사용 가능

		/*long apple!;
		 
		 * 변수 이름으로 특수문자 사용 불가능
		 Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
		Duplicate local variable apple
		Syntax error on token "!", delete this token*/
		
		long Apple100;
		long apple100; //대소문자 구별해서 사용 가능
		
		long moneycount; //두 단어가 합성 될 때, 첫번째 단어는 대문자로 한다.
		long MoneyCount; //낙타 표기법
	}

}

 


4. 변수 사용 

 

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*변수사용*/
		
		int a; //변수 선언
		a = 10; //데이터 초기화
		System.out.println(a); //10
		
		int b = 20; //변수 선언과 동시에 초기화
		System.out.println(b); //20
		
		int c,d,e; //변수 동시에 선언 가능
		int f = 10, g,h = 20; //한번에 선언 및 초기화 가능
		
		int a1 = 3, a2;
		System.out.println(a1); //3
		/*System.out.println(a2);
		 
		 * 변수를 사용하려면 초기화를 해야한다.
		 Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
		 The local variable a2 may not have been initialized */
	
		/*변수를 사용하는 이유*/
		int b1 = 50, b2 = 3;
		System.out.println(b1+b2); //53
		System.out.println(b1-b2); //47
		System.out.println(b1*b2); //150
		System.out.println(b1/b2); //16
		System.out.println(b1%b2); //2 //한번에 수식 수정이 가능하다.
	}

}

5. 비교연산자

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*비교연산자
		 <,<=,>,>=,==,!= */
		
		System.out.println(50>3);//true
		System.out.println(50<3);//false
		System.out.println(3>=3);//true
		System.out.println(2>=3);//false
		System.out.println(3<=3);//true
		System.out.println(3==3);//true
		System.out.println(3==4);//false
		System.out.println(3!=4);//true
		System.out.println(3!=3);//false
		
		int a = 4, b = 3;
		System.out.println(a>b); //true
		System.out.println(a!=b); //true
		System.out.println(a-3>b); //false 산술연산이 먼저 일어난다.
	}

}

 

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04
004. 산술연산, 논리연산  (0) 2019.07.04
002. 출력 형식  (0) 2019.07.04
001. 자바를 시작하기 전 기본 준비  (0) 2019.07.04

+ Recent posts