[JAVA] Exception in thread "main" java.lang.StringIndexOutOfBoundsException
·
JAVA
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 14 이번 예외는 인덱스 값으로 마이너스 값을 대입하거나, 문자열 길이보다 큰 인덱스 값을 대입하면 발생한다. 입력값에 영어 문자열을 입력한 후에 문자열 안의 모음과 자음의 개수를 나타내는 프로그램이다. for문 안에 text.length() 값, 즉 입력값 문자열의 길이까지 charAt( )메소드 반복을 시키면 예외가 발생한다. 이때 가장 마지막 문자열까지 확인하고 싶어 length( )메소드를 사용하였지만 주의 할 점은 Java의 모든 인덱스가 1이 아닌 0부터 시작한다는 것이다. 때문에 length( ) 메소드를 통해 길이를 알..
[JAVA] Exception in thread "main" java.lang.ArithmeticException: / by zero
·
JAVA
Exception in thread "main" java.lang.ArithmeticException: / by zero 프로그램을 코딩하고 동작시키다 보면 오류가 발생한다. 이를 JAVA에서는 예외라고 한다. 존재하지 않는 파일에 접근하려 하거나 정수를 0으로 나누는 행동 배열 인덱스를 잘못 허용하는 경우 등 이외에도 실행 예외가 발생하는 사례들을 공부하다보면 실력이 늘 것이다... 난 위의 2번의 경우로 인해 이번 오류를 겪었다. package Fri04; import java.util.Scanner; public class A4_Find_the_Factors_of_N { public static void main(String[] args) { Scanner in = new Scanner(System..
JAVA - 반복문 (for문)
·
JAVA
반복문 for문 for문 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류로는 for문과 while문, 그리고 while문의 변형인 do-while문이 있다. for문과 while문은 구조와 기능이 유사하여 어느 경우에나 서로 변환이 가능하며, 반복 횟수를 알고 있을 때는 for문을, 그렇지 않을 때에는 while문을 사용한다. 예제를 통해 살펴보자. for(int i=1;i
JAVA - 배열 (Array)
·
JAVA
배열 Array 배열은 같은 타입의 변수들로 이루어진 유한 집합으로 정의할 수 있습니다. 배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 한다. Java에서 index는 언제나 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있다. 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용할 수 있는 가장 기본적인 자료 구조이다. 배열은 선언되는 형식에 따라 1차원 배열, 2차원 배열뿐만 아니라 그 이상의 다차원 배열로도 선언할 수 있다. 1차원 배열 1차원 배열은 가장 기본적인 배열로 다음과 같은 문법에 따라 선언한다. 1. int[] grade1; // 타입[] 배열_이름; 2. int grade1[]; // 타입 배열_..
JAVA - 스캐너 클래스 (Scanner Class)
·
JAVA
Scanner Class 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴하는 클래스. 특징 1. 기본적인 데이터 타입들을 Scanner의 메소드를 사용하여 입력받을 수 있다. 예를 들어 117을 입력하고자 할 때, String(문자열)로 입력받고 싶으면 next( ) 나 nextLine( )을 사용하고, int(정수)로 입력받고 싶다면 nextInt( )를 사용하여 입력받으면 알아서 해당 타입으로 입력된다. 2. Scanner을 사용할 시에 util 패키지를 경로의 Scanner클래스를 호출해야 한다. JAVA에서 쓰이는 대부분의 클래스는 lang 패키지가 아니라면 import 를 통해 호출해주어야 한다. Scanner의 경우는 java.util 패키지에 있다. 3. ..
JAVA - 객체 지향 프로그래밍 (OOP)
·
JAVA
객체 지향 프로그래밍 OOP, Object Oriented Programming 웹 개발을 할 때 필요한 수많은 프로그래밍 언어 중 JAVA를 공부하는 이유 하나만 말하자면, JAVA는 객체를 지향하는 언어라 사용하기 쉽고 편리하기 때문. 객체 지향이 무엇인지 알아보자면 그 반대인 절차지향 언어와 비교해서 알아보자. 절차 지향 프로그래밍이란? (Procedural Programming) 대표적으로 C언어가 절차지향 언어로 프로그램의 데이터를 처리하는 방법인 알고리즘을 중요시하며 순차적으로 실행하는 구조를 가진다. 이는 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체 지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다. 옛날에는 하드웨어와 소프트웨어의 개발 속도 차이가 크지 않았다. 하지..