목록언어 (21)
Vienna

◇ 배열의 String화 * toString: 일차원 배열 String화 * deepToString: 다차원 배열 String화 import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = {0,1,2,3,4}; System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr)); } } ◇ 배열의 복사 * copyOf(): 배열의 전체를 복사 * copyOfRange(): 배열의 일부를 복사 import java.util.Arrays; public class Main { public static void main(String[] arg..

C#에서는 Stack은 Push & Pop, Queue에서는 Enqueue, Dequeue 였지만Java에서는 Stack은 push & pop Queue에서는 offer & poll 함수를 사용하여데이터를 넣고 빼는 것을 할 수 있다. LinkedList가 Queue 인터페이스의 구현체인지는 오늘 처음 알았다. 스택의 경우에는 Stack이라는 구현체가 (추상 클래스가 아니라 추상 클래스를 상속 받은, 객체를 생성할 수 있는 클래스) 제공되지만, 큐의 경우에는 Queue라는 인터페이스만 제공된다고 한다. 구현체 클래스는 Java API문서에서 확인 가능하다. https://docs.oracle.com/javase/8/docs/api/

Iterator 의 next() 함수를 직접 사용해보았다. 3개의 데이터를 넣고 hasNext() 함수의 return 값이 fasle가 나올 때까지 출력하는 예제를 따라해보았다. 그런데 문득 궁금증이 일었다. 만약 이 상태에서 데이터를 3개를 더 넣으면 어떻게 될까? 이렇게 되면 2가지 가능성을 예측할 수 있다. 1. Iterator 객체 내부적으로 다음 index의 값을 출력하기 위해 index를 next() 함수 호출할 때마다 1씩 증가 처리를 한다. 2. Iterator 객체가 생성될 때 Collection 객체의 주소값이 아니라 모든 값을 복사하여 처리한다. 그래서 후에 Collection에 element를 add하여도 Iterator 객체에서 참조하는 Collection의 값은 변함이 없다. 그..
1. 실습_ArraySample using System; namespace _10장_ArraySample_359page { class Program { static void Main(string[] args) { int[] scores = new int[5]; scores[0] = 80; scores[1] = 74; scores[2] = 81; scores[3] = 90; scores[4] = 34; foreach (int score in scores) Console.WriteLine(score); int sum = 0; foreach (int score in scores) sum += score; int avg = sum / scores.Length; Console.WriteLine($"Average ..
1. 실습_Property using System; namespace _9장_Property_326page { class BirthdayInfo { private string name; private DateTime birthday; public string Name { get { return name; } set { name = value; } } public DateTime Birthday { get { return birthday; } set { birthday = value; } } public int Age { get { return new DateTime(DateTime.Now.Subtract(birthday).Ticks).Year; } } } class Program { static void..
1. 실습_Interface using System; using System.IO; using Interface; namespace Interface { interface ILogger { void WriteLog(string message); } class ConsoleLogger : ILogger { public void WriteLog(string message) { Console.WriteLine( "{0} {1}", DateTime.Now.ToLocalTime(), message); } } class FileLogger : ILogger { private StreamWriter writer; public FileLogger(string path) { writer = File.CreateText(..
1. 실습_BasicClass using System; namespace _7장_BasicClass_225page { class Cat { public string Name; public string Color; public void Meow() { Console.WriteLine($"{Name}: 야옹"); } } class Program { static void Main(string[] args) { Cat kitty = new Cat(); kitty.Color = "하얀색"; kitty.Name = "키티"; kitty.Meow(); Console.WriteLine($"{kitty.Name}: {kitty.Color}"); Cat nero = new Cat(); nero.Color = "검은색"; ..
오늘도 디카페인 커피를 타 왔다. 화이팅 1. 실습_Calculator using System; namespace Method { class Calculator { public static int Plus (int a, int b) { return a + b; } public static int Minus(int a, int b) { return a - b; } } } namespace _6장_Calculator_188page { class Program { static void Main(string[] args) { int result = Method.Calculator.Plus(3, 4); Console.WriteLine(result); result = Method.Calculator.Minus(5,..
오늘도 어디 해 보실까 1. 실습_ArithmaticOperators using System; namespace _4장_ArithmaticOperators_119page { class Program { static void Main(string[] args) { int a = 111 + 222; Console.WriteLine($"a: {a}"); int b = a - 100; Console.WriteLine($"b: {b}"); int c = b * 10; Console.WriteLine($"c: {c}"); double d = c / 6.3; Console.WriteLine($"d: {d}"); Console.WriteLine($"22/7={22 / 7}({22 % 7})"); } } } 2. 실습_..
오늘도 화이팅 1. 실습_SignedUnsigedConversion using System; namespace _3장_SignedUnsigedConversion_74page { class Program { static void Main(string[] args) { int a = 500; Console.WriteLine(a); uint b = (uint)a; Console.WriteLine(b); int x = -30; Console.WriteLine(x); uint y = (uint)x; // under flow 발생 Console.WriteLine(y); } } } 2. 실습_FloatToIntegeral using System; namespace _3장_FloatToIntegeral_75page {..