GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the Java

Back to the Basic 기본을 다잡자 2

Backcoder 2022. 6. 21. 19:34

< java 종류 > 

java ME (Mobile environment ) => android , 모바일 

java SE (Standard environment ) => desk top 환경  -> java application 이용 / 반드시 main 메소드 이용 / 

java EE (Enterprise environment ) => 웹서버환경 자바실행 / sevlet jsp spring mvc / jdk + 웹서버tool / 



< if 절 >

- else 에는 "if 가 아니다" 뜻이 포함이 되있다.

if (grade >= 90) {
            System.out.println(grade + "점으로 A 입니다.");
        } else if (grade >= 80 && grade < 90) {               // 이때, else 라는 뜻에 90이상이 아니라는게 포함되어있음 
            System.out.println(grade + "점으로 B 입니다.");   // 즉, 이렇게 다시 적어줘야할 필요가 없음 
 
=> else if (grade >= 80) { sout ("B입니다") ;}                // 이렇게만 하면 + <90 이 포함되어있음

 

 


<변수가 어디서 선언되었나 잘 봐야 한다. // 선언 VS 할당 > 

main { 
Stirng A = " 선언 "; }            => main 전체에서 사용 가능 

main { 
~~ if ( ) { String A = "선언";     => if 절 안에서만 사용 가능  
 
( 선언안하고 그냥 ) 
      if( ) {  A = " 할당하기 ";   }  => 위에 String A 에 새로운 변수 값을 할당한 것 ( overriding 처럼)   


응용  => 반복 제거! 좋은코드! 

 

main{ 
Stirng result = "";                                // main 전체에서 사용할 수 있게 빈값으로 선언만 해둠  ( 선언만해두기 스킬! )

if (avg>80) { result = "수료"; }             // 각각의 경우 result 변수값을 할당해서 집어넣음    (오버라이딩처럼) 
      else{ result = "미수료"; }  
sout ( result );                                     // 집어넣어진 result 변수값을 출력

 

 


< swtich 문 >   

 => random 값하고 사용하기 좋다  => "난수"

 

 

int month = (int)(Math.random( )*12)+1 ;

    int day = 0;   
   
  switch(month){
case 1 : day = 31;   break;
case 2 : day = 28;   break;
case 3 : day = 30;   break; 
default : sout("목록에 없습니다"); }
sout( month );

 

+ break 활용 

case 1 : 
case 3 : 
case 10 : 
case 12 : day = 31; break;                     <<= break 로 공통된 거 같이 적용되게 끊어줌. 

                                                              <== 1,3,10,12 는 모두 day=31; 값을 가진다

 

 



< case "스트링" : ~   > String 도 지원한다.  // + enum 도 지원한다. // byte,short,int,  char,String,enum 지원 

String month = "1월"; 
String day = ""; 

switch( month ) { 
case "1월" : day = "31일"; }
sout ( day ); => 31일 //



 

< for 문 >     <= 유한횟수에 많이 쓴다.

 
for ( 반복시작문장; 반복조건문장; 변화문장 ) { 반복적 수행 문장들; }
for ( 1; 2; 3 ) { 4; } 

  2=> 1 => 4 => 3 => 2=> 1 => 4=> 3  . . .    
(맨처음도 2만족해야 실행됨)

< while 문 >    <= 무한횟수 / 몇번나올지 모를때 주로 사용 

 

반복 시작문장 선언 ;
while (반복조건문장) { 반복수행문장; 변화문장; } 

 

int random = (int)(Math.random( )*100)+1
while (random != 50) { sout (random); }        // 몇번을 수행해야 할지 모른다.



< 10의 배수가 나올때까지 반복문 돌리기 > 

 

int su = (int) (Math.random() * 50) + 1;

        while (su%10 != 0){
            System.out.println(su); 
            su = (int) (Math.random() * 50) + 1;                     // 변수 su 값에 다시 랜덤값을 주고 마무리. 
               // 이렇게 안해주면 그 값을 그대로 다시 넣어서 무한반복 
        }

 



< 별트리 만들기 >  - 알고리즘 첫 시작 

 

for (int ff=1; ff<=10; ff++){
            for (int pp =1; pp<=ff; pp++) {   

                                   // 중첩 반복문에서, outter 중첩 반복문의 변수를 inner 중첩문에 활용하기 스킬
 
                System.out.print("*");           //print 로 하면 옆으로 쭉 붙이고 ( 구구단만들기용 )
            }
            System.out.println();  }              //prnitln = print(/n) 과 같은의미. 출력하면서 한 line 을 띈다. 
        
for (int ff=1; ff<=5; ff++){                      // 거꾸로 
            for (int pp=5; pp>=ff; pp--)
            {
                System.out.print("*");
            }
            System.out.println();    }

 

 

 

 

< do-while 문 >               

 =>  최소 1번의 수행은 함. ( for / while 문은 조건 만족 안하면 한번도 수행되지 않음 ) 

 

int a = 1; 
do{ sout(a); a++; } while(a<=10);              // 먼저 바로 수행하고, 그다음 조건보고 돌린다.