국비교육

국비지원 54일차 (JAVA - 연산자, 문자열,조건문(if,switch공식))

재밌는개발러 2023. 10. 11. 18:45

※JAVA - 연산자

   1. 사칙(산술) 연산 : + ,- , * ,/, % , >>,<<(시프트연산자)
   2. 비교 : <,>,<=,>=,==,!=
   3. 논리 : &&,||
   4. 대입 : =
   5. 증감 : ++,--
   6. 삼항 : 조건식?'참':'거짓'
          ex) num>10? '크다':'작다'

  *우선순위는 => 사칙  > 비교 > 논리 > 대입 순으로 정해진다.

 

※JAVA - 연산자 예제

//시프트 연산자
int i = 5;
System.out.println(i << 2);

System.out.println(5/2); // 2 
System.out.println(5%2); // 1

System.out.println(5/2.0); 
System.out.println((int)(5/2.0));

1) System.out.println(i << 2);

-> 5를 2진수로 하면  '101' 왼쪽으로 두 칸 움직여라 하면 '10100' 16+4 = 20 나옴

2) System.out.println(5/2); 

-> 정수와 정수로 나누기했을시 자바스크립트에서는 2.5 나오지만, 자바에서는 정수로 나옴

3) System.out.println(5/2.0); 

-> 실수와 정수로 나누기 했을시 double 정수랑 double이 만나면 계산하면 더 큰 것인 double로 나옴. 즉, 2.5 결괏값이 나옴

 

※JAVA - 문자열

-> 문자열은 각 속성별로 예제로 알아볼 것이다,  함수명(메서드)이라 뒤에 () 명시를 꼭 해줘야 한다.

 String s = "Hello World Hello java";
 System.out.println(s);

 

※ 문자열길이(length()) -> 빈칸이나 띄어쓰기까지 다 포함된다.

System.out.println("length: " + s.length()); //length: 22

 

 대소문자 변환(대문자:touppercase(), 소문자: tolowercase())

System.out.println("대문자: " + s.toUpperCase()); //대문자: HELLO WORLD HELLO JAVA
System.out.println("소문자: " + s.toLowerCase()); //소문자: hello world hello java

 

특정 문자열 포함하고 있는지 체크(contains()) -> 대소문자까지 정확하게 일치해야지 true출력됨.

System.out.println("포함 확인: " + s.contains("h")); 
//포함 확인: false
// hello 하면 false, Hello 하면 true

 

몇 번째 있는 문자열인지 확인(앞에서 찾을 때:indexof() , 뒤에서부터 찾을 때:lastindexof())

-> lastIndexOf는 뒤에서부터 해당 문자열을 찾고 왼쪽에서부터 0번 인덱스 번호부터 위치를 찾는다.

System.out.println("몇번째: " + s.indexOf("Hello")); //몇번째: 0
System.out.println("몇번째: " + s.lastIndexOf("Hello")); //몇번째: 12

 

 문자열의 시작단어와 끝단어 확인(시작단어: startsWith , 끝단어:endsWith)

System.out.println("시작단어1: " + s.startsWith("Hello")); //시작단어1: true
System.out.println("시작단어2: " + s.startsWith("hello")); //시작단어2: false
 System.out.println("끝단어: " + s.endsWith("java")); //끝단어: true

 

문자열에 변환(대체)(replace())

 System.out.println("Hi로 변환: " + s2.replace("Hello", "Hi")); //Hi로 변환: Hi World Hi java

 

※ 문자열 잘라내기(substring , split)

//substring()
// 6번째 문장부터 잘라내기-> 6번째문자부터뒤에 쭉 출력됨
  System.out.println("6번째 문자: " + s2.substring(6)); //6번째 문자: World Hello java

// 6번째 문장부터 11번째까지 잘라내기
  System.out.println("6~11번째 문자열: " + s2.substring(6, 11)); //6~11번째 문자열: World
  //11번째 미만 까지 나타냄 글자수 (10글자까지표현됨)
  
//split() -> 자르면 배열로나타냄
-> ()안에 문자나 숫자로 잘라서 ,로나타내고 그 앞뒤로 인덱스값을 표현함.
String id = "123456-1234567";
String id1 = (id.split("-")[0]); // 123456
String id2 = (id.split("-")[1]); // 1234567

 

문자열 앞뒤 공백제거(trim())

String s3 = "     Hello     World     "; // 공백 5칸씩 글자 5글자씩. 총 25개 문자
System.out.println(s3.length()); // 25
System.out.println("s3: " + s3.trim());//s3: Hello     World
System.out.println(s3.trim().length()); // 15 -> 앞 뒤의 공백만 제거

 

문자열 결합(concat())

String s4 = "Hello";
String s5 = "Java";
System.out.println(s4+" "+s5); //Hello Java
System.out.println(s4.concat(" ").concat(s5)); //Hello Java

 

 문자열 비교(equals() , equalsIgnoreCase())

String s6 = "Java"; //대문자
String s7 = "java"; //소문자
System.out.println(s6.equals(s7)); //false -> 대소문자까지 비교해 문자열 값 같으면 true, 다르면 false
System.out.println(s6.equalsIgnoreCase(s7));//true -> 대소문자 상관 없이 글자가 같으면 true

 

※조건문- if. switch개념

->조건문 {} 스코프에 코드 넣고 특정 조건일 때만 실행하는 코드

 

 1) if 공식

       if(조건식) {
           - 조건식이 참 일 때만 실행
           - 단독 사용 가능
 
       }
       else if(조건식) {
           - 위에 세트로 되어있는 조건식이 거짓이고, 현재 조건식이 참일 때만 실행
           - 단독 사용 불가능
 
       }
       else  {
           - *조건식이 없다.
           - 위에 세트로 되어있는 모든 조건식이 거짓일 때만 동작한다.
           - 단독 사용 불가능.
 
       }
      *중첩 가능

 

2) swich /  swich case공식

-> switch(조건식) {// 식부분에는 boolean 형은 못 옴
        case 결과 1:
            실행할 코드 ;
            break;
        case 결과 2:
            실행할 코드 ;
            break;
        case 결과 3: -> 결과 3 이랑 결과 4 값의 실행할 코드가 똑같을때 같이 적을수있다.
        case 결과 4:
            실행할 코드 ;
            break;
        ...
        default:
            실행할코드 ;
            break;

}
 - 중첩 -
    switch(식) {
        case 결과 1:
            switch() {
                case 1:
                    실행할 코드;
                    break;
                ...
                defalut:
                    실행할 코드;
                    break;
            }
        defalut:
            실행할 코드;
            break;

 }