자바 2일차

선장원·2021년 10월 1일

자바

목록 보기
2/24

2일차(10/1)

비대면 대면이 교대하면서 이것 저것 설치를 다시 하면서 잡담을 해주셨다.

프로젝트를 들어갈 때 과정이고 해야하나??

기획

요구분석

설계(기능, 성능)

  • UI(User Interface, 보이는 화면), UX(User Experience, 사용자 경험/사용성)

개발

  • 코딩하는 부분

테스트

  • ui
  • intergrated test (이거는 정확하지 않음 스펠링이 잘 안보였음)

프로그래밍에서 =의 의미

  • 무조건 우변에 있는 내용을 좌변에 대입한다!!!
  • =이 있는 문장을 만나면 우변부터 봅시다
  • 우변이 먼저 수행된다.

변수

  • 어떠한 값(데이터)을 담는 컴퓨터(메모리)상의 공간
  • 변수를 사용하려면 선언하고 값을 담아야함
    1. 선언과 동시에 값을 담거나
    1. 선언 후 값을 담을 수 있음.
  • 선언
    1. 변수타입 변수이름 = 데이터;
    a. 특정 타입으로 선언하 변수는 해당 타입의 데이터만 다룰 수 있음
    1. 변수 선언 후
      a. 변수이름 = 데이터;
  • 선언 하지 않은 변수는 사용 불가능

변수의 타입(Type)

  • 기본형 타입(primitive) : int, long, float, doble, boolean
    1. 실제 메모리에 저장/데이터를 직접 담고 있다.
    1. 소문자로 시작
  • 객체 (참조형) : String등
    1. 메모리 주소 값이 들어있어서 주소로 입력???????
    1. 대문자로 시작
    2. 진정한 자바라고 한다. 객체 지향 프로그래밍
    3. 클래스를 가져오는 것????
  • 데이터 종류가 여러 가지인 만큼 이 데이터를 다루기 위한 타입도 존재
    1. 데이터 종류 : 숫자(정수, 실수), 문자, 문장, 참/거짓
  • 숫자 데이터
    1. 정수형 타입 : int(4byte), long(8byte)
    a. int는 21억까지 그 이상은 long 변수를 사용한다.
    2. 실수형 타입 : float, double
  • 문자 또는 문장 데이터
    1. String
  • 논리 데이터(참/거짓)
    1. True(참), False(거짓) 딱 두 값만 가짐
    1. boolean

변수명 작성 규칙

  • 최대한 의미있는 단어로 변수명을 짓는다. (처음부터 습관을 들여야한다 나중에가면 고치기힘들다)
  • 영문자(소문자)가 먼저 온다.
  • 카멜케이스
    1. firstName
    1. num1, num2, num3
    2. first_name
  • 예약어는 사용할 수 없다.
    1. 예약어 : 문법 등으로 지정된 단어
    1. 예) int, long if, for, while

컴파일 오류 = 선언하지 않은 변수를 사용

long 타입 변수
long longVar = 10L;
long 롱타입 변수 뒤에는 L을 쓰지만 출력 되지 않는다.

float 타입 변수
float floatVar = 1.234f;
float 타입의 변수 뒤에는 f 를 붙여준다

double 타입 변수
double doubleVar = 1.234;
double

bool 타입 변수
boolean booleanVar = false;

string 타입 변수
string stringVar = “스트링 타입의 데이터는 더블쿼터로 묶어줍니다. 123asdf”;

/*
*
*/

여러 줄에 길게 주석을 쓰는법

변수 선언 실습!

/*
		 * 여러 줄에 길게 주석을 쓰는 법
		 * 
		 * 아래와 같은 조건의 변수를 각각 선언하고 값을 출력하세요
		 * var1 : 정수 10을 가지고있는 변수
		 * var2 : 정수 200억을 가지고 있는 변수
		 * var3 : 3.14를 가지고 있는 float 변수
		 * var4 : 3.141592를 가지고 있는 double 변수
		 * var5 : true를 가지고 있는 논리형 변수
		 * var6 : 오늘은 2021년 10월 1일 금요일 입니다. 를 가지고 있는 String 변수
		 * 
		 */

		int var1 =10;
		long var2 = 200000000L;
		float var3 = 3.14f;
		double var4 = 3.141592;
		boolean var5 = true;
		String var6 = "오늘은 2021년 10월 1일 금요일입니다";

int var21 = 20000000000;
int 변수는 21이 넘어가면 오류가 난다.

컴퓨터(computer)는 계산하는(compute) 것? 이라는 뜻으로
그래서 계산인 연산자를 배우겠다.

연산자

산술 연산자

  • 변수 연산자 변수
    • : 더하기
    • : 빼기
    • : 곱하기
  • / : 나누기
  • % : 나머지 연산

비교 연산자

  • 양쪽을 비교해서 결과를 boolean 타입(true, false)으로 리턴(출력)
    1. \<
    1. >
    2. <=
    3. >=
    4. == : 양변이 같다면 true, 다르면 false
    5. != : 양변이 다르면 true, 같은면 false
  • 5 > 3 = true
  • 7 < 2 = false

대입 연산자

  • a+=b -> a = a + b
  • a-+b
  • a*=b
  • a/=b
  • a%=b
  • a랑 b를 연산한 값을 다시 a로 누적? 보낸다?
  • 이거 좀 어렵네
  • 변수 오염? 뭐라고 하지
  • 변수 선언을 사용하지 않아도 대입 연산자를 사용하면 계속 유지 된다.

실습

산술 연산자 실습

		/*
		 * 정수형 변수 num1, num2를 각각 선언하고
		 * 초깃값은 num = 5, num2 = 3을 대입한다.
		 * 그리고 +, -, *, /, % 연산자를 사용하여 각각의 연산결과를 출력하시오
		 */
		int num1 = 5;
		int num2 = 3;
		System.out.println("더하기: " + (num1 + num2));
		System.out.println("빼기: " + (num1 - num2));
		System.out.println("곱하기: " +(num1 * num2));
		System.out.println("나누기: " + (num1 / num2));
		System.out.println("나머지: " + (num1 % num2));
		float num3 = 5, num4 = 3;
		float num5 = num3 / num4;
		System.out.println ("나누기: " + (num5));

System.out.println("더하기 : " + num1 + num2);
처음에 이렇게 하고 값이 더하기 : 53이 나와서 김동혁한테 물어봤다가 욕 엄청 먹음

"더하기 : "는 문자고 +는 문자열에서 더하기가 아니라 연결의 의미로 사용이 돼서 값이 다르게 나온 것이다.
그래서 +는 연결이라 더하기 : 53이 나온 것이고 -는 오류가 나는 것이다.
멍청했다.
여름이였다.

계산 결과를 담는 변수 활용

int result = 0; (int 변수 결과에는 0을 넣어둔다)
result = num1 = num2;

바로 실습!

// 계산 결과를 담는 변수 활용
		int result = 0;
		result = num1 + num2;
		System.out.println("result" + (result));
		result = num1 - num2;
		System.out.println("result" + (result));
		result = num1 * num2;
		System.out.println("result" + (result));
		result = num1 / num2;
		System.out.println("result" + (result));
		result = num1 & num2;
		System.out.println("result" + (result));
		
		// 주의 할 것
		result = num1 + num2;
		result = num1 - num2;
		result = num1 * num2;
		result = num1 / num2;
		result = num1 & num2;
		System.out.println("result" + (result));
		System.out.println("result" + (result));
		System.out.println("result" + (result));
		System.out.println("result" + (result));
		System.out.println("result" + (result));
		System.out.println("result" + (result));
		// 이런식으로 하면 마지막에 있는 result 결과만 계속해서 나와
		// 아니면 결과 변수를 각각 지정
		int result1 = num1 + num2;
		int result2 = num1 - num2;
		int result3 = num1 * num2;
		int result4 = num1 / num2;
		int result5 = num1 & num2;
		System.out.println("result" + (result1));
		System.out.println("result" + (result2));
		System.out.println("result" + (result3));
		System.out.println("result" + (result4));
		System.out.println("result" + (result5));

String 클래스에서 +의 역활

위에서 + 얘기가 나와서 한번 더 함

		// String 변수간의 + 역할
		String strVar1 = "오늘은 ";
		String strVar2 = "금요일입니다.";
		System.out.println(strVar1 + strVar2);
		String strVar3 = strVar1 + strVar2;
		System.out.println(strVar3);
		
		String strVar4 = strVar1 + "10월 1일 입니다.";
		System.out.println(strVar4);

String 클래스에서 length() 메서트 호출하기

  • String 클래스에서 제공하는 length() 메서드 호출
  • length() : String 변수의 길이값(글자수)을 알려줌
  • 공백도 한 글자이다
		// String 클래스에서 제공하는 length() 메서드 호출
		// length() : String 변수의 길이값(글자수)을 알려줌
		// 공백도 한글자 
        String strVar1 = "오늘은 ";
		String strVar2 = "금요일입니다.";
		System.out.println(strVar1.length()); //4
		System.out.println(strVar2.length()); //7

비교 연산자 실습

		/*
		 * num1 =7, num2 = 3을 각각 줬을 때
		 * <, >, <=, >=, ==, !=을 각각 수행한 결과를 출력하세요
		 */
		int num1 = 7, num2 = 3;
		System.out.println(num1 < num2);
		System.out.println(num1 > num2);
		System.out.println(num1 <= num2);
		System.out.println(num1 >= num2);
		System.out.println(num1 == num2);
		System.out.println(num1 != num2);

비교 연산자 결과를 담는 변수 활용

int result = 0;
result = num1 < num2;
위 함수는 오류
이유는 비교 연산자의 값은 boolean 값인데 int 값으로 출력할 수 없어서
타입 불일치 오류가 뜬다.

boolean result = false;
result = num1 < num2;
로 해야 boolean 값으로 출력이된다
boolean의 결과 변수 값에는 false 를 넣어서 만든다?

대입 연산자 실습

		// 정수형 변수 2개를 선언해서 대입 연산자 수행결과를 출력해보세요
		int num1 = 5, num2 = 3;
		
		System.out.println("+num1: " + num1 + "  num2: " + num2);//5, 3
		num1 += num2;
		System.out.println(num1); // 8
		
		System.out.println("-num1: " + num1 + "  num2: " + num2);//8, 3
		num1 -= num2;
		System.out.println(num1); // 2
		
		System.out.println("*num1: " + num1 + "  num2: " + num2);//5, 3
		num1 *= num2;
		System.out.println(num1); // 15
		
		System.out.println("/num1: " + num1 + "  num2: " + num2);//15, 3
		num1 /= num2;
		System.out.println(num1); // 1
		
		System.out.println("%num1: " + num1 + "  num2: " + num2);//5, 3
		num1 %= num2;
		System.out.println(num1); // 2
  • 대입연산자는 사용 할 때 마다 그 변수에 덮어쓰기???????
  • 변수 선언을 하지 않아도 사용을 하면 적용이 돼서 다음에 쓸 때 값이 초깃값하고 다르다.
  • 오 이거 쓰면 좀 복잡하겠는데??

수업 중간중간 설명들

주의사항


노란줄은 오류는 아니고 주의 요망 정도??
위 노란줄은 이 변수는 사용하고 있지 않다

클래스 이름 바꾸는 방법

  • 클래서 선택 후 F2 또는

    클래스 안에 코드에서 수정을 하면 오류가 뜨는 데 거기서 오류 내용을 보고 고치면 된다.
    내용은 제목이 바뛰었다 제목을 바꿀거냐 아니면 다시 복구해줄까?
    이런 내용이다

한글 복사 깨짐 방지

위에 메뉴판에서 window- preferencw
에서 generel에서 Workspace에서 MS949를 UTF-8으로 교환해 주면 된다.

한글 호환성

MS949는 한글 깨짐
UTF-8으로 해야 한글 깨짐이 적다

search 주소 요청
q라는 변수에 오늘 날씨가 담겨서 요청을 보낸다
https://www.google.com**/search?q=%EC**%98%A4%EB%8A%98%EB%82%A0%EC%94%A8&rlz=1C1CHZN_koKR946KR946&oq=%EC%98%A4%EB%8A%98%EB%82%98&aqs=chrome.1.69i57j0i131i433i512j0i512l2j0i20i263i512j0i512l5.2727j1j7&sourceid=chrome&ie=UTF-8
오 이건 깨졌네?

& : 앤퍼센트 = 그리고 의 의미를 가짐

1차로 수업들으면서 구글 드라이브에 적은 걸 다시 옮겨 적으면서 추가하고 생각을 조금씩 넣어보려고 하는데 이것도 힘들다. 글쓰기 너무 못하네

수업 때 말해주신 건데
최종프로젝트를 2월1~2주에 시작해서 3월중반에 끝날 수 있게 해서
3월 24일까지 면접을 2번정도는 보자고 하신다
그때까지 포폴 자소서를 다 만들 수 있으려나
마케팅할 때는 포폴 자소서만 2주정도 걸린거같은데
프로젝트도 하면서 포폴 자소서만들고 면접도 보고 힘들겠네

수료하고 바로 취직하거나 다니는 중에 취직하려면 가능하도록 만들어야겠지
코딩의 길로 들어온이상 계속해서 공부해야겠지

profile
코딩도전기

0개의 댓글