728x90
반응형
SMALL
  • 프로그램 언어에서 실행 순서를 변경하거나 조건에 따라 실행하거나 특정 부분은 반복하거나 할 경우 쓰는 구문
  • 프로그램은 일반적으로 위에서 아래로 순차적으로 실행
  • 제어문의 종류 조건문, 반복문, 기타 제어문 조건문 : if, switch 반복문 : while, for, do ~ while 기타 제어문 : break, continue

(1) 조건문

  • "조건에 따라 달라지는 것"을 구현하는 문장
1) if 문(Statement)
    1-1) if (조건) {
                          실행할 문장;
                      }
    1-2) if (조건) { 실행할 문장; }
          else if (조건) { 실행할 문장; }
          ....
          else { 실행할 문장; }

2) switch 문
    - switch ~ case
    switch(변수){
        case 값1 :
               실행할 문장;
               break;
        case 값2 :
               실행할 문장;
               break;
        default :
               실행할 문장;
    }

package Day02;

public class IfTest {

	public static void main(String[] args) {
	// TODO Auto-generated method stub
	p("If Test");
	p("*************");

	int a = 1;
	if( a > 0 ) {
		p("a is positive");

	}

}

public static void p(String str) {
	System.out.println(str);
	}

}

결과값
If Test

************

a is positive
package Day02;

public class IfTest {

	public static void main(String[] args) {
	// TODO Auto-generated method stub
	p("If Test");
	p("*************");
	int a = -1;
	if( a > 0 ) {
		p("a is positive");

	}

}

public static void p(String str) {
	System.out.println(str);
}

}

결과값
If Test

*************

- 1일때 값이 안나오고 그냥 넘어간다.
package Day02;

import java.util.Random;

public class IfTest {

	public static void main(String[] args) {
	//TODO Auto-generated method stub
	p("If test");
	p("*************");

	int a = 1;
	if(a > 0) {
		p("a is positive");
	}

	p("if-else");
	int b = -1;
	if(b > 0) {
		p("b is positive");
	}
	else {
		p("b is not positive");
	}

	p("if-else if ***");
	int c = 60;
	if(c > 50) {
		p("c is big number");
	}

	p("if-else if else");
	int d = -30;
	if(d > 0) {
		p("d is positive");
	}
	else if(d == 0) {
		p("d is zero");
	}
	else {
		p("d is negative");
	}

	// nested(중첩) if statement
	p("if-if *** ");
	int math = 90;
	int eng = 35;

	if(math >= 60) {
		if(eng >= 60) {
			p("Pass");
		}
		else
			p("Fail");

	}
	else
		p("Fail");

	// 조건을 && 등의 연산자로 묶을 수 있음
	if(math >= 60 && eng >= 60)
		p("pass");
	else
		p("Fail");
	// if 문은 {} 괄호 생략 가능

	p("***********");
	p("switch");
	p("***********");

	int i = 3;
	switch(i) {
		case 1 :
			p("1인가?");
		case 2 :
			p("2였네");
		case 3 :
			p("3맞지");
		default :
			p("다 아닌데?");
	}

	Random rd = new Random();
	int j = rd.nextInt(3);

	switch(j) {
		case 0:
			p("꽝");
			break;
		case 1:
			p("꽝");
			break;
		case 2:
			p("축!당첨!");
			break;

	}

}
public static void p(String str) {
	System.out.println(str);

}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

Colors (추후 수정 필요 !)  (0) 2023.01.09
배열 (Array)  (0) 2023.01.09
Random (임의의 수를 얻는 도구)  (0) 2023.01.09
User Input (사용자로부터 입력을 받는 기능)  (0) 2023.01.09
연산(Operation), 연산자(Operator)  (0) 2023.01.09
728x90
반응형
SMALL
  • 사용방법
    1. java.util.Random을 import
    2. Random rd = new Random();
    3. 다양한 방식으로 사용한다. rd.nextInt() : -2147483648 ~ 2147483647 중 하나 선택 rd.nextInt(숫자) : 0부터 숫자-1 까지의 수 중 하나(정수)를 얻음 rd.nextFloat(), rd.nextDouble() : 0부터 1사이의 실수 를 얻음

 

package Day02;

import java.util.Random;

public class IfTest {

	public static void main(String[] args) {
	//TODO Auto-generated method stub
	p("If test");
	p("*************");

	int a = 1;
	if(a > 0) {
		p("a is positive");
	}

	p("if-else");
	int b = -1;
	if(b > 0) {
		p("b is positive");
	}
	else {
		p("b is not positive");
	}

	p("if-else if ***");
	int c = 60;
	if(c > 50) {
		p("c is big number");
	}

	p("if-else if else");
	int d = -30;
	if(d > 0) {
		p("d is positive");
	}
	else if(d == 0) {
		p("d is zero");
	}
	else {
		p("d is negative");
	}

	// nested(중첩) if statement
	p("if-if *** ");
	int math = 90;
	int eng = 35;

	if(math >= 60) {
		if(eng >= 60) {
			p("Pass");
		}
		else
			p("Fail");

	}
	else
		p("Fail");

	// 조건을 && 등의 연산자로 묶을 수 있음
	if(math >= 60 && eng >= 60)
		p("pass");
	else
		p("Fail");
	// if 문은 {} 괄호 생략 가능

	p("***********");
	p("switch");
	p("***********");

	int i = 3;
	switch(i) {
		case 1 :
			p("1인가?");
		case 2 :
			p("2였네");
		case 3 :
			p("3맞지");
		default :
			p("다 아닌데?");
	}

	Random rd = new Random();
	int j = rd.nextInt(3);

	switch(j) {
		case 0:
			p("꽝");
			break;
		case 1:
			p("꽝");
			break;
		case 2:
			p("축!당첨!");
			break;

	}

}
public static void p(String str) {
	System.out.println(str);

}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

배열 (Array)  (0) 2023.01.09
제어문(Control Statement)  (0) 2023.01.09
User Input (사용자로부터 입력을 받는 기능)  (0) 2023.01.09
연산(Operation), 연산자(Operator)  (0) 2023.01.09
class first  (0) 2023.01.09
728x90
반응형
SMALL

(1) 실행을 시작할 때 받는 방법 java 클래스명 입력1 입력2 입력3 입력4 ...... 으로 실행하고 args[0], args[1]........ 으로 사용 - 야간 배치 작업(정해진 시간이나 조건에 동작하는 작업)에 주로 쓰임

(2) Scanner 이용 아무 때나 입력이 필요할 때 사용함

  • 사용방법
  1. java.util.Scanner를 import
  2. Scanner sc = new Scanner(System.in);
  3. 다양한 방법으로 입력을 받는다. sc.next() : 문자 sc.nextInt() : 정수 sc.nextFloat(), sc.nextDouble() : 실수

//#은 숫자를 의미 넘버~ Arguments는 함수 호출을 할때 넣는 값 //Arguments, Value, Parmeter 똑같이 호출하는 것이지만 다르게 쓰임 //length : 증가하게 만드는 것

728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

제어문(Control Statement)  (0) 2023.01.09
Random (임의의 수를 얻는 도구)  (0) 2023.01.09
연산(Operation), 연산자(Operator)  (0) 2023.01.09
class first  (0) 2023.01.09
변수(Variable)  (0) 2023.01.09
728x90
반응형
SMALL

(1) 대입연산

=, +=, -=, *=, /= R) a = 3, a <= 3, 3 => a //통계에서 쓰이는 ‘R’ a = a + 1; a += 1; = : 왼쪽에 오른쪽을 넣으시오.

=(오른쪽과 왼쪽이 대립), +=(오른쪽 것을 더해서 왼쪽에 넣는 방법//많이 쓰임) -=(오른쪽에서 빼서 왼쪽에 넣기) *=, /=

a = a + 1; a + = 1; = : 왼쪽에 오른쪽에 넣으시오.

package Day02;

public class OperExample {
	public static void main(String [] args) {
	//  TODO Auto-generated method stub
	p("Oprtation Test");

	// 1-1. 대입연산
		int num = 10;
		p("1.num(=) " + num);

	// 1-2. 대입연산
		num += 10;
		p("2-1.num(+=) " + num);
		num -= 10;
		p("2-2.num(-=) " + num);
		
	// 1-3. 대입연산
		num *= 10;
		p("3-1.num(*=) " + num);
		p("3-2.num(*=) " + (num*=10));
		p("3-3.num() " + num);

(2) 산술연산

우리가 알고 있는 (+ - * /), 나머지를 구하는 %, 주민번호 뒷자리 3개 %33

10 % 3 = 1, 10 / 3 = 3

//4. 산술연산 num = 5 + 5 * 2; p("4-1. 5 + 5 * 2 =" + num); num = 5 * (5 + 2); // 4(4+2) p("4-2. 5 * (5 + 2) = " + num);

//2-1. 산술연산
	num = 5 + 5 * 2;
	p("4-1. 5 + 5 * 2 =" + num);
	num = 5 * (5 + 2);     // 4(4+2)
	p("4-2. 5 * (5 + 2) = " + num);	
	
	int num_of_grp = 3;
	num = 35 % num_of_grp;
	p("4-3. 35 % 3 =" + num);

// 2-2. 나누기 
		num = 10 / 4;
		p("5. 10 / 4 = " + num);
		//num = 10. 4 ; //실수를 int에 넣을 수 없음
		// num이 int이기 때문에 앞에 큰 값이 오면 안됨!!
		float num_f = (float)10. / 4;  // 10. / 4;를 넣으면 오류나기에 float를 넣어줘야함
		
// 2-3. 0으로 나눠보기
		//num = 10 / 0; // Inf(무한대를 의미 )
		//Exception in thread "main" java.lang.ArithmeticException: / by zero
		//at Day02.OperExample.main(OperExample.java:43)
		//0으로 나누기 때문에 오류가 나오지만, 예외처리를 해서 0이 아닌 1로 처리할려고 하는 의미이다.

(3) 증감연산

++, --

++ : 1증가

-- : 1 감소

a = 10;
b = a++;   print(b) >10  b = a; a++;
//++이 뒤에 붙어있으면 a가 먼저 계산을 한 후에 처리되기 때문에 이미 b=10이 되었음
b = ++a;   print(b) >11 //++이 앞에 붙어있으면 1+a가 되기 때문에 11이 됨
순서가 헷갈릴 수 있으니 분리해서 작성하는 것을 추천!!

// 3. 증감연산
	int a = 10;
	int b = 10;
	a++;
	++b;
	p("7-1. a++, ++b -> " + a + " " + b);
	
	int x = a++;
	int y = ++b;
	p("7-2. a++, ++b -> " + x + " " + y);

(4) 비교연산

a > b : a가 b보다 크면 true, 아니면 false

    a=5 if (a=1) { printf(”OK”); } //C에서는 a에 1을 넣는것이 가능하지만, 파이썬은 안됨!

a >= b, a < b ..... a == b : 같으면 true, 다르면 false

a != b : 다르면 true

    ['=='같으면에서 2개를 사용했기 때문에 '!=' 다르면에서도 2개를 사용한 것]
// 4. 비교연산
	a = 10; b = 5;
	p("8-1. 10 > 5 : " + (a>b));
	p("8-2. 10 < 5 : " + (a<b));
	p("8-3. 10 == 5 : " + (a==b));
	p("8-4. 10 != 5 : " + (a!=b));
	p("8-5. 'a' > 'b' : " + ('a'>'b'));

(5) 논리연산

A && B : A와 B가 모두 true이면 true 111 & 110 = 110

A || B : A 또는 B가 true이면 true

A ^ B : A와 B가 다르면 true(XOR, Exclusive OR

A ^ B : A와 B가 다르면 true(XOR, Exclusive OR)

!A : 무조건 A의 반대

// 5. 논리연산
	p("9-1. true && false : " + (true && false));
	p("9-2. true \\\\ false : " + (true || false));
	p("9-3. true ^ true : " + (true ^ true));
	p("9-4. !true : " + (!true));

(6) 삼항연산

A ? B : C : A가 true이면 B, false이면 C

cf) python A ? AND B OR C

// 10. 삼형연산자
		int score = 80;
		String dad1 = (score>60)? "잘했다." : "돼다";
		String dad2 = (score>99)? "당연" : "이것도점수냐";
		p("10. dad1 = " + dad1 + " dad2 = " + dad2);
		
	}
	garbage in g
	
	public static void p(String str) {
		System.out.println(str);
		
	}
 
 
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

Random (임의의 수를 얻는 도구)  (0) 2023.01.09
User Input (사용자로부터 입력을 받는 기능)  (0) 2023.01.09
class first  (0) 2023.01.09
변수(Variable)  (0) 2023.01.09
주석(comment)  (0) 2023.01.09
728x90
반응형
SMALL

new package Day01을 만들고

new class first를 만들어

"first program" 출력해라

 

 

public static void main(String[] args) {

}

이 문장은 메인 프로그램

문자, 숫자를 출력하기 위해서는

System.out.println(”출력할 문자 작성”);

System.out.println(”first porgram”);

작성후 ctrl + F11을 누르면

first porgram이 출력이 된다.

728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

User Input (사용자로부터 입력을 받는 기능)  (0) 2023.01.09
연산(Operation), 연산자(Operator)  (0) 2023.01.09
변수(Variable)  (0) 2023.01.09
주석(comment)  (0) 2023.01.09
JAVA란 ?  (0) 2023.01.09
728x90
반응형
SMALL

(1) 변수 = 변하는 값

     처음은 이름이 없는 변수 였다가 과정을 거쳐 name이라는 이름을 붙여줌

     숫자(정수, 실수), 문자가 가능하다.

     // first program을 출력하기까지 변수는 없었다.

 

(2) 반대말은 안 변하는 값 = 상수(Constant)

 

(3) 변수명 규칙

      숫자로 시작할 수 없음!! 

            1num(x)  num1(o)

      공백 없음

            my age(x) my_age(o)

      특수문자는 _와 $만 사용가능!!

      // _는 뛰어쓰기 대신해서 쓰임 -> 공백이 없어야 하기 때문에 (공백 대체용)     

           ex) _init, __init : 이것은 시스템을 건드리는 함수이기에 건들이지 마시오!

     대소문자 구분

           age, Age는 다른 변수!

 

 (4) 암묵적인 변수명 룰

       클래스 : 시작은 대문자, 두번째 이하는 소문자 (First)

       상수는 처음부터 끝까지 대문자 : PARAM, PI

       변수명은 소문자로 시작하여 대부분은 소문자만 씀

             myAge : Camel 표기법

             my_age : Snake 표기법

             Camel 표기법이 헤살리기 쉽기 때문에 Snake 표기법을 더 많이 사용, 함수에서 보기 더 적합하기 때문!

             ck) pintScreen :표준 표기법

 

 (5) 인덱스 변수

       특별한 의미를 가지는 것은 아니고 순서 등 숫자가 필요한 경우

       정수를 표현할 때 : i, j, k, l, m (자기마음대로 내키는대로 쓰면됨!!)

       ex) array[i][i]

 

 (6) 변수 타입

       byte : -128 ~127, 1byte = 8bit

       boolean : true or false (cf. python True, False)

       자바와 C는 소문자 파이선은 대문자

       char(0 ~ 255), shot, int, long : int(적당히 큰 정수), long(매우 큰 정수)

       float, double : float(적당히 큰 소수), double(큰 소수)

       [애매할 때 double쓰고, float는 전 과목 평균 점수 // 일반적으로 double을 씀]

       16.878   16787  -5

 

        C, C++  Java, Javascript(배열없는 C)

        C와 Javascript가 유사하며, C++과 Java도 유사

 

 (7) char

      숫자로 저장되며, 읽을 때는 문자

      캐릭터로 선언할 경우 읽을 때 문자 byte로 선언할 경우 109

      a(97), A(65), 0(48) : Ascii(American Standard Code for Information Interchange)

      a라는 문자는 97이고 A라는 문자는 65, 0이라는 숫자는 30이다.

      1111 = F, 1000 = 8, 97 = 0X61, 65 = 0X41, 48 = 0X30

      x = 헥사

      A > a 이것이 맞는가 (x) [ascii로 표현할 경우 소문자가 더 크다.]

 

 

 

(8) String

      문자열을 나타내기위한 클래스

      String name = "jwlee";

      cf) OOM(Out of Memory)

 (9) boolean

      true 또는 false 값만 가지는 변수

      byte -128 127, 5, 0

      char 1 0 // 도 가능함!

 (10) 상수

         일반적으로 대문자 사용

         안전장치를 위해 final이라는 키워드 사용

             final이 선언된 변수를 수정하면 컴파일 시 오류

             cf) final : 변수, 상수, 클래스에도 사용가능

 (11) 형변환(Type Casting)

        실수를 정수에 넣으려면 오류(작은집으로는 못감) [강제로 넣어야함]

        정수를 실수에 넣으면 들어감

        강제적(명시적) 형변환 : 큰 타입의 변수를 작은 타입으로 넣을 때

 

728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

User Input (사용자로부터 입력을 받는 기능)  (0) 2023.01.09
연산(Operation), 연산자(Operator)  (0) 2023.01.09
class first  (0) 2023.01.09
주석(comment)  (0) 2023.01.09
JAVA란 ?  (0) 2023.01.09

+ Recent posts