언어 공부 내용 정리 29

자바 문자열(String) / 스택(stack)과 힙(heap)

문자열(String)이란 문자열 : 1개 이상의 문자들로 구성된 자료형 , java에서 문자열을 나타내는 자료형은 String이다 문자열(String)의 사용 1) 리터럴 표기 String a = "java" ; -" " 안에 넣으면 문자열, ' '안에 넣으면 문자로 인식 -가독성에 이점이 있고 컴파일 시 최적화에 도움을 줌 -객체 생성없이 고정된 값을 그대로 대입하는 방법 -heap 영역 안에 있는 String Constant Pool에 저장된다 -String Constant Pool에 이미 존재하는 문자열이라면 같은 주소값을 공유한다 = 같은 내용의 문자열을 서로 다른 변수 a,b에 저장하면 String Constant Pool 내에 같은 메모리 주소를 가리킨다 -> new 키워드 사용할때와의 차이 ..

백준 자바 10952,10951

package Baekjoon; import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); while(true) { int a = input.nextInt(); int b = input.nextInt(); if(a==0 && b==0) break; System.out.println(a+b); } } } 0 0 을 입력받을때 까지 a와 b의 합을 계속해서 출력해야 하기에, 무한루프를 활용하면 쉽게 풀리는 문제다 if문과 출력문 순서를 바꿔쓰면 0 0의 합인 0도 출력되니까 if문을 꼭 출력문 앞에 써야한다 import java.util.Sca..

구름에듀 생활코딩 자바 13강

배열 배열(array)은 연관된 데이터를 모아서 관리하기 위해 사용하는 데이터 타입이다. 기본 데이터타입이 아닌 참조형 데이터타입이다 배열은 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해 놓은 자료구조이다. 같은 타입의 데이터들이 순차적으로 저장된다 반복문을 이용하여 처리하기에 적합하다 정수 등의 일반적인 자료형 뿐만 아니라 클래스를 통해 만든 객체 등도 배열로 만들 수 있다 배열에 담긴 각각의 데이터는 원소(element)라고 한다 한계 : 초기화할 때 크기가 정해지기 때문에 정해진 크기 이상의 값을 넣을 수 없음 -> 컬렉션 ! (뒤에 배움) 배열 선언 int intArray[]; 혹은 int [] intArray; (배열 레퍼런스 변수(intArray)를 생성한 것이고,..

백준 자바 10172

package Baekjoon; import java.util.Scanner; public class Main{ public static void main(String args[]) { System.out.println("|\\_/|"); // 이스케이프 \\ System.out.println("|q p| /}"); System.out.println("( 0 )\"\"\"\\"); // 이스케이프 \",\\ System.out.println("|\"^\"` |"); // 이스케이프 \" System.out.println("||_/=\\\\__|"); //이스케이프 \\ } //자바에서 이스케이프(\) 사용해야 출력가능한 문자는 " , ' , \ } // // //|\_/| //|q p| /} //( 0 ..

백준 자바 1008번

오랜만에 재개한 백준풀기.. 첫문제때 메인메소드 안썼다가 컴파일 에러 냄 ^^ 처음에 입력받는 수를 int로 했을때 뭔가 형변환을 해야할 것 같긴 한데 (double)(a/b)로 하니까 계속 1 3을 입력해도 0.0이 출력되어서 좀 생각하다가 서치를 해보았다 서치 결과 내가 입력한 코드대로 하면 연산자의 우선순위에 따라 괄호 안의 (a/b)가 먼저 연산되어서 double(0)으로 만드는 꼴이라 0.3333이 아니라 0.0이 출력된 것이었다 double형의 새로운 변수를 선언하는 방법도 써봤으나 이것 역시 double c = a/b는 정수끼리 연산해서 나온 a/b의 결과를 c에 대입하는 것이기 때문에 어차피 1 3 입력시에 0.0이 나오는 건 똑같다 몇가지 방법이 있는데, 1)(double)a/b로 a만 ..

구름에듀 생활코딩 자바 11강~12강

11강 논리연산자 #조건문을 비교연산자/boolen/논리연산자가 보조해줌 1. And : && -> 좌항과 우항의 값이 모두 참일 때 참 2. or : || -> 좌항과 우항 중 하나만 참이면 참 3.not : ! -> 부정의 의미, boolen 값을 역전시키는 역할을 함 12강 반복문 #for문은 반복 횟수를 알고 있을 때, while은 조건위주로 반복문을 쓸 때 사용 1.while문 : while(조건) { 반복 실행 영역 } -> 조건은 '언제까지' 반복할지를 나타내는 기능 (조건이 참일 때까지 반복을 실행함) ->조건을 true로 입력하면 무한반복 발생(무한루프) / false로 입력하면 컴파일러가 오류 발생시킴(문법 오류라기보단 어차피 동작을 한번도 안할 코드니까 실행 안시킴) 2.for문 : ..

구름에듀 생활코딩 자바 10강 조건문

10강 조건문 #조건문 : 주어진 조건에 따라 애플리케이션을 다르게 동작하도록 하는 것으로 프로그래밍의 핵심 중에 하나 if문 #if(조건){ } : 조건식이 참일 때 {} 안의 내용이 실행됨 #if(조건){ } else{ } : 조건이 참이면 if절 {} 안의 내용 실행, 거짓이면 else절 { } 안의 내용 실행 #else if : if절의 조건 참이면 {} 안의 내용 실행, 거짓이면 else if절로 제어가 넘어감 / else if 절 여러개 가능 / else절은 생략 가능(else if만 쓰다가 끝나도 괜찮음) / else절이 else if 절보다 먼저 나올 수는 없음 #if-else 혹은 if-else if- else if - .. - else 의 흐름 (조건이 하나인지 여러개인지에 따라) #i..

구름에듀 생활코딩 자바 08강~09강 + == 와 .equals()의 차이점

08강 # 곱하기 *, 나누기 / , 나머지 % # 정수 / 정수 = 실수인 경우 => 실수의 소숫점 아래 수들 잘리고 정수부분만 표시됨 ( 손실 ) # 정수 / 실수 = 실수인 경우 => 정수가 실수로 자동형변환 되어서 실수 값 손실 없이 그대로 결과로 나옴 # 단항 연산자 :+(양수) , -(음수) , ++(증가연산자 = 값을 1씩 증가시킴) , --(감소연산자, 갑을 1씩 감소) # ++i vs i++ : ++i는 더한 후 출력 , i++는 출력문 실행 후에 더함 # 연산자 우선순위 ->괄호의 우선순위가 가장 높다 ->산술>비교>논리>대입 ->단항>이항 : "산술>비교>논리" >삼항>대입 ->진행 방향은 단항,대입연산자만 09강 비교연산자와 boolen #Boolen : 참과 거짓을 의미하는 일종의..