Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 미국주식
- XLF
- etf
- object
- 자바
- 프로그래머스
- javascript
- 배당성장
- 금리인하
- 인플레이션
- 현금흐름표
- 객체지향
- 기업분석
- 주식
- 잉여현금흐름
- StringBuffer
- 알고리즘
- S&P500
- 주린이
- 무디스
- 금리인상
- 백준
- 제태크
- 접근제어자
- 오버라이딩
- mco
- Java
- 다형성
- FCF
- 그리디 알고리즘
Archives
- Today
- Total
오늘의하루
[JAVA 공부 2일차] if문, 반복문, 배열 본문
if문과 반복문의 경우 Javascript와 다르지 않기 때문에 빠르게 넘어갔지만 배열의 경우는 완전 다른 모습을 보여준다.
1. if ~ else문
조건을 만들때 사용하며 가장 기본적인 문법이다.
// .java
public class Myclass{
public static void main(String[] args){
int num = 4;
// 가장 기본적인 if문 형태
if( num > 4 ){
System.out.println("num은 4보다 작습니다.");
}else if( num == 4 ){
System.out.println("num은 4입니다.");
}else{
System.out.println("num은 4보다 큽니다.");
}
}
}
if와 else if의 경우 조건이 필수로 있어야 하지만 else의 경우는 위 조건에 맞지 않는 모든 경우를 의미한다.
1-1. 논리 연산자
boolean 타입으로 연산을 할 수 있는 문법이다.
Public class Myclass {
public static void main(String[] args){
// (&&) 논리곱의 경우 ⭐모든 조건이 true일때만 결과가 true이다.
int num = 5;
if( num > 1 && num < 6 ){
System.out.println("두 조건 모두 true입니다.");
}
// (||) 논리합의 경우 ⭐하나라도 ture면 결과가 ture이다.
if( num > 1 || num < 4 ){
System.out.println("하나의 조건이라도 true가 나왔습니다.");
}
if( num > 1 || num < 6 ){
System.out.println("두 조건 모두 true라도 결과는 true입니다.");
}
// (^) 배타적 논리합의 경우 ⭐true가 홀수 일때만 결과가 true이다.
if( num > 1 ^ num < 4 ){
System.out.println("true가 홀수이므로 결과는 true입니다.");
}
if( num > 1 ^ num < 4 ^ num % 2 != 0){
System.out.println("true가 홀수이므로 결과는 true입니다.");
}
// (!) 논리 부정의 경우 ⭐true인건 false로 false인건 true로 바꿔준다.
boolean T = true;
if(!T){
System.out.println("원래 T는 false 였습니다.");
}else{
System.out.println("원래 T는 true 였습니다.");
}
}
}
2. 반복문 ( for문 )
for문의 경우 개인적으로 가장 많이 사용하는 문법인거 같다.
public class Myclass {
public static void main(String[] args){
int sum = 0;
// 기본적으로 for문의 경우 (초기 조건; 범위 지정; 증감지정) 이렇게 되어있다.
for (int i = 1; i <= 10; i++){
sum = sum + i;
}
System.out.println("1부터 10까지의 합은 "+ sum + "이다."); // 55
// for문을 다른 형식으로 나타낼 수 있다.
int[] arr = {1,2,3,4,5,6,7,8,9,10}; // 배열
int sum2 = 0;
// ⭐ forEach문 : 배열을 for문 돌릴때 쓰면 간편하다.
// forEach => for(타입값을 받아줄 변수명 : 출력하고 싶은 자료구조)
// 이러면 변수명에 자료구조에 있는 값이 차례대로 하나씩 나온다.
for(int pick: arr){
sum2 = sum2 + pick;
}
System.out.println("1부터 10까지의 합은 "+ sum2 + "이다."); // 55
}
}
3. 1차원 배열
지금까지는 Javascript와 거의 유사했지만 지금부터 확실히 달라진다.
public class Myclass {
public static void main (String[] args){
int[] numArray = new int[5]; // 5칸짜리 배열을 만든다고 선언
numArray[0] = 1;
numArray[1] = 2;
numArray[2] = 3;
numArray[3] = 4;
numArray[4] = 5;
// numArray[5] = 6; 💥Error!! 5칸짜리 배열인데 6칸을 만들려고 하면 에러가 발생한다.
System.out.println(numArray[1]); // 2
// 현재 numArray = {1,2,3,4,5}
// for문을 이용해서 배열의 값 넣기
int[] numArray2 = new int[10];
for(int i = 0; i < numArray2.length; i++){
numArray2[i] = i + 1;
}
System.out.println(numArray2[9]); // 10;
// 현재 numArray2 = {1,2,3,4,5,6,7,8,9,10}
// ⭐ 배열을 선언하는 여러가지 방법
// ⭐⭐ 배열은 한번 몇칸짜리인지 정해지면 바꿀 수 없다!!!!
int[] a = new int[5]; // 5칸짜리 빈배열이 생성된다.
int[] b = new int[]{1,2,3}; // 3칸짜리 1,2,3이 들어가있는 배열이 생성된다.
int[] c = {1,2,3,4}; // 4칸짜리 1,2,3,4가 들어가있는 배열이 생성된다.
// 여러가지 타입으로 배열을 만들 수 있다.
char[] d = {'a','b','c'};
String[] e = {"aa","bb","cc"};
boolean[] f = {true,false,false,true};
}
}
4. 2차원 배열
public class Myclass {
public static void main(String[] args){
int[][] arr = new int[3][4];
// 아래와 같은 배열이 만들어진다.
// [[빈공간,빈공간,빈공간,빈공간],
// [빈공간,빈공간,빈공간,빈공간],
// [빈공간,빈공간,빈공간,빈공간]]
// arr[0] = 1; 💥Error!! 2차원 배열의 경우 행과 열을 모두 지정해주어야한다.
arr[0][1] = 10;
// [[빈공간, 10 ,빈공간,빈공간],
// [빈공간,빈공간,빈공간,빈공간],
// [빈공간,빈공간,빈공간,빈공간]]
int[][] arr2 = new int[3][];
// 열은 3으로 지정되어있지만 행은 아직 지정되지 않았다.
// 행과 열 모두 있어야 배열이 생성된다.
// arr2[0][0] = 10; 💥Error!! 아직 배열이 만들어지지 않았기 때문이다.
arr2[0] = new int[1];
arr2[1] = new int[2];
arr2[2] = new int[3];
// [[빈공간],
// [빈공간,빈공간],
// [빈공간,빈공간,빈공간]]
// 2차원 배열 바로 초기화하는 방법
int[][] arr3 = {{1},{1,2},{1,2,3}};
// [[1],
// [1,2],
// [1,2,3]]
System.out.println(arr3[1][1]); // 2
}
}
'JAVA' 카테고리의 다른 글
[JAVA 공부 5일차] 객체지향 Part 3 (0) | 2022.07.27 |
---|---|
[JAVA 복습] 객체지향, 배열, 연산 (0) | 2022.07.26 |
[JAVA 공부 4일차] 객체지향 Part 2 (0) | 2022.07.26 |
[JAVA 공부 3일차] 객체지향 Part 1 (0) | 2022.07.25 |
[JAVA 공부 1일차] JAVA 실행 순서 및 타입, 연산, 문자열 (0) | 2022.07.21 |
Comments