[Java] Java 기본 개념 및 변수 + 연습문제
- -
Java
▶ 프로젝트 구성 방식
1. 단일(Monolothic) 구성
- Tomcat만 사용
- JSP 파일 내에 자바코드와 HTML/CSS/JS 포함
2. 분산(Distributed) 구성 → MSA(Micro Service Architecture)
- Live Server + Tomcat 사용
- JSP 파일 내에 자바코드와 HTML/CSS/JS 포함
+ 자바코드를 제외한 HTML/CSS/JS 코드
▶ 실행문과 세미콜론
- 변수 선언, 값 저장, 메소드 호출 등의 코드
- 실행문 끝에는 반드시 세미콜론(;)을 붙여 실행문의 끝 표시
▶ 주석 (단축키 : Ctrl + /)
행단위 : // //
블록단위 : /* */
문서화 : /** */
▶ 변수 (Variable)
- 값을 저장할 수 있는 메모리상의 공간
- 변수의 값은 변경될 수 있으며, 단 하나의 값만을 저장
- 객체의 상태를 나타내는 속성
- 선언 방법 : 타입 + 변수이름(ex => int age; double value;)
// 변수 선언 및 사용 1 //
public class Variable1 {
public static void main(String[] args) {
int a = 10;
System.out.println("a의 값은? " + a);
int b = 11;
System.out.println("b의 값은? " + b);
// a의 값에 b를 입력
// 기존 a의 값인 10은 사라짐
a = b;
System.out.println("a의 값은? " + a);
}
}
// 변수 선언 및 사용 2 //
public class Variable1 {
public static void main(String[] args) {
boolean isFile = false; // 논리
char ch = 'A'; // 문자
// 숫자 (정수)
byte bt = 10;
short count = 100;
int age = 3000;
long ms = 20000;
// 숫자 (실수)
float avg = 99.99f;
double pro = 1234.12312313d;
// 특수문자
int abc$;
int $abc;
int abc_;
int _abc;
}
}
- 기본 자료형 (Primitive Type) : 정수, 실수, 문자, 논리 값을 저장하는 자료
▶ 형변환(Casting)
- 값의 타입을 다른 타입으로 변환
- 기본 자료형 : boolean을 제외한 나머지 7개 서로 형변환 가능
- 참조 자료형 : 같은 타입(상속) 인 경우 형변환 가능
// 형변환 예제 //
public class First {
public static void main(String[] args) {
System.out.println((int) ('A')); // 65
System.out.println((short) ('a')); // 97
System.out.println((char) (95)); // _
System.out.println((int) (1.414)); // 1
System.out.println((float) (10)); // 10.0
long num1 = 100L;
int num2 = (int) num1; // 강제 형변환
System.out.println(num2);
int num3 = 100;
float num4 = 2.2f;
System.out.println((num3 * num4)); // 자동 형변환
double sum = 15.1 + (double) 10; // 의도적인 표시
System.out.println(sum);
}
}
▶외부 파일 소스 출력 ( ※ InputStream : 타입의 이름을 읽어주는 함수)
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
public class First {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("외부파일 경로");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
String data = reader.readLine();
System.out.println(data);
while(true) {
data = reader.readLine();
if(data == null) break;
System.out.println(data);
}
}
}
▶ Eclipse 에서 Tomcat - JSP 로 페이지 읽는 서버 구현하기
// Server.jsp //
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<title>title</title>
<%
String nowPage = request.getParameter("page") == null ? "1" : request.getParameter("page");
out.println(nowPage);
int numPage = Integer.parseInt(nowPage);
int startPage = numPage / 10 * 10 +1;
int endPage = startPage + 9;
out.println(startPage);
out.println(endPage);
System.out.printf("시작페이지 : %s", startPage);
for (int i = startPage;i <= endPage; i++) {
out.println(
"<a href=''>" + i +"</a>");
}
%>
◆ 연습문제 1. 결과와 같이 출력될 수 있도록 코드 작성하기
public class Practice01 {
public static void main(String[] args) {
int a = 1, b = 2, c = 3, d = 4, e= 5;
System.out.println("1 + 2 + 3 의 연산 결과는 \'" + (a+b+c) + "\' 입니다.\n");
System.out.println("1 + 2 + 3 의 연산 결과는 \"" +(a+b+c) +"\" 입니다. ");
System.out.println("1 ~ 5 까지의 곱셈 결과는 " +(a*b*c*d*e) + " 입니다.");
}
}
◆ 연습문제 2. 결과와 같이 출력될 수 있도록 코드 작성하기
public class Practice02 {
public static void main(String[] args) {
boolean a =false;
char b = 'a';
int c = 20;
long d = 2147483648L;
float e = 3.14f;
double f = 1.0;
}
}
◆ 연습문제 3. 결과와 같이 출력될 수 있도록 코드 작성하기
public class Practice03 {
public static void main(String[] args) {
int 소프트웨어설계 = 77;
int 소프트웨어개발 = 50;
int 데이터베이스구축 = 61;
int 프로그래밍언어활용 = 69;
int 정보시스템구축 = 45;
int 점수 = 소프트웨어설계 + 소프트웨어개발 +
데이터베이스구축 + 프로그래밍언어활용 + 정보시스템구축;
double 평균 = (double) 점수 / 5;
System.out.println("정보처리기사 필기시험 결과");
System.out.printf("점수 : %s, 평균 : %s", 점수, 평균);
}
}
◆ 연습문제 4. 결과와 같이 출력될 수 있도록 코드 작성하기
public class Practice04 {
public static void main(String[] args) {
char first = 'A';
char second = 'a';
boolean result = first > second;
System.out.printf("A 가 a 보다 ASCII 값이 더 크다 => %s\n", result);
}
}
◆ 연습문제 5. 결과와 같이 출력될 수 있도록 코드 작성하기
public class Practice05 {
public static void main(String[] args) {
int number = 77;
int ten = number / 10;
int one = number % 10;
boolean isMatch = ten == one;
System.out.printf("십의 자리와 일의 자리 숫자가 같다 : %s", isMatch);
}
}
◆ 연습문제 6. 제시된 num의 각 자리 숫자 합 구하기
public class Practice06 {
public static void main(String[] args) {
int num = 12345;
int num1 = num / 10000;
int num2 = (num / 1000) % 10;
int num3 = (num / 100) % 10;
int num4 = (num / 10) % 10;
int num5 = num % 10;
int total = num1 + num2 + num3 + num4 + num5;
System.out.println("각 자리 숫자의 합 : " + total);
}
}
◆ 연습문제 7. 입력된 값에 따라 짝수 또는 홀수 출력하기
public class Practice07 {
public static void main(String[] args) {
int num = 10;
System.out.println((num%2==0) ? "짝수" : "홀수");
}
}
◆ 연습문제 8. 대문자를 소문자로 변경하기
public class Practice08 {
public static void main(String[] args) {
char ch = 'A';
char lowerCase = (ch >= 'A' && ch <= 'Z') ? ((char)(ch + 32)) : ch;
System.out.println("입력된 문자 : " + ch);
System.out.println("소문자로 변경된 문자 : " + lowerCase);
}
}
'Langauge > Java' 카테고리의 다른 글
[Java] Eclipse 환경에서 서버 구현 (0) | 2023.09.08 |
---|---|
[Java] <이것이 자바다> 확인문제 Chapter 02 변수와 타입 (0) | 2023.08.27 |
소중한 공감 감사합니다🤗