Boolean Datatype

 

true와 false로 이루어져있는 Boolean type

 

public class BooleanApp {

	public static void main(String[] args) {

		System.out.println("One");
		System.out.println(1);
		System.out.println(true);
		System.out.println(false);
		
		String foo = "Hello world";
//		Stirng true = "Hello world"; reserved word
		
		System.out.println(foo.contains("world"));
		System.out.println(foo.contains("A"));
	}

}

contains는 포함되어있으면 true 없으면 false

 

비교연산자

 

비교연산자는 왼쪽의 값과 오른쪽의 값을 비교할 때 쓰임

 

public class ComparisonOperatorApp {

	public static void main(String[] args) {

		System.out.println(1 > 1); // false
		System.out.println(1 == 1); //true
		System.out.println(1 < 1);
		System.out.println(1 >= 1);

	}

}

 

조건문

public class IfApp {

	public static void main(String[] args) {

		System.out.println("a");
		if(false) {
			System.out.println(1);
		} else if(true) {
			System.out.println(2);
		} else {
			System.out.println(3);
		}
		System.out.println("b");
	}
}

 

조건문 응용1

public class AuthApp {

	public static void main(String[] args) {

		String id = "A";
		String inputId = args[0];
		
		System.out.println("Hi.");
		
//		if(inputId == id) {
		if(inputId.equals(id)) {
			System.out.println("Master!");
		} else {
			System.out.println("Who are you?");
		}
	}

}

조건문 응용2

public class AuthApp {

	public static void main(String[] args) {

		String id = "A";
		String inputId = args[0];
		
		String pass = "1111";
		String inputPass = args[1];
		
		System.out.println("Hi.");
		
//		if(inputId == id) {
//		if(inputId.equals(id)) {
//			if(inputPass.equals(pass)) {
//				System.out.println("Master!");
//			} else {
//				System.out.println("Wrong password");
//			}
//		} else {
//			System.out.println("Who are you?");
//		}
		
		if(inputId.equals(id) && inputPass.equals(pass)) {
				System.out.println("Master!");
			} else {
			System.out.println("Who are you?");
		}
	}

}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(11)  (0) 2021.09.24
공부(10)  (0) 2021.09.24
공부(8)  (0) 2021.09.24
공부(7)  (0) 2021.09.23
공부(6)  (0) 2021.09.23

나의 앱 만들기

 

public class AccountingApp {

	public static void main(String[] args) {

		System.out.println("Value of supply : "+12345.0);
		System.out.println("VAT : "+12345.0*0.1);
		System.out.println("ToTal : "+(12345.0 + 12345.0*0.1));
		System.out.println("Expense : "+(12345.0*0.3));
		System.out.println("Income : "+(12345.0 - 12345.0*0.3));
		System.out.println("Dividend 1 : "+(12345.0 - 12345.0*0.3) * 0.5);
		System.out.println("Dividend 2 : "+(12345.0 - 12345.0*0.3) * 0.3);
		System.out.println("Dividend 3 : "+(12345.0 - 12345.0*0.3) * 0.2);
		
	}

}

공급가 부가가치세 총 금액 비용 수익 분할1 2 3 이렇게 간단하게 코딩을 하였다

 

변수도입

 

로컬변수추출 alt + shift + L

 

public class AccountingApp {

	public static void main(String[] args) {

		double valueOfSupply = 12345.0;
		double vatRate = 0.1;
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - expense;
		double dividend1 = income * 0.5;
		double dividend2 = income * 0.3;
		double dividend3 = income * 0.2;


		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("ToTal : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		System.out.println("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
		
	}

}

 

입력값 도입

 

public class AccountingApp {

	public static void main(String[] args) {

		double valueOfSupply = Double.parseDouble(args[0]);
		double vatRate = 0.1;
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - expense;
		double dividend1 = income * 0.5;
		double dividend2 = income * 0.3;
		double dividend3 = income * 0.2;


		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("ToTal : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		System.out.println("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
		
	}

}

 

argument에 값을 넣어주거나 cmd로 javac 를 이용하여 클래스파일을 만들어주고 그걸로 값을 주면 된다

 

 

조건문

 

public class AccountingIFApp {

	public static void main(String[] args) {

		double valueOfSupply = Double.parseDouble(args[0]);
		double vatRate = 0.1;
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - expense;
		
		double dividend1;
		double dividend2;
		double dividend3;
		
		if(income > 10000.0) {
			dividend1 = income * 0.5;
			dividend2 = income * 0.3;
			dividend3 = income * 0.2;
		} else {
			dividend1 = income * 1.0;
			dividend2 = income * 0;
			dividend3 = income * 0;
		}

		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("ToTal : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		System.out.println("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
		
	}

}

 

배열

public class AccountingArrayApp {

	public static void main(String[] args) {

		double valueOfSupply = Double.parseDouble(args[0]);
		double vatRate = 0.1;
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - valueOfSupply*expenseRate;
		
		double[] dividendRates = new double[3];
		dividendRates[0] = 0.5;
		dividendRates[1] = 0.3;
		dividendRates[2] = 0.2;
		
		double dividend1 = income * dividendRates[0];
		double dividend2 = income * dividendRates[1];
		double dividend3 = income * dividendRates[2];


		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("ToTal : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		System.out.println("Dividend 1 : "+dividend1);
		System.out.println("Dividend 2 : "+dividend2);
		System.out.println("Dividend 3 : "+dividend3);
		
	}

}

 

반복문

public class AccountingArrayLoopApp {

	public static void main(String[] args) {

		double valueOfSupply = Double.parseDouble(args[0]);
		double vatRate = 0.1;
		double expenseRate = 0.3;
		double vat = valueOfSupply*vatRate;
		double total = valueOfSupply + vat;
		double expense = valueOfSupply*expenseRate;
		double income = valueOfSupply - valueOfSupply*expenseRate;
		


		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+vat);
		System.out.println("ToTal : "+total);
		System.out.println("Expense : "+expense);
		System.out.println("Income : "+income);
		
		double[] dividendRates = new double[3];
		dividendRates[0] = 0.5;
		dividendRates[1] = 0.3;
		dividendRates[2] = 0.2;
		

		int i = 0;
		while(i < dividendRates.length) {
			System.out.println("Dividend 1 : " + (income * dividendRates[i]));
			i = i + 1;
		}
		
	}

}

 

메소드

메소드는 서로 연관된 코드를 그룹핑해서 이름을 붙힌 정리정돈의 상자다

 

public class AccountingMethodApp {
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	public static void main(String[] args) {
		valueOfSupply = 10000.0;
		vatRate = 0.1;
		expenseRate = 0.3;
		print();
		
	}

	private static void print() {
		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+getVAT());
		System.out.println("ToTal : "+getTotal());
		System.out.println("Expense : "+getExpense());
		System.out.println("Income : "+getIncome());
		System.out.println("Dividend 1 : "+getDividend1());
		System.out.println("Dividend 2 : "+getDividend2());
		System.out.println("Dividend 3 : "+getDividend3());
	}

	private static double getDividend1() {
		return getIncome() * 0.5;
	}
	
	private static double getDividend2() {
		return getIncome() * 0.3;
	}
	
	private static double getDividend3() {
		return getIncome() * 0.2;
	}

	private static double getIncome() {
		return valueOfSupply - getExpense();
	}

	private static double getExpense() {
		return valueOfSupply*expenseRate;
	}

	private static double getTotal() {
		return valueOfSupply + getVAT();
	}

	private static double getVAT() {
		return valueOfSupply*vatRate;
	}

}

 

클래스

클래스는 서로 연관된 변수와 메소드들을 묶어 정리하는 것

 

class Accounting{
	public static double valueOfSupply;
	public static double vatRate;
	public static double expenseRate;
	private static double getDividend1() {
		return getIncome() * 0.5;
	}
	
	private static double getDividend2() {
		return getIncome() * 0.3;
	}
	
	private static double getDividend3() {
		return getIncome() * 0.2;
	}

	private static double getIncome() {
		return valueOfSupply - getExpense();
	}

	private static double getExpense() {
		return valueOfSupply*expenseRate;
	}

	private static double getTotal() {
		return valueOfSupply + getVAT();
	}

	private static double getVAT() {
		return valueOfSupply*vatRate;
	}
	
	public static void print() {
		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+getVAT());
		System.out.println("ToTal : "+getTotal());
		System.out.println("Expense : "+getExpense());
		System.out.println("Income : "+getIncome());
		System.out.println("Dividend 1 : "+getDividend1());
		System.out.println("Dividend 2 : "+getDividend2());
		System.out.println("Dividend 3 : "+getDividend3());
	}
}
public class AccountingClassApp {

	public static void main(String[] args) {
		Accounting.valueOfSupply = 10000.0;
		Accounting.vatRate = 0.1;
		Accounting.expenseRate = 0.3;
		Accounting.print();
		
	}

}

 

인스턴스

인스턴스는 하나의 클래스를 복제해서 서로 다른 데이터 값과 서로 같은 메소드를 가진 복제본을 만드는 것이다

 

class Accounting{
	public double valueOfSupply;
	public double vatRate;
	public double expenseRate;
	public double getDividend1() {
		return getIncome() * 0.5;
	}
	
	public double getDividend2() {
		return getIncome() * 0.3;
	}
	
	public double getDividend3() {
		return getIncome() * 0.2;
	}

	public double getIncome() {
		return valueOfSupply - getExpense();
	}

	public double getExpense() {
		return valueOfSupply*expenseRate;
	}

	public double getTotal() {
		return valueOfSupply + getVAT();
	}

	public double getVAT() {
		return valueOfSupply*vatRate;
	}
	
	public void print() {
		System.out.println("Value of supply : "+valueOfSupply);
		System.out.println("VAT : "+getVAT());
		System.out.println("ToTal : "+getTotal());
		System.out.println("Expense : "+getExpense());
		System.out.println("Income : "+getIncome());
		System.out.println("Dividend 1 : "+getDividend1());
		System.out.println("Dividend 2 : "+getDividend2());
		System.out.println("Dividend 3 : "+getDividend3());
	}
}

public class AccountingClassApp {

	public static void main(String[] args) {
		// instance
		Accounting a1 = new Accounting();
		a1.valueOfSupply = 10000.0;
		a1.vatRate = 0.1;
		a1.expenseRate = 0.3;
		a1.print();
		
		Accounting a2 = new Accounting();
		a2.valueOfSupply = 20000.0;
		a2.vatRate = 0.05;
		a2.expenseRate = 0.2;
		a2.print();
		
	}

}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(10)  (0) 2021.09.24
공부(9)  (0) 2021.09.24
공부(7)  (0) 2021.09.23
공부(6)  (0) 2021.09.23
공부(5)  (0) 2021.09.23

직접 컴파일하고 실행하기

 

해당 디렉토리로 가서 javac 파일명.java 해주면 된다

 

그러면 클래스파일이 생성된다

 

이제 java 파일명 해주면 결과가 출력된다

 

classpath는 -cp 로 사용할 수 있고 윈도우는 ;으로 구분 ".;lib" 이런식

 

 

 

 

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(9)  (0) 2021.09.24
공부(8)  (0) 2021.09.24
공부(6)  (0) 2021.09.23
공부(5)  (0) 2021.09.23
공부(4)  (0) 2021.09.23

디버거

 

bug 의도하지 않는 문제

 

debugging 버그 잡는 행위

 

debugger debugging을 할 때 사용하는 도구

 

실행되는 것을 일단 멈추고싶다면 멈추고싶은곳에 더블클릭하면 점이 생긴다

 

이 점은 브레이크 포인터라고 부른다

 

Debug 버튼을 눌러 실행해줘야한다

 

이 때 switch로 변환하면 화면구성이 완전히 달라진다

 

입력과 출력

 

 INPUT(Argument, File, Network, Audio, Program) -> Program -> OUTPUT(Monitor, File, Audio, Program)

 

String id = JOptionPane.showInputDialog("Enter a ID"); 이것을 사용해주면 값을 물어보고 입력한 값을 받는다

 

Double.parseDouble(text)를 해주면 String에서 Double형으로 변환이 된다

 

import javax.swing.JOptionPane;

import org.opentutorials.iot.DimmingLights;
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;

public class OkJavaGoInHomeInput {

	public static void main(String[] args) {
		
		String id = JOptionPane.showInputDialog("Enter a ID");
		String bright = JOptionPane.showInputDialog("Enter a Bright level");

		// Elevator call
		Elevator myElevator = new Elevator(id);
		myElevator.callForUp(1);
		
		// Security off
		Security mySecurity = new Security(id);
		mySecurity.off();
		
		// Light on
		Lighting hallLamp = new Lighting(id+" / Hall Lamp");
		hallLamp.on();

		Lighting floorLamp = new Lighting(id+" / floorLamp");
		floorLamp.on();
		
		DimmingLights moodLamp = new DimmingLights(id+" moodLamp");
		moodLamp.setBright(Double.parseDouble(bright));
		moodLamp.on();
	}

}

 

Run Configurations 로 들어가준 뒤 Arguments 탭에서

 

"Java APT 507" "15.0" 을 입력해본다

 

받는값을 String id = args[0]; Stirng bright = args[1]; 해주면 제대로 입력이 된다

 

import javax.swing.JOptionPane;

import org.opentutorials.iot.DimmingLights;
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;

public class OkJavaGoInHomeInput {

	// parameter, 매개변수
	public static void main(String[] args) {
		
		String id = args[0];
		String bright = args[1];

		// Elevator call
		Elevator myElevator = new Elevator(id);
		myElevator.callForUp(1);
		
		// Security off
		Security mySecurity = new Security(id);
		mySecurity.off();
		
		// Light on
		Lighting hallLamp = new Lighting(id+" / Hall Lamp");
		hallLamp.on();

		Lighting floorLamp = new Lighting(id+" / floorLamp");
		floorLamp.on();
		
		DimmingLights moodLamp = new DimmingLights(id+" moodLamp");
		moodLamp.setBright(Double.parseDouble(bright));
		moodLamp.on();
	}

}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(8)  (0) 2021.09.24
공부(7)  (0) 2021.09.23
공부(5)  (0) 2021.09.23
공부(4)  (0) 2021.09.23
공부(3)  (0) 2021.09.22

+ Recent posts