JAVA(2)_변수, 출력, 반복문, 조건문

Wooney98·2022년 11월 2일
1

JAVA

목록 보기
2/8
post-thumbnail

자바 기본 문법

변수

  • 자바는 파이썬과 달리 변수 선언 시 해당 변수의 타입을 지정해주어야 한다.
  • 근데 자바 10 이상부터는 var을 이용해서 파이썬처럼 변수 타입을 지정해주지 않아도 선언 가능함.
int a = 0;
String a = "abc";
char a = "a";
double d = 0.1; //8byte
float f = 0.1; //4byte

//double과 float은 이렇게도 사용 가능
float f = 0.1234f; //뒤에 f를 붙여 무슨 형인지 확인 가능
double d = 0.1234d; //뒤에 d를 붙여 무슨 형인지 확인 가능

//언더스코어 _
//int형에서 _를 붙이면 인식을 하지 않는다. 숫자가 길어지는 경우 구분하기 위해 사용한다.
int a = 20_000; //20000으로 출력


//변수에서의 언더스코어
//파이썬처럼 잠시 변수를 담아두는 공간으로는 사용이 불가능하다.
int a_;
int _a;
int _ //사용 불가능력하세요

출력

  • System.out.println( ), System.out.print( )
//일반적인 출력 방식
System.out.println("숫자 입력");
System.out.print(n[i][j]+" ");
//변수는 일반적으로 입력하면 되고 문장을 이어주고 싶으면 + 로 이어주면 된다.
System.out.println(price+"원 : "+(num/price)+"개");
System.out.println("평균은 "+mean);
  • System.out.printf( )
    • 문장 안에 %d, %s 등 변환 문자열을 사용할 수 있게 한다
    • 변환 문자열 기호: %s(문자열), %d(정수), %f(실수), %c(문자), %b(boolean)
System.out.printf("%.2f인 원의 면적은 %.2f입니다.", r, area);
System.out.printf("%d 점수는 %s 학점입니다", score, grade);
  • 이스케이프 문
    • ‘\’ 을 이용해서 문자열 안에 원하는 행동을 할 수 있게 한다.

반복문

for문, while문, do-while문이 있다

  • for문
for(초기문장; 조건문장; 반복 후 작업할 내용){
		//작업문
}

for (int i=0; i<10; i++){
		sum += i;
}

for(;;) //무한반복의 의미이다.
  • 향상된 for문
    • 파이썬처럼 배열의 모든 항목을 꺼내고 싶을 때 사용한다.
    • iterable한 객체만 사용이 가능하다. 파이썬처럼 문자열은 사용 불가능.
    • 읽기(read)만 사용 가능하고 쓰기(write)는 사용 불가능하다.
int array[] = {1,2,3,4,5};
for(int number : array){
		System.out.println(number);
}
  • while
    • 반복 조건문이 true이면 반복, false이면 나간다.
while(조건식){
		//코드부분
}
  • do-while
    • 일단 무조건 한번은 실행되고 그 후는 조건에 의해 반복된다.
do{
		//코드부분
} while(조건식);

조건문

if, else, if-else, switch-case, 삼항연산자가 있다.

  • if-else

    • 조건을 여러개 주고 싶을 때 사용
    • if문이 아니면 else-if로 넘어가게 되고 else-if에서 걸린 조건은 그 다음 else-if로 가지 않고 if문을 빠져나간다.
    • 일반 if문이면 조건에 맞아도 다음 if문으로 넘어감.
  • switch-case

    • if문을 여러개 하고 싶은데 조금 간결하게 사용하기 위해 사용된다.
    • switch( ) 괄호 안에 변수나 원하는 값을 입력한다
    • case에는 switch안에 들어온 값 중 원하는 값마다 처리할 내용을 적어주면 됨
    • 근데 문제는 else-if가 아닌 if문이라 계속 밑으로 내려가기 때문에 break를 걸어 다음 case가 실행되지 않게 한다.
System.out.println("월 입력: ");
		int month = scan.nextInt();
		int day = 31;
		switch(month) { //조건문으로 month의 값이 무슨 값이 들어오냐에 따라 다르게 처리
			//case의 조건이 여러개 선택되고 싶을 때 이렇게 사용한다.
			case 1: case 3: case 5: case 7: case 8: case 10: case 12:
				break;
			case 4: case 6: case 9: case 11:
				day = 30;
				break;
			case 2:
				day = 28;
				break;
			//case에서 선택되지 않은 값이 들어올 경우 처리해야한다.
			default:
				System.out.println("잘못된 입력입니다");
				break;
		}
System.out.printf("%d월은 %d일까지 있습니다", month, day);
  • 삼항연산자
    • if문 코딩시 불필요한 라인을 줄여주는데 좋은 역할을 함
    • (조건문) ? 참일시 실행 : 거짓일시 실행 이렇게 사용한다
int a = (5>4) ? 50 : 40  //5는 4보다 커서 조건문이 참이므로 50이 들어간다.
  • 중첩해서 사용도 가능하다. 참일시 실행 부분이나 거짓일 시 실행 부분에 삼항연산자를 다시 넣는 것도 가능하다. 근데 이게 너무 많이 중첩되면 코드가 한눈에 보기 힘들 수 있음을 기억하자.
int num = 5;
char c = 'A';
// (조건문 ? 참일 시 실행(조건문 ? 참일 시 실행 : 거짓일 시 실행) : 거짓일 시 실행)
String result = num == 5? c == 'A'? "num은 5, c는 A" 
								: "num은 5, c는 A가 아님" : "num은 5가 아님";
int a = 10; 
int b = 10; 

System.out.println((a > b) ? "a는 b보다 크다" 
							: (a < b) ? "b는 a보다 크다" : "a와 b는 같다.");
//리턴값으로 바로 삼항연산자를 이용해서 지정 가능함.
public boolean checkSuccess(char firstwordchar) {
		return word.charAt(word.length()-1) == firstwordchar? true:false;
	}
profile
👨Education Computer Engineering 🎓Expected Graduation: February 2023 📞Contact info thstjddn77@gmail.com

0개의 댓글