본문 바로가기

TIL

22.11.08_TIL_내배캠

자료의 표현 방식

1.정수표현 (고정 소수점)

 1)10진 연산

 2) 2진 연산

 

2.실수표현(부동 소수점👿)  (https://thrillfighter.tistory.com/349)

부호부(sign bit) : 양수 '0' , 음수 '1' 로 표기

지수부(exponent bit) : 바이어스 표현법 

가수부(fraction bit) :  아래 참고. 

 

바이어스표현법

19.25(십진법)=10011.01(2진법)= 1.001101 2^4   (더 쉬운 바이어스 표현법 https://infosul.tistory.com/5) 127+지수

4(십진법) = 100(2진법)

100+0111 1111 = 1000 0011 까지는 이해가 잘 되는데.. .. 왜.... 저게 

이 되는거지?... 튜터님이 부동소수점 유튜브 올려주신거 봤다가 어휴.. 두야.. 영상은 참 재미진데 ㅠㅠ.. 

 

 

부호부 지수부 가수부
0 1000 0011 (바이어스) 001101 (소수점 뒷자리부터)
0100 0001 1001 1010 0000 0000 0000 0000

https://www.youtube.com/watch?v=8afbTaA-gOQ  엄청 친절한 유튜브.

 


연산자 

산술 대입 관계 논리 비트
+ , - , * , / , % A += B;    // A = A + B
-= , *= , /= , %=
A==B : 두값이 같은지
A!=B : 두값이 다른지
참 경우, true
거짓 경우, false
boolean a = true;
boolean b = false;
& : and
| : or
피연산자를 비트단위로 논리연산 (2진수)

http://www.tcpschool.com/c/c_operator_bitwise

+논리연산자

boolean a = true;
boolean b = false;

System.out.println(a && b);
// &&는 두가지 모두 참일 경우에는 true를, 그렇지 않을 경우에는 false를 반환합니다.
System.out.println(a || b);
// ||는 두가지 모두 거짓일 경우에는 false를, 그렇지 않을 경우에는 true를 반환합니다.
System.out.println(!b);
// !는 피연산자의 논리값을 바꿉니다. true는 false로 , false는 true로 반환합니다.

자료형 퀴즈

    1. 자료형 - 퀴즈 1: 문자 변수 'S' , 정수형 변수 10 를 선언 및 출력해보세요.
        char a = 'S';
        int b = 10;
        System.out.println(a+b); //출력값 93 ∵ a가 ASCII 코드 값 반영하여 더해짐
        System.out.println(a+""+b); //출력값 S10 
        System.out.println(a+"\n"+b); //출력값 S \n 10   \n은 줄바꿈 표시

조건문

조건문에는 대표적으로 if,switch ,삼항연산자 조건문

 

if문 ~ else if문

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //system input을 받을꺼야.
        int score = sc.nextInt(); //다음에 들어오는 숫자를 받을꺼야.
        if (score <= 100 && score > 90){
            System.out.println("A등급입니다.");
        }
        else if(score <=90 && score > 80){
            System.out.println("B등급입니다.");
        }
        else if(score <=80 && score > 70){
            System.out.println("C등급입니다.");
        }
        else{
            System.out.println("F등급입니다.");
        }
    }
}

 

switch문

char score = 'A';
switch (score) {
    case 'A':
        System.out.println("A등급입니다.");
        break;
    case 'B':
        System.out.println("B등급입니다.");
        break;
    case 'C':
        System.out.println("C등급입니다.");
        break;
    default:
        System.out.println("C등급보다 낮은 등급입니다.");
        break;
}

Java에서는 한 문장의 끝에 세미콜론, 여기서도 break; break를 하지 않을 시, 다음 case코드 블럭도 실행 됨.

break는 해당하는 case의 코드를 실행 후, switch문 밖으로 나가게 해주는 역할

 

삼항연산자

int a = 5;

String reuslt = (a < 10) ? "10보다 작습니다." : "10보다 큽니다.";
System.out.println(reuslt);

 


 

반복문

복문에는 대표적으로 for 문과 while 문 그리고 do ~ while

for문

for-each문

public class Main {
    public static void main(String[] args) {
				// write your code here
				String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
				
                for (String day : days) {
                    System.out.println(day);
                }
    }
}

 

while문

int i = 0;
while (i < 10){
    if (i==5){
        break;
    }
    i += 1; //없을 시, i가 0에서 머물러 무한루프.
}
System.out.println(i);  //출력값 5

 

do-while

int i = 1;
int result = 0;
do {
    result += i;
    i += 1;
} while (i < 2);
System.out.println(result);

//결과값 1

do-while문과 while문의 차이가 나타납니다.

while문은 조건식에 부합할 경우 코드 블럭을 실행하지만,

do-while문은 일단 코드 블럭을 무조건 한번 실행한 후, while문의 조건을 비교합니다.


 

객체지향언어

프로그램을 객체를 만들어 서로 상호작용을 통해 만들어 지는 방식.

 

클래스(class)

표현하고자 하는 대상의 공통 속성(=객체의 속성)를 한군데 정의.

클래스 내부의 정보를 멤버 변수.

객체를 생성하는데 사용.

ex)붕어빵 기계

 

인스턴스(Instance) = 객체

클래스로부터 만들어진 객체를 그 클래스의 인스턴스. 실제로 존재하는 사물or 개념

객체의 속성과 기능마다 용도가 다름.

ex)붕어빵(슈크림, 초코, 팥, 맛있는, 다 타버린 등등)

 

인스턴스의 멤버변수에 접근할 때는 [생성된 인스턴스.멤버변수] 의 형식을 사용.

 

메소드(method)

작업을 수행하는 코드를 하나로 묶어 놓은 것.

  • 필요한 이유
    • 재사용성
    • 중복코드제거
    • 프로그램 구조화
//프로그램 구조화
int[] heights = new int[5]; // 키가 들어가 있는 배열

initHeight(heights); // 1. 키에 대한 초기화
sortHeight(heights); // 2. 키를 오름차순으로 정렬
printHeight(heights); // 3. 정렬된 키를 출력
  • 메소드를 만들 때
    • 동작내용이 드러나게 이름짓기, 이것을 readability가 좋다.
    • readability기본 품질을 위하여 java로 메소드를 만들때 지켜줘야하는 기본약속
      • 동사로 시작
      • camelcase로 작성

class Calculation {
    int add(int x, int y) {
        int result = x + y;
        return result;
    }// 두 값을 더한 결과

    int subtract(int x, int y) {
        int result = x - y;
        return result;
    }// 두 값을 뺀 결과 
}

public class Main {
    public static void main(String[] args) {
        Calculation calculation = new Calculation();
        int addResult = calculation.add(100, 90);
        int subResult = calculation.subtract(90, 70);

        System.out.println("두 개를 더한 값은 " + addResult);
        System.out.println("두 개를 뺀 값은 " + subResult);
    }
}

메소드내의 변수는 지역변수로써 메소드 내부에서만 사용할 수 있는 변수

즉, 서로 다른 메소드라면 같은 이름의 지역변수를 선언하여 사용가능


오늘 한 일

1.java공부

2.옛날사람이라 그런지 책이 좋다. 점심 때, JAVA의 정석을 샀다. 

   다 해놓고 바이어스 자리수 안 맞은거 때문에 화나서 산거 아님 진짜.  

 

내일할 것 

파이썬or알고리즘 공부

 

느낀점

1.공부할게... 엄청 많다........................ 하핫

2.간간히 들려오는 CS도 챙기며 가는게 맞는건지,  그냥 들려오는거 궁금해도 다 무시하고 진도를 나가는게 맞는건지.. 

지금의 내귀는 팔랑귀요.. 

 

 

 

 

 

 

 

 

 

 

 

'TIL' 카테고리의 다른 글

22.11.10_TIL_내배캠  (1) 2022.11.10
22.11.09_TIL_내배캠  (1) 2022.11.09
22.11.07_TIL_내배캠  (0) 2022.11.08
22.11.05_TIL  (0) 2022.11.06
22.11.04_TIL_내배캠  (2) 2022.11.05