변수 기초(정확한 데이터타입)

생활코딩JAVA1 : 변수 기초(정확한 데이터타입)

자바는 변수를 설정할때 꼭 정확한 데이터타입을 적어줘야한다.
숫자 1의 경우에는 Number지만 정확히 말하면 정수(Integer 인티저)에 속한다
따라서 아래 변수a와 같이 int 를 적은 뒤 변수를 적는다.

숫자 1.1의 경우에는 실수(real number)이다.
이를 아래 변수b처럼double로 나타내면 된다

문자열은 그래도 String을 쓰면 된다!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Main {
public static void main(String[] args) {
// Number -> integer ... -2, -1 , 0, 1, 2 ...
int a = 1;
System.out.println(a);

// real number -> double ... -2.0, -1.0, 0, 1.0, 2.0 ...
double b = 1.1;
System.out.println(b);

String c = "Hello World";
System.out.println(c);
}
}

Character VS String, 줄바꿈, 문자열안의 큰따옴표넣기

생활코딩JAVA1 : 자바기초, Character VS String, 줄바꿈, 문자열안의 큰따옴표넣기

1. 자바 기초

아래를 항상 기초로 적어야한다

1
2
3
4
5
public class name { //name은 항상 파일명과 일치해야한다
public static void main(String[] args) {
System.out.println();
}
}

매번 코딩해야하기에 여간 귀찮은 게 아니다
그래서 한가지 tip이 있다

sout 을 누르고 ctrl + space 를 누르면 짜잔! System.out.println()가 자동완성된다

2. Character VS String

몇몇 언어와 다르게 JAVA에서는 큰따옴표" "와 작은따옴표' ' 명백한 차이가 있다.

1
2
System.out.println("Hello World");
//String는 문자열으로 캐릭터들이 모여있는 것을 뜻한다
1
2
3
System.out.println('H'); 
//Character는 문자 한 글자만 나타낼 수 있다
//따라서, System.out.println("H")와 위의 작은따음표('H')는 결과는 같아보일 수 있지만 사실 문자 한글자와 문자열로 나눠지기때문에 근본적으로 다르다.

3. 줄바꿈

new line의 약자로 \n을 해주면 된다

1
System.out.println("Hello \nWorld");

4. 문자열안의 큰따옴표 (escape)

문자열 안에 큰따옴표를 사용하고 싶을 때는 \"\" 를 사용해주면 된다

1
System.out.println("Hello \"World\"");// Hello "World"

이클립스 설치시 오류 해결 : Unable to connect the database server at this time(eclipse)

자바 설치 및 이클립시 설치시 오류 해결


Java를 공부하기 위해선 다양한 방식이 있지만
전통적인 JAVA와 Eclipse를 설치하는 것이 좋다

1단계, Java development kit 다운로드하기

java development kit를 검색하여 최신버전을 다운로드 하면 된다
JDK 다운로드를 클릭하면 된다.

2단계, Eclipse 다운로드하기

Eclipse download를 검색하여 최신버전을 다운로드하면 된다

척척 잘 진행되는 것 같았으나… 문제가 생겼다.

Eclipse의 다운로드 버튼을 누릴때마다 아래 사진처럼 Error창이 뜨는 것이다


Unable to connect the database server at this time(eclipse)

Unable to connect the database server at this time(eclipse)

Unable to connect the database server at this time(eclipse)

죽겠네!

해결하고자 네이버링도하고 영어로 구글링도 했지만 뚜렷한 방법은 보이지 않는 듯 했다.

자바를 공부하고 있는 친구에게 상황을 설명하니 혹시 컴퓨터 user name이 한글이냐고 물어봤다

오브콜스!

그러자 친구가 말하길 user name이 한글이라서 안될수도 있다면서 자기도 그런 케이스라서 결국 노트북을 포맷했다고 한다.

포맷이라니?!?!? 말도 안돼! 이건 꿈이야

포맷은 절대 하기 싫어서 온갖 방법을 써봤다

  1. 제어판 > 계정 > 사용자정보에서 내 Microsoft 계정관리에서 영어로 이름 변경한 뒤 노트북 재부팅 후 크롬브라우저에서 다운로드 시도 => 동일 현상으로 실패
  1. 집안의 다른 컴터에서 exe파일은 usb메모리에 받은 뒤 옮기기 => 동일현상으로 실패
  1. 크롬브라우저가 아니라 익스브라우저로 다운로드 시도 => 성공

정말 Java 공부 시작도 전에 짜증이 화르륵ㅋㅋㅋㅋㅋㅋㅋㅋ
성공했을 때의 그 기쁨의 맛이란?! 참 뿌듯했다.

[잘 다운로드 되고 있는 어여쁜 이클립스의 모습. 초록바가 차오를수록 나의 흥도 차오른다 아싸리~]

3번을 통해 나는 문제를 해결했고 이 점이 나와 같은 빡침을 겪은 사람에게 조금이라도 도움이 되었으면 좋겠다.

1번해결방법에서 컴퓨터 계정이름을 영어로 변경한 뒤 바로 컴퓨터에 반영되지 않았다. 그래서 좌절하고 있었는데 노트북 재부팅하고 5시간정도 지난 후에 변경한 계정이름이 반영되었다. 그 후로 크롬브라우저로 들어가 이클립스 다운로드를 누르니 다운이 잘 된다!

즉 이클립스 다운로드 오류는 내 노트북 계정 이름이 한글이었기때문에 발생했다고 할 수 있다.

결론

혹시나 인터넷 익스플로러에서도 이클립스 다운로드 오류가 난다면, 노트북 계정이름을 영어로 변경 후 5시간 정도 기다린 뒤, 노트북의 계정이름이 영어로 반영된 것을 확인 후에 이클립스 다운로드하자!

초기화버튼, Number와 String의 사칙연산

ES2020 초급 웹게임 강좌 : 계산기


1. 값을 초기화를 하려면 보통 null이나 undefined 사용.

초보자는 null추천

1
2
3
4
5
6
clearbtn.addEventListener('click', ()=>{ //clearbtn클릭시 초기화
numberInput.value = null;
temp = null ;
operator = null;
resultInput.value = null;
})

2. Number 와 String의 사칙연산

숫자와 문자열을 더하면(+) 숫자가 문자열로 바뀌어서 계산됨
ex) 10 + ‘5’ = ‘105’ (결과값이 문자열)

숫자와 문자열을 곱하기,빼기,나누기는 문자열이 숫자로 바뀌어서 계산됨
ex) 10 / ‘5’ = 2 , ‘10’ * 5 = 50 , ‘10’ - ‘5’ = 5 (결과값이 숫자)

3. Falsy 값을 가지는 6가지 (암기필수)

There are only six falsey values in JavaScript:
undefined , null , NaN , 0 , “” (empty string), and false.

웹 게임을 만들며 배우는 JS 완강 후기

웹 게임을 만들며 배우는 JS 완강 후기

웹 게임을 만들며 배우는 JS 완강 후기

온라인 인강을 혼자 수강한 경험이 있는 사람들은 많이 공감할 것이다.
강의를 100% 수강하기가 굉장히 어렵다는 사실을.
그 어려운 걸, 제가 해냅니다!!!
이 강의는 코드스테이츠 pre 코스를 수강하면서 부족한 나의 JS 실력을 쌓고자 들었던 무료강의이다.

Read More
func(...arguments) 의미, 화살표함수 => 의미
Git bash 명령어(깃허브로 클론하고 커밋남기고 푸쉬하기)

Git bash 명령어(깃허브로 클론하고 커밋남기고 푸쉬하기)

비전공자가 IT개발자로, 커리어전환기12

1. git 순서 : 처음시작시

  1. 원하는 폴더안으로 들어가기 : cd Documents
    • 꿀팁) cd do까지 입력한 뒤 tab치면 fullname폴더 찾아줌! 개이득!
  2. 폴더안에 어떤 폴더가 있는 지 확인 : ls
  3. 폴더만들기 : mkdir 폴더이름
  4. 만든 폴더 안으로 이동 : cd 폴더이름
    • 주소에 맨 끝에 (master)로 지정되어있는지 꼭 확인!
Read More

isNaN(), parseInt(), 연속된 숫자생성3종세트Array().fill().map(), 뽑은 숫자들을 랜덤도splice(Math.floor(Math.random()*arr.length, n)

웹 게임을 만들며 배우는 JS : 지뢰찾기

isNaN(), parseInt(), 연속된 숫자생성3종세트Array().fill().map(), 뽑은 숫자들을 랜덤도splice(Math.floor(Math.random()*arr.length, n)

1.isNaN()

isNaN()는 value가 Not-A-Number인 경우 true를 return한다. return type은 boolean이다.

즉 숫자가 아닌 것을 찾는 함수다.

1
2
3
4
5
6
7
8
console.log(isNaN(2));
// expected output: false 숫자아님? 놉! 숫자임

console.log(isNaN('me'));
// expected output: true 숫자아님? 얍! 숫자아님

console.log(isNaN('2'));
// expected output: false 숫자아님? 놉! 숫자임

참고로
Number.isNaN(https://www.w3schools.com/jsref/jsref_isnan_number.asp) 와

isNaN()(https://www.w3schools.com/jsref/jsref_isnan.asp)은 완전히 다르다.

2. parseInt()

parseInt()는 문자열을 구분하고 정수로 변환한다.

1
2
3
4
5
6
7
8
9
10
11
function roughScale(x, base) {
var parsed = parseInt(x, base);
if (isNaN(parsed)) { return 0 }
return parsed * 100;
}

console.log(roughScale(' 0xF', 16));
// expected output: 1500

console.log(roughScale('321', 2));
// expected output: 0

코딩공부하면서 수학공부를 다시 하게 된다ㅋㅋㅋㅋㅋ하… 대환장파티

정수가 뭐였더라?

number type

3. 연속된 숫자생성 3종세트

지뢰 위치를 뽑기 위해 0부터 99까지의 숫자를 생성해야한다.

이때 암기해두면 좋은 함수 3가지가 있다.

Array().fill().map()꼭 암기할것

연속된 숫자생성에 필요한 3종세트라고 생각하면된다

Array(n)로 => n개의 빈 배열을 만들고

fill()로 => 빈 배열을 undefined로 채워고

map()으로 => n개의 빈 배열과 n개의 undefined를 1대1매칭 시켜준다

예를들어 for문 안쓰고 3~50까지 숫자만들고 싶을때 유용하다.

1
2
3
4
5
//step3. 지뢰 위치 뽑기
var 후보군 = Array(hor*ver).fill().map(function(요소, 인덱스){
return 인덱스 //0부터 99까지 인덱스를 리턴. 1~100까지하고싶으면 인덱스+1 하면 됨
});
// 100개의 숫자를 만들고 칸에 fill채워주고 map으로 숫자와 칸을 1대1매칭시켜준다

4. 뽑은 숫자들을 랜덤하게 나타내기

후보군으로 뽑은 숫자들을 랜덤하게 나타나게 하고 싶을 때 아래와 같이 코딩한다

1
2
3
4
5
var 셔플 = [];
while (후보군.length > 80){ //지뢰는 20개만 필요하므로 100개중애 80개는 안쓴다
var 이동값 = 후보군.splice(Math.floor(Math.random()*후보군.length), 1)[0];
셔플.push(이동값); //랜덤하게 순서를 섞어서 셔플배열에 넣어준다
}
콜백함수실행, Blocking VS non-blocking, 배열.indexOf(value), Number.toFixed(숫자), 탬플릿태그