자바 1

Mango·2022년 2월 25일

Java

목록 보기
1/8
  • 변수(variable)란?
    하나의 값을 저장할 수 있는 메모리 공간

    변수타입 변수이름;

  • 상수(constant)란?
    한 번만 값을 저장 가능한 변수

    final 변수타입 (대문자)변수이름 = 값;

  • 리터럴(literal)이란?
    그 자체로 값을 의미하는 것

  • String은 자바에서 제공하는 클래스로 문자열을 다룰 때 사용
    원래는 new 연산자를 이용해 객체생성 후 사용해야하나 예외적으로 사용됨

     String s = ""; //OK
     char ch = ''; //error

    Type
    - 기본형 8가지(char, byte, short, int, long, float, double, boolean) : 실제 값을 저장
    - 참조형 타입 : 메모리 주소를 저장

    n비트로 표현할 수 있는 값의 개수 : 2의n승(개)

  • 화면에서 입력받기

    Scanner scanner = new Scanner(System.in);
    String input = scanner.nextLine(); //화면에서 입력받은 내용을 input에 저장
    int num = Integer.parseInt(input);
    System.out.println(num);
  • 증감연산자

    j = ++i; //전위형 
    -> ++i //증가 후에
    -> j = i; //참조하여 대입
    
    j = i++; //후위형
    -> j = i; //참조하여 대입 후에
    -> i++; //증가
  • 형변환이란? 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
    ->(주의) 원래의 값은 변하지 않는다. 읽어온 값이 변하는 것
    ->형변환 생략 시 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환 된다. 단, 값손실이 발생하지 않는 경우에만

  • 문자열의 비교

		String str1 = new String("abc");
		String str2 = new String("abc");
		System.out.println(str1 == str2); //false
		System.out.println(str1.equals(str2)); //true
  • 조건 연산자 ? :

    result = (x > y) ? x : y ;
    //(x > y)가 참이면 x 반환, 거짓이면 y 반환
  • 조건문 - if

    int score = 0;
    			char grade = ' ';
    		
    			System.out.print("점수를 입력하세요.>");
    			Scanner scanner = new Scanner(System.in);
    			score = scanner.nextInt();
    		
    			if (score >= 90) {
    				grade ='A';
    			} else if (score >= 80) {
    				grade = 'B';
    			} else if (score >= 70) {
    				grade = 'C';
    			} else {
    				grade = 'D';
    			}
    			System.out.println("당신의 학점은" + grade + "입니다.");
            
  • 조건문 - switch
    제약조건 1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
    제약조건 2. case문의 값은 정수 상수(문자 포함). 문자열만 가능하며, 중복되지 않아야 한다.

 System.out.print("현재 월을 입력하세요.>");
		
		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();
		
		switch(month) {
		case 3: case 4: case 5:
			System.out.println("현재 계절은 봄입니다.");
			break;
		case 6: case 7: case 8:
			System.out.println("현재 계절은 여름입니다.");
			break;
		case 9: case 10: case 11:
			System.out.println("현재 계절은 가을입니다.");
			break;
		default :
			System.out.println("현재 계절은 겨울입니다.");
		}
  • print/ printf/ println

  • 반복문 -for문 : 반복횟수를 알 때 사용

//①초기화-> ②조건식-> ③수행될문장-> ④증감식->...
for(int i=1; i<=10; i++) {
	System.out.println("Life is beautiful");
}

//이중 for문 - 별찍기
for(int i=1; i<=5; i++) {
			for(int j=1; j<=5; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
  • 반복문 -while문 : 반복횟수를 모를 때 사용
//조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
int i=1 //초기화
while (i <= 10) { //조건식
	System.out.println(i);
    i++; //증감식
}
  • break문
    : 자신이 포함된 하나의 반복문을 벗어난다.

  • continue문
    - 자신이 포함된 반복문의 끝으로 이동 -> 다음 반복으로 넘어감
    - 전체 반복 중에서 특정 조건시 반복을 건너뛸 때 유용

for(int i=0; i<=10; i++) {
			if (i%3 == 0) 
				continue;
			System.out.println(i);
}
  • 배열이란?
    - 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
    - 배열은 한번 생성하면 그 길이를 바꿀 수 없다.
//타입[] 변수이름;
//변수이름 = new 타입[길이]

int[] score; //배열을 선언(배열을 다루기 위한 참조변수 선언)
score = new int[5]; //배열을 생성(실제 저장공간을 생성)

int score = {50, 60, 70, 80, 90}; //배열의 초기화

System.out.println(Arrays.toString(iArr)); //배열의 내용을 모두 출력

// 최소값 최대값 구하기
int[] score = {79, 88, 91, 33, 100, 55, 95};
		
		int max = score[0];
		int min = score[0];
		
		for(int i=1; i<score.length; i++) {
			if(score[i]> max ) {
				max = score[i];
			} else if(score[i]<min) {
				min = score[i];
			} 
		}
		System.out.println("max:" + max);
		System.out.println("min:" + min);
  • 2차원 배열
    - 테이블 형태의 데이터를 저장하기 위한 배열
int[][] score = {
			{100, 100},
			{20,20,20,20},
			{30,30},
			{40}
		};
		int sum = 0;
		
		for (int i=0; i<score.length;i++) {
			for (int j=0; j<score[i].length;j++) {
				System.out.printf("score[%d][%d]=%d%n", i, j, score[i][j]);
				
				sum += score[i][j];
			}
		}
		System.out.println("sum=" + sum);
  • String 클래스
    - String클래스 = char[] + 메서드(기능)
    - 내용을 변경할 수 없다. (read only)
String str = "ABCDE";
char ch = str.charAt(3); //문자열 str의 4번째 문자 'D'를 ch에 저장

String str = "012345";
String tmp = str.substring(1,4); //str에서 index범위 1~4의 문자들을 반환(마지막은 포함x)
System.out.println(tmp); //"123"이 출력됨
  • Arrays클래스로 배열 다루기
    - 배열의 비교와 출력 : equals(), toString()
    - 배열의 복사 : copyOf(), copyOfRange()
    - 배열의 정렬 : sort()
profile
How u do that

0개의 댓글