TIL#134 Java(1)

Dasom·2021년 2월 28일
0

Java

목록 보기
1/2
post-thumbnail

주말이기도 하고 다른 언어도 알고 싶은 욕심에 유튜브로 자바 기초를 공부하기 시작하였다😀

Hello World!

어떤 언어를 배우든지 제일 먼저 해보는 문장 :)
이클립스에서 자바 프로젝트를 시작하고 클래스 소스코드를 만들면 자동으로 클래스 소스코드가 생성된다. 그 안에 Hello world 를 적어서 프린트 되는 것을 확인하였다 :)

public class Main {

	public static void main(String[] args) {
		
		System.out.println("Hello World!");
	}

}

자료형

자바에서 기본 자료형은 사용하기 전에 반드시 선언되어야 한다.
정수를 나타내는 자료형이 많은 이유는 각 자료형이 차지하는 메모리 공간의 크기가 다르기 때문이다.

public class Main {
	
        // 상수로 선언 - final 
	final static double PI = 3.141592;
	final static int INT_MAX = 2147483647;

	public static void main(String[] args) {
		
		int intType = 100;
		double doubleType = 150.5;
		String stringType = "문자문자";
		
		System.out.println(intType);
		System.out.println(doubleType);
		System.out.println(stringType);
		
		int r = 30;
		System.out.println(r * r * PI);
		
		int a = INT_MAX;
                // 맥스 범위를 벗어났기 때문에 맞지 않는 숫자가 출력
		System.out.println(a + 1);
	}

}

사칙연산 & 8진수, 16진수

public class Main {

	public static void main(String[] args) {
		
		double a = 10.3;
		double b = 9.6;
		double c = 10.1;
		
                // 실수끼리의 사칙연산
		System.out.println((a + b + c) / 3);
		
                // 아스키 코드를 사용하여 반복문으로 출력
		for(char i = 'a'; i <= 'z'; i++) 
		{
			System.out.println(i + " ");
		}
		
		int aa = 200;
		
		System.out.println("10진수 : " + aa);
                // format 을 사용하여 8진수 16진수 출력
		System.out.format("8진수 : %o\n", aa);
		System.out.format("16진수 : %x", aa);
		
		String name = "John Doe";
		System.out.println(name);
                // String 은 클래스로 구현되어 있고 그 안에 substring 이라는 메소드가 있음. 
                // name변수의 문자열을 substring을 사용하여 슬라이싱하여 출력
		System.out.println(name.substring(0, 3));
	}

}

연산자

// 초를 입력받아 몇분 몇초인지 구하기 
public class Main {
	
	final static int SECOND = 1000;

	public static void main(String[] args) {
		
		int minute = SECOND / 60;
		int second = SECOND % 60;
		
		System.out.println(minute + "분 " + second + "초");

	}

}

// 증감 연산자
public class Main {
	

	public static void main(String[] args) {
		
		int a = 10;
		System.out.println("현재의 a는 " + a + "입니다.");
		a++;
		System.out.println("현재의 a는 " + a + "입니다.");
                // ++a 는 a를 증가시키고 출력하기 때문에 12 출력
		System.out.println("현재의 a는 " + ++a + "입니다.");
                // a++ 는 a를 출력후 증가시키기 때문에 12 출력후 증가 
		System.out.println("현재의 a는 " + a++ + "입니다.");
                // 13 출력 
		System.out.println("현재의 a는 " + a + "입니다.");
		

	}

}

// 논리 연산자 
public class Main {
	

	public static void main(String[] args) {
		
		int a = 50;
		int b = 50;
		
		System.out.println(a == b);
		System.out.println(a > b);
		System.out.println(a < b);
		System.out.println((a == b) && (a > b));
		System.out.println(!(a == 50));

	}

}

// 삼항 연산자 - 조건?참:거짓
public class Main {
	

	public static void main(String[] args) {
		
		int x = 50;
		int y = 60;
		
		System.out.println(max(x, y));
	
	
	// 반환형, 함수이름, 매개변수 
	static int max(int a, int b) {
		int result = (a > b) ? a : b;
		return result;
	}
    }

}

거듭제곱 연산

public class Main {
	

	public static void main(String[] args) {
		
		// 3의 20제곱 
		double a = Math.pow(3.0, 20.0);
		System.out.println((int) a);
	}

}

조건문

public class Main {
	

	public static void main(String[] args) {
    
		// 문자열이 포함되어 있는지 조건 검사
		String a = "I Love You.";
		if(a.contains("Love"))
		{
			System.out.println("Me too");
		}
		else
		{
			System.out.println("I Hate You.");
		}
        
               // 점수에 따른 조건 
               int score = 85;
		
		if(score >= 90)
		{
			System.out.println("A+ 입니다");
		}
		else if(score >= 80)
		{
			System.out.println("B+ 입니다");
		}
		else
		{
			System.out.println("C 입니다");
		}
		
        	String b = "Man";
		
		// 자바는 String을 비교할 때 equals()을 사용 
		if(b.equals("Man"))
		{
			System.out.println("man");
		}
		else
		{
			System.out.println("no man");
		}
		
		// 대소문자 구별하지 않음 
		if(b.equalsIgnoreCase("man"))
		{
			System.out.println("man!");
		}
		else
		{
			System.out.println("no man!");
		}
	}

}

반복문

public class Main {
	
	final static int N = 15;
	
	public static void main(String[] args) {
		
		// while
		int i = 1, sum = 0;
		while(i <= 1000)
		{
			sum += i++;
		}
		System.out.println("1부터 1000까지의 합은 " + sum);
		
		// for : 초기화 부분, 조건부분, 연산부분 
		// 삼각형 출력하기 
		for(int j = N; j > 0; j--)
		{
			for(int k = j; k > 0; k--)
			{
				System.out.print("*");
			}
			System.out.println();
			
		}
		
		// 원 출력하기 
		for(int i = -N; i <= N; i++)
		{
			for(int j = -N; j <= N; j++)
			{
				if(i * i + j * j <= N * N)
				{
					System.out.print("*");
				}
				else
				{
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		
	}

}

입출력

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요 : ");
                // 입력받은 정수를 i라는 변수에 넣는다 
		int i = sc.nextInt();
		System.out.println("입력된 정수는 " + i);
        	sc.close();
        
        	// 파일에 차례로 입력된 정수에 100을 곱해 출력 
		File file = new File("input.txt");
		try {
			Scanner sc2 = new Scanner(file);
			while(sc2.hasNextInt())
			{
				System.out.println(sc2.nextInt() * 1000);
			}
			sc2.close();
		} catch (FileNotFoundException e) {
			System.out.println("파일을 찾는 도중 에러가 발생했습니다.");
		}
	}

}
profile
개발자꿈나무🌲

0개의 댓글