본문 바로가기
반응형

java49

Java(4) String 관련 클래스equals()자바의 문자열은 좀 특별하다. 다른 참조타입들과 달리 자바의 문자열은 리터럴이 동일하다면 String객체를 공유하도록 설계되어있다. 하지만 new연산자로 생성된 객체는 다른 타입의 객체들과 마찬가지로 값과 상관없이 다른 객체가 된다. 그렇기때문에 문자열의 값 자체를 비교하기 위해서는 equals() 메소드를 사용해야한다.public class equalsMethodExample { public static void main(Stirng[] args) { String hobby1 = "여행"; String hobby2 = new String("여행"); System.out.println(hobby1 == hobby2); // false System.out.println.. 2023. 3. 16.
Java 과제 - 표준편차 구하기 표준편차값(a,b,c,...)에서 값의 평균(vAvg)을 뺀 값(a-vAvg,b-vAvg,c-vAvg,...)들의 절대값(deviation1,deviation2,deviation3,...)들의 평균(standard deviation) 예) 5개의 값이 주어졌을 때 (85, 90, 93, 86, 82) 1. 값의 평균을 구함 평균 : 87.2 2. 각각의 값에서 평균 빼기 85 - 87.2 = -2.2 90 - 87.2 = +2.8 93 - 87.2 = +5.8 86 - 87.2 = -1.2 82 - 87.2 = -5.2 2. 편차 : 각각의 값에서 평균을 뺀 값의 절대값 (2.2, 2.8, 5.8, 1.2, 5.2) 3. 표준편차 : 편차들의 평균값 (2.2 + 2.8 + 5.8 + 1.2 + 5.2)/.. 2023. 3. 15.
Java(3) 메소드 (함수, 프로시저)메소드의 종류1. 리턴값이 없는 메소드void 키워드를 사용한다return; → 리턴값이 없다는 뜻return은 생략 가능하다 → 매개값이 없는 경우public static void test1() { System.out.println("JAVA"); return; // void 리턴값이 없는 메소드 // return -> 함수를 호출한 시점으로 되돌아 간다 // 마지막 return 명령어는 생략 가능하다 } →매개값이 있는 경우public static void test4(int a, int b, int c) { System.out.println(a+b+c); // 매개변수(parameter)의 자료형은 생략할 수 없다 // 매개변수는 자료형을 개별적으로 선언해야한다 } 2. 리턴.. 2023. 3. 15.
Java 과제 - 정렬 알고리즘 코드 작성 정렬(Sort)정렬 유형 : 오름차순과 내림차순 정렬 방식삽입정렬(insertion sort)선택정렬(selection sort)버블정렬(bubble sort) 선택정렬(selection sort) 알고리즘 int[] num = {9, 8, 7, 6, 5}; //오름차순 정렬하기 cycle-1 0 - 1 인덱스 비교 -> 8 9 7 6 5 0 - 2 인덱스 비교 -> 7 9 8 6 5 0 - 3 인덱스 비교 -> 6 9 8 7 5 0 - 4 인덱스 비교 -> 5 9 8 7 6 cycle-2 1 - 2 인덱스 비교 -> 5 8 9 7 6 1 - 3 인덱스 비교 -> 5 7 9 8 6 1 - 4 인덱스 비교 -> 5 6 9 8 7 cycle-3 2 - 3 인덱스 비교 -> 5 6 8 9 7 2 - 4 인덱스.. 2023. 3. 14.
Java 예제(1) 문1) 대, 소문자의 갯수를 각각 구하시오char[] ch = { 'T', 'i', 's','t', 'O', 'r', 'Y'}; int low = 0, up = 0; for(int i=0; i='a' && ch[i]='A' && ch[i] 2023. 3. 14.
Java(2) 배열변수선언두가지 방법이 있으나 아래의 대부분 아래의 방법으로 사용한다.String[] str; 배열변수는 참조변수이므로 null로 초기화할 수 있다.String[] str = null; 배열의 생성방법1. 값 목록을 이용int[] numbers = {1, 2, 3}; 방법2. new연산자를 사용 배열변수를 미리 선언한 상태에서는 값목록을 직접 주는 방법이 불가능하기 때문에 new연산자를 사용해야한다. new연산자를 사용하면서 값 목록을주어 초기값을 설정하거나, 값 목록이 없을경우엔 길이만 주어 타입별 초기값으로 초기화할 수 있다.int[] numbers; numbers = new int[] {1, 2, 3}; //--- 또는--- numbers = new int[3]; 다차원 배열의 생성자바에서의 배열.. 2023. 3. 14.
Java(1) JVM 동작 원리 자바 언어로 작성된 프로그램을 실행하기 위한 가상 머신. 이로인해 자바 언어로 작성된 프로그램은 운영체제나 하드웨어와 상관없이 동일한 방식으로 실행될 수 있음. 1. 자바 코드를 바이트 코드로 컴파일 (javac.exe)하여 클래스 파일 형태(.class)로 저장 컴파일 프로그램에서 "컴파일"은 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 의미한다. 컴파일러(Compiler)는 소스 코드를 입력으로 받아 기계어로 변환하고, 이를 목적 파일(Object File)로 저장한다. 이 과정에서 오류가 발생할 경우, 컴파일러가 오류 메시지를 출력하고 컴파일을 중단한다. 자바에서는 소스 코드가 컴파일러에 의해 바이트 코드로 컴파일된다. 바이트 코드는 JVM이 이해할 수 있는 중간.. 2023. 3. 13.
Java 예습 메모리 사용 영역 .java 명령어로 JVM이 구동되면 JVM은 운영체제에서 할당받은 메모리 영역을 구분하여 사용함 메소드 영역 static영역이라고도 함 JVM이 바이트코드 파일(.class)을 읽은 내용이 저장되는 영역 메소드 영역에 저장되는 정보 클래스 정보(멤버 변수의 이름) 변수 정보(데이터타입, 접근제어자 정보) 메소드 정보(메소드이름, 리턴타입, 파라미터, 접근제어자 정보) static변수(정적 멤버 변수, static이 붙은 자료형) final class변수 constant pool(상수풀) : 문자상수, 타입, 필드, 객체참조가 저장됨 메소드 영역에 저장되는 정보는 JVM이 종료될 때 까지 사라지지 않고 고정된 상태로 유지됨 메소드 영역에 있는 것은 어떤곳에서나 접근이 가능해지기 때문에 .. 2023. 3. 11.
Java 예습 오버플로우와 언더플로우 오버플로우 : 타입의 최대 허용범위를 벗어나는 것 언더플로우 : 타입의 최소 허용범위를 벗어나는 것 정수 타입 연산에서 오버플로우가 발생하면 컴파일 에러가 발생하지 않고, 해당 타입의 최솟값으로 돌아가서 순환한다. 마찬가지로 언더플로우가 발생하면 해당 타입의 최댓값으로 돌아가서 순환한다. 예를 들어 byte 타입의 허용범위는 -128~127인데 127을 넘어가는 오버플로우가 발생하면, 최솟값으로 돌아가 -128부터 순환한다. 언더플로우도 마찬가지로 127로 돌아가서 순환한다. byte value = 127; value++; System.out.println(value); //-128 value--; System.out.println(value); //127 다른 정수 타입의 경우에.. 2023. 3. 5.
반응형