자료의 표현 방식
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: 문자 변수 '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 |