728x90
반응형

Programming Language/Java 22

[Java] java.net.BindException: Address already in use

HTTP 서버의 기본적인 형태를 구현하여 실행키는데 Exception in thread "main" java.net.BindException: Address already in use 에러가 났다.package myServer;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;import java.util.List;public class Server { final private static int PORT = 8080; public static void main(String[] args) throws Exception { try (ServerSocket serverSocket = ..

[Java][Maven][VSCode] syntax error near unexpected token `('. @REM Licensed to the Apache Software Foundation (ASF)

VSCode에서 Maven을 사용하기 위해서 환경설정이 필요하다하여 다음 블로그를 참고하여 설정을 하였습니다. https://mydeveloplife.tistory.com/18 vscode에서 maven 프로젝트를 jar 파일 빌드하기 mydeveloplife.tistory.com User setting 설정 settings.xml 위치 Path 설정 mvn.cmd위치 위와 같이 설정을 하고 Maven 프로젝트를 실행하려고 하니 mvn.cmd 파일에 대하여 syntax error near unexpected token `(' 에러와 @REM Licensed to the Apache Software Foundation (ASF)가 나타났습니다. 이는 Path를 mvn.cmd 파일로 설정해서 나타난 문제였습..

[Java] printf에서 %n과 \n의 차이점

System.out.printf("%d%n", 123); System.out.printf("%d\n", 123); %n과 \n 모두 줄 바꿈을 표현하는데 사용됩니다. VSC에서 실행하는 경우 결과값에 이 차이점이 없어 보입니다. 하지만 이 둘은 플랫폼에 따라 차이점이 있을 수 있습니다. %n은 플랫폼에 따라서 줄바꿈을 처리하는 방식에 따라 다른 줄바꿈 문자를 출력합니다. 예를 들어, Windows 운영체제에서는 %n이 "\r\n"으로 처리되어 출력됩니다. 따라서, %n을 사용하면 어떤 운영체제에서든 일관성 있는 줄바꿈을 표현할 수 있습니다. *\r은 캐리지 리턴(Carriage Return)을 나타내는 이스케이프 시퀸스. 이전에 출력한 문자열의 맨 앞으로 커서를 이동시킨다. 예를 들어, System.ou..

[Java] VScode javax.swing 실행이 안될 때

https://code.visualstudio.com/docs/java/java-gui Develop Java GUI Applications in Visual Studio Code How to develop Java GUI Applications (JavaFX, AWT, Swing) in Visual Studio Code code.visualstudio.com extension for java package를 다운받았음에도 불구하고 javax.swing 패키지를 실행할 수 없을 때 다음 절차를 따라해보세요. 맥 유저라면 ⌘+⇧+P, 윈도우 유저라면 Ctrl + Shift + P를 눌러 Command Pallete를 엽니다. 여기에 Java:Help Center를 들어갑니다. 여기서 STUDENT 탭에 들..

[Java] Mac VsCode zsh: command not found: 에러

Java의 정석의 예제코드를 따라 공부하려고 하니 다음과 같은 에러가 나타났다. import java.util.*; public class ExpValidCheck { public static void main(String[] args){ if(args.length!=1){ System.out.println("Usage: java ExpValidCheck \"EXPRESSION\""); System.out.println("Example: java ExpValidCheck \"((2+3)*1)+3\""); System.exit(0); } Stack st = new Stack(); String expression = args[0]; try{ for(int i = 0; i < expression.length(..

[Java] AND와 OR의 연산자 우선순위

논리 연산자 중에서 AND를 의미하는 '&'와 '&&'가 OR를 의미하는 '|'와 '||'보다 우선순위가 높다. 이처럼 수식에 AND와 OR가 함께 사용되는 경우에는 괄호를 사용해서 우선순위를 명확히 하는 것이 좋다. x = 6; System.out.printf("x=%2d, x%%2==0 || x%%3==0 && x%%6!=0 =%b%n", x, x%2==0||x%3==0 && x%6!=0); System.out.printf("x=%2d, (x%%2==0 || x%%3==0) && x%%6!=0 = %b%n",x, (x%2==0||x%3==0)&& x%6!=0); 이 결과 &&의 우선순위가 ||보다 높기 때문에 x%2==0 || x%3==0 && x%6!=0 은 True || True && False ..

[Java] 프로그램 오류

컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 ex) 메모리 부족(OutOfMemoryError), 스택오버플로우(StackOverflowError) 예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 Exception클래스들: 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException클래스들: 프로그래머의 실수로 발생하는 예외

[Java] 인터페이스(interface)

abstract class 클래스이름 implements 인터페이스이름 { // 인터페이스 일부 구현 } 인터페이스(interface) - 일종의 추상클래스. 하지만 추상클래스를 부분적으로 완성된 '미완성 설계도'이지만 인터페이스는 구현된 것이 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라고 생각하면 됨. - 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 다르게 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. - 접근제어자로 public 또는 default를 사용할 수 있다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름 (매개변수목록); } - 일반적인..

[Java] 다형성(polymorphism)

다형성 - 여러 가지 형태를 가질 수 있는 능력 - Java에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 구현 즉, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다. class Car{ int wheel; int location; void wheel(int a) = {wheel = a;} void forward() = {location++;} void backward() = {location--;} } class SuperCar extends Car{ boolean ceillingOpen; void Boost() {...} } 다음과 같이 기본적으로 생성된 인스턴스를 다루기 위해서, 인스턴스의 타입과 일치하는 타입의 참조변수를 사용하였다...

728x90
반응형