반응형

2024/08 39

김영한의 자바 입문 자바 배열 문제 1편

1. 배열을 사용하여 문제를 개선하기   향상된 for문으로도 풀 수 있다.   2. 배열의 입력과 출력사용자에게 5개의 정수를 입력받아서 배열에 저장하고, 입력 순서대로 출력하는 예제이다.    3. 사용자에게 5개의 정수를 입력받아 배열에 저장하고, 입력받은 순서의 반대인 역순으로 출력하자.   4. 사용자에게 5개의 정수를 입력받아서 이들 정수의 합계와 평균을 계산하는 프로그램을 작성하자.    5. 이전 문제에서 입력받을 숫자의 개수를 입력받도록 개선해보자.

공부/Java 2024.08.25

자바 배열 2 (2차원 배열)

https://surrealcode.tistory.com/25 자바 배열 1배열이 필요한 이유는 같은 타입의 변수를 반복해서 선언하고, 반복해서 사용하는 문제를 해결하는 것이 바로 배열이다. 위와 같이 학생 5명의 점수를 출력하는 코드를 짠다고 가정하자.위의surrealcode.tistory.com 처음에 배웠던 배열은 단순히 순서대로 나열만 했던 배열이다. 이런 배열을 1차원 배열이라 한다.이번에 학습할 2차원 배열은 말 그대로 차원이 하나 더 추가된 배열이다. 2차원 배열은 int[][] arr = new int [2][3] 와 같이 선언하고 생성한다. 그리고 arr[1][2]와 같이 사용하는데, 먼저 행번호를 찾고 그 다음에 열 번호를 찾는다.행은 영어로 row 열은 영어로 culumn이라 한다. ..

공부/Java 2024.08.25

자바 배열 1

배열이 필요한 이유는 같은 타입의 변수를 반복해서 선언하고, 반복해서 사용하는 문제를 해결하는 것이 바로 배열이다. 위와 같이 학생 5명의 점수를 출력하는 코드를 짠다고 가정하자.위의 코드의 문제는 학생 수가 추가될 수록 계속 새롭게 변수를 선언해주어야 한다는 점이 문제이다./ 한두명의 학생이라면 괜찮겠지만 학생수가 100명이라면 일일히 해줄 수 없기에 배열을 사용한다.(** for문으로는 해결이 불가능하다. 변수의 이름을 증감시킬 순 없기 때문이다.) 이러한 코드를 배열을 사용하여 다음과 같이 바꿔줄 수 있다.   int[] students;는 배열 변수 선언을 하는 것이다.배열을 사용하려면 위와 같이 배열 변수를 선언해야한다.일반적인 변수와 달리 int[]처럼 타입 다음에 대괄호가 들어간다. stud..

공부/Java 2024.08.25

자바 Scanner

자바는 System.in을 통해서 사용자의 입력을 받을 수 있다.그런데 자바가 제공하는 System.in을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다.자바는 이런 문제를 해결하기 위해 Scanner 라는 클래스를 제공한다. 이 클래스를 사용하면 사용자 입력을 매우 편리하게 받을 수 있다.  scanner를 통해 입력받고 출력하는 예제이다.문자열, 정수 실수 모두 입력을 받고 출력할 수 있다.**타입을 다르게 입력하면 type의 미스매치가 일어나서 에러가 발생한다.   이러한 에러가 발생하기에 주의가 필요하다.   위는 정수 두개를 입력받아 합을 구하는 예제이다.   위의 예제는 정수 두개를 입력받아 크기를 비교하는 예제이다.

공부/Java 2024.08.22

자바 형변환

박은 범위에서 큰 범위로는 당연히 값을 넣을 수 있다ex) in -> long -> double 하지만 큰 범위에서 작은 범위는 다음과 같은 문제가 발생할 수 있다1. 소수점 버림2. 오버플로우 int   자바는 기본적으로 작은 범위에서 큰 범위로의 대입은 허용한다. 큰 그릇은 작은 그릇에 담긴 내용물을 담을 수 있다.  * 하지만 결국 대입하는 형을 맞추어야 하기 때문에 개념적으로는 캐스팅이 되어 들어가는것이다. 사실 이런 코드이다 괄호가 생략되는 것이라고 볼 수 있다.  반대로 큰 범위에서 작은 범위의 대입은 명시적 형변환이 필요하다.    명시적 형변환을 해주지 않으면 incompatible types의 에러가 발생한다.     캐스팅을 해주면 소숫점이 버려지고 int형으로 변경이 된다. int는 ..

공부/Java 2024.08.22

자바 스코프(지역변수와 스코프)

변수는 선언한 위치에 따라 지역변수, 멤버변수로 분류된다. 지역 변수는 이름 그대로 특정 지역에서만 사용할 수 있는 변수라는 뜻이다. 그 특정 지역을 벗어나면 사용할 수 없다. {} 안에 선언되고 여기 밖을 나가면 사라진다. 위와 같이 지역변수였던 x가 {} 밖을 나가자 에러가 나는 것을 볼 수 있다. 이렇게 변수의 접근 가능한 범위를 스코프(Scope)라고 한다. 참고로 Scope를 번역하면 '범위'라는 뜻이다.  스코프의 필요 이유는 다음과 같다.   위의 코드를 보자 temp는 if 안에서만 사용하는 변수이지만 main()코드 블록이 종료될 때 까지 메모리에 유지된다. 따라서 불필요한 메모리가 낭비된다.또한 유지보수 시에 m은 물론이고 temp까지 계속 신경써야 하는 것이 문제이다. 스코프가 불필요..

공부/Java 2024.08.22

자바 for문

for문도 while문과 같은 반복문이고, 코드를 반복 실행하는 역할을 한다. for문은 주로 반복횟수가 정해져 있을 때 사용한다. for문 구조for(초기식; 조건식; 증감식){} 1. 초기식은 딱 한번 사용된다.2. 조건식을 검증한다. 참이면 코드를 진행하고, 거짓이면for문을 빠져나간다.3. 코드를 실행한다.4. 코드가 종료되면 증감식을 실행한다.5. 다시 2. 조건식부터 시작한다. for ( int i = 1; i sout(i);} 같은 느낌이다. for문은 while문을 조금 더 편하게 다룰 수 있도록 구조화 한 것 뿐이다.   다음은 i부터 하나씩 증가하는 수를 endNum까지 하는 예제이다.    while보다 for 문이 더 깔끔하다. for문은 초기화, 조건 검사, 반복 후 작업 등이 한..

공부/Java 2024.08.22

자바 break, continue

break와 continue는 반복문에서 사용할 수 있는 키워드이다.break는 반복문을 즉시 종료하고 나간다.continue는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용된다. while, do-while, for와 같은 모든 반복문에서사용할 수 있다.  continue는 말 그대로 건너 뛰는 것이라고 생각하자 i 를 1씩 증가시키면서 3은 제외하고 5까지 print를 하고싶을때 사용한 예제이다.if문에서 i가 3이 되었을때 continue를 통해 밑의 코드라인이 전부 건너띄워진 것을 볼 수 있다.

공부/Java 2024.08.22
반응형