전부터 java를 배우고 싶었는데 코드프레소 java웹개발 체험단 활동을 통해 자바 강의를 수강하게 되어서 유용하다. 전반적으로 자바가 c#과 비슷한 문법이 많아서 수월하게 수강할 수 있었다. 처음 시작하는 java 프로그래밍 강의의 1강에서 배운 자바 개념 및 문법에 대해 정리해보았다.
[자바 프로그래밍의 특징]
- 자바는 write once, run anywhere : 한번 소스코드 작성하면 운영체제 상관없이 run 가능
- 자바는 객체지향 언어: 상속, 다형성 가능
- 자바의 jvm의 garbage collector가 메모리 자동관리
- 자바 언어 적용 분야 : 안드로이드, 스프링, 빅데이터, 검색엔진 등 다양한 곳
[자바 프로그래밍 언어의 소개]
-java 소스코드를 컴파일하면 byte code라는 중간 코드가 생성됨
-jvm으로 플랫폼 독립적인 wora(write once run anywhere)
-jre는 실행환경, jdk는 개발도구를 제공
[자바 기초 문법 요소]
1) 클래스
-클래스는 자바 프로그램의 기본단위
-자바 프로그램은 한개 이상의 클래스로 구성됨
-일반적으로 1개의 클래스는 1개의 자바파일과 매핑
-파일명과 클래스명이 동일해야함, 대문자로 시작
2) 클래스와 객체
- 자바는 객체지향 언어
- 클래스로 객체를 생성하며, 객체는 사물이나 우리가 상상할 수 있는 개념
- 속성=데이터, 행동=메소드
3) 메인 메소드
= java 프로그램의 시작점
public static void main(String[] args){
}
* 다른 언어 참고 복습
c, c++에서의 메인 메소드 = void main(){}
유니티 c#에서의 시작 메소드 = void Start(){}
파이썬 = 따로 메인메소드 없음, 첫줄부터 시행(인터프리터 언어)
4) 블록과 중괄호
{
} 를 사용하여 코드 작성
5) 문장 끝에 세미콜론 사용
- c, c++, java, c# = 사용
- python = 안사용
6) 들여쓰기
- 자바에서 들여쓰기는 실행에 영향을 주지 않음
- intelliJ 에서는 ctrl+alt+L or 상위 메뉴 code-reformatting를 통해 코드 한꺼번에 정렬 가능
7) 표준 입출력
- 자바에서 출력은
Sysyem.out.println()
- 자바에서 입력은
import java.util.Scanner;
....
public static void main(String[] args){
Scanner input = new Scanner(System.in);
menu = input.nextInt();
}
* 다른 언어 입출력 명령어 참고 복습
c => 출력: printf / 입력: scanf
c++=> 출력: cout / 입력: cin
c#=>출력: Console.WriteLine / 입력: Console.ReadLine
python=> 출력: print / 입력: input
*intelliJ에서 에러의 상세 정보 보기
밑에 problems탭 클릭
[자바 언어 문법 요소]
1) 변수
-변수는 데이터를 넣을 수 있는 상자와 같은 개념
-자바에서도 다른 언어들과 같이 대입 연산자(=)를 사용하여 변수에 값을 저장
-자료형 변수이름=변수에 저장할 값;
예시)
String name = "HongGildong";
System.out.println(name);
출력결과=> HongGildong
* 변수 규칙
- 변수는 데이터를 저장하기 위한 공간으로, 이름을 갖고있다
- 변수는 선언 후 데이터를 대입(저장)할 수 있다
- 변수의 이름으로 변수에 저장되어있는 데이터를 사용한다
- rule과 convention을 잘 따라서 변수의 이름을 정해야한다-다른언어들과 비슷
2) 자료형
- 기본 자료형(primitive type)
: 실제 데이터가 담기는 자료형
=> byte, short, int, long, float, double, char, boolean이 기본 자료형에 해당한다
담을 수 있는 데이터의 크기: byte<short<int<long
- 참조 자료형(reference type)
: 다른 객체에 대한 참조를 하는 자료형
=> String,Array,Collections(List, Map, Set...), 개발자가 만든 객체 등이 참조 자료형에 해당한다.
* String 참고 함수
String.length => 문자열의 길이
String.toLowerCase() => 문자열 소문자로 바꾸기
String.toUpperCase() => 문자열 대문자로 바꾸기
3) 연산자
+, -, *, / 등 다른 언어들과 같이 사용한다.
4) 형변환
- 작은 크기의 자료형에서 큰걸로 형변환: 확장 형변환 byte->short->int->long->float->double
int x;
char c='a';
x=c;
System.out.print(x); =>97
- 작은 크기의 자료형에서 큰걸로 형변환: 축소 형변환-데이터가 손실될 수 있음
double->float->long->int->short->byte
5) 비교연산자
비교연산자도 다른 언어들과 같이
> : 크다, < : 작다, <=: 작거나 같다, >= : 크거나 같다 등이 사용되는데,
한가지 특별한 점은
문자열.equals(비교할 또다른 문자열)
하면 두 문자열이 같은지 비교가 가능
6) 조건문
- 다른 언어와 비슷하게 if문
if( ~ ) { // 만약 ~라면
} else if( ! ){ // ~가 아니고 !라면
} else{ // 모두 아니라면
}
으로 조건문을 사용한다.
- 논리연산자도 같음
&& = and
|| = or
! = not
- 많은 case가 있을때 if문보다 효율적인 switch 조건문
switch(조건식){
case "":
~~~
break;
case "":
~~~
break;
default:
case가 없는경우 수행할 코드 // default는 break없음
}
7) 자바의 배열
자료형[] 변수명 = new 자료형 [배열의 길이]
ex) int[] myarray= new int[10]
8) 배열의 선언, 생성 그리고 초기화
자료형[] 변수명 = { 값1, 값2. --- 값n}
ex) int[] myarray={12,3,1,5,6,}
- 배열은 인덱스를 가짐
- 인덱스, length접근 가능
9) 반복문
- for문
for(int i=0; i<반복할 횟수n; i++){ i 출력 } ==> 0~n-1까지 출력됨
* string 값.charAt(인덱스 넘버) 하면 string값에 해당하는 순서의 해당 문자가 출력된다
ex) String a = "hi";
a.charAt(0); ==> h 출력
- enhanced for문
: 별도의 종료 조건을 명시하지 않는 반복문
배열에서 가져올 원소 데이터가 더이상 없는 경우 반복문 종료
형식:
for (현재 인덱스의 데이터 : 배열이나 리스트){
}
ex)
for ( String nowIndex : myArray){
System.out.println(nowIdex);
}
이런식으로 씀
foreach와 비슷함
- while문
while(조건식) { 실행할 부분 } => 조건식이 참인 동안 실행 부분을 실행한다.
while문의 제어 : break와 continue
* break: 자신과 가장 가까운 반복문 전체의 실행을 중단함
* continue: 반복문 진행중에 continue를 만나면 현재 반복을 중단하고 다음 반복을 위해 조건식으로 이동하여 true이면 반복문을 계속 실행함.
[자바 실습 소프트웨어]
자바 개발을 위해 주로 사용되는 ide- 이클립스, intelliJ, visual studio
1) oracle에서 jdk11버전 다운로드
https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html
2) 윈도우 설정에서 자바 환경 변수 설정 및 확인
3) intelliJ 다운
https://www.jetbrains.com/ko-kr/idea/download/#section=windows
[나의 첫 java 애플리케이션]
intelli j 에서 new project하고 폴더 선택 후 next해서 자바 파일 생성
자바파일 만들기: 좌측 폴더에서 우클릭하고 new class-java
자바 hello!!!
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!!");
}
}
- 코드프레소 Java 웹 개발 체험단 활동 중
- 코드프레소 [처음 시작하는 Java 프로그래밍]강의 수강 중
- 코드프레소 URL: https://www.codepresso.kr/
프리미엄 IT 교육 서비스 - 코드프레소
www.codepresso.kr
'Study > 코드프레소 java 웹개발 체험단' 카테고리의 다른 글
[Spring Boot 웹개발 입문]3주차: 웹개발(프론트엔드, 백엔드)의 전반적 이해 (0) | 2022.02.04 |
---|---|
[JAVA프로그래밍 초급]2주차: 객체지향 (0) | 2022.01.25 |
[SW유지보수성 향상을 위한 clean code]3주차 : clean code (0) | 2022.01.24 |
[실무자가 알려주는 Git 활용한 프로젝트 관리]2주차: Git 브랜치 (0) | 2022.01.15 |
[실무자가 알려주는 Git입문]-1주차: Git의 이해와 실습 (0) | 2022.01.14 |