JAVA/JAVA 수업

[JAVA] 21.05.21

샛별KIM 2021. 5. 21. 16:47

import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
sc.close(); //입력 들어오는 스캐너를 닫기

ex. 2.5.3버전이면 2버전의 5(홀수는 테스트 짝수는 안정화), 3은 패치 횟수

연산자 추가>
1. 단항, 이항, 삼항 연산자 순으로 우선 순위를 가진다.
2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.
3. 단항과 대입연산자를 제외한 모든 연산자의 방향은 왼쪽에서 오른쪽 
4. 복잡한 연산식에는 괄호()를 사용해서 우선순위를 정해준다.


//지금까지 우리가 배운 것
/* 4일!!
 * 자바 설치 OracleJDK, OpenJDK, Microsoft OpenJDK,
 * JDK = Java Developer Kit. 자바 언어로 개발하기 위한 도구 집합, JRE 포함
 * JRE = Java Runtime Environment. 자바 실행 환경, 자바 실행 가능. JVM 포함
 * JVM = Java Virtual Machine, 자바 가상 머신
 * Java 8 == java 1.8과 같다고 보면 된다.
 * 
 *  변수 = 프로그램 실행 중 변하는 값.
 *  상수 = 변하지 않는 값. static final int INT_NUMBER = 100; 로 선언
 * 
 *  표기법
 * 
 *  자바에서 사용 가능한 문자는? = 영어 대문자, 소문자, 숫자, _, $, ... 
 * 
 *  파스칼 = 첫 글자 대문자로, 클래스에 사용
 *  두 단어 결합 시 뒤에오는 단어 첫 글자 대문자
 *  ex. HelloWorld
 *  카멜 = 첫 글자 소문자, 메소드나 변수에 사용. 
 *  두 단어 결합시 뒤에오는 단어 첫 글자 대문자
 *  ex. helloKoera
 *  스네이크 = 상수에 사용, 모두 대문자, 단어 사이는 언더바로. ex. INT_NUMBER
 * 
 * 
 *  데이터 타입 = 크게 두가지, Primitive 과 Reference 타입
 *  기본 타입(Primitive) = 8개
 *  숫자, 정수 = byte1, short2, int4(기본), long8
 *  숫자, 실수 = float4, double8(기본)
 *  문자 = char 문자열(참조타입) = String
 *  논리 = boolean(off/on)
 * 
 *  참조 타입(Reference) = 기본 타입을 제외한 모든 타입.
 *  지금도 만들어지고 있다.
 * 
 *  데이터 타입 변환
 *  작은 타입이 큰 타입에 들어갈 때 = 프로모션
 *  큰 타입이 작은 타입에 들어갈 때 = (cast)캐스트, 캐스팅
 *  캐스팅의 문제 = 값의 절삭으로 변경될 수 있다.(오염된다)
 *  왼쪽 = (왼쪽타입)오른쪽
 *  <-------값의 흐름--------
 * 
 * 
 *  데이터 스코프 = 오늘 할 것.
 */

ctrl + shift + F 자동 들여쓰기~~
;이 들어가거나... if문은 명령문장
들여쓰기 한칸은 대부분 메소드 계열


//클래스, 퍼블릭은 무조건 파일이름의 클래스여야 함
//클래스 속에는 클래스가 못들어간다!고 기억해두자
//하나의 클래스 안에 여러 메소드 가능
//클래스 속에 메소드 있음! public class input { public ... main(){}}
//단, class의 public은 첫 번째 실행! (없어도 되지만 구분하기 위해... 이름과 같은 클래스)
//구동시키려면 무조건 main메소드가 필요하다!


if (조건식) {//조건식은 참/거짓 즉 boolean값으로 나와야 한다
조건이 참일 때 실행할 명령문;
}

//random 랜덤 함수. 0.0 ~ 1.0 미만의 랜덤한 실수 값
double random = Math.random() * 10;
System.out.println((int)random);

int number = (int)random;
System.out.println(number);

// 더 쉬운 방법?
/* API
 * (Application Programming Interface)
 * 응용 프로그램 프로그래밍 인터페이스)는
 * 응용 프로그램에서 사용할 수 있도록,
 * 운영체제나 프로그래밍 언어가 제공하는
 * 기능을 제어할 수 있게 만든 인터페이스
 */

    public static boolean isUpperCase(int codePoint) {
        return getType(codePoint) == Character.UPPERCASE_LETTER ||
               CharacterData.of(codePoint).isOtherUppercase(codePoint);
    }
 --> 대문자면 참, 소문자면 거짓 인 boolean값을 반환하겠다는 뜻 
(isUpperCase();로 사용)

if (Character.isUpperCase(ch)) { //파라미터 혹은 매개변수
System.out.println("대문자 입니다.");
} else if(Character.isLowerCase(ch)) {
System.out.println("소문자 입니다.");
} else if(Character.isDigit(ch)) {
System.out.println("숫자 입니다.");
} else {
System.out.println("특수문자 입니다.");
}


!! 신박한 가위바위보 if문
else if (com - user == 1 || com - user == -2) 

//continue = 이하 실행구문은 무시하고 다시 반복문 돌림
//break = 가까운 for 조건문 탈출.

//!! %(모듈러)는 나누는 숫자보다 자신이 더 작으면 자신을 반환한다
//ex. 2 % 3 = 2