희렌버핏

생활코딩 자바 본문

Java

생활코딩 자바

Oliviakim 2018. 1. 18. 00:28

숫자와 문자열

public class Number{

public static void main(String[] args){

System.out.println(1+2);

}

>>>>>>3


문자(Character)와 문자열(String)

문자열 : ""

문자 : ''


public class CharString{

public static void main(String[] args){

System.out.println("생활코딩"+"입니다");

}

>>>>>>생활코딩입니다


public class CharString{

public static void main(String[] args){

System.out.println("1"+"1");

}

>>>>>>11


******************************

\ "  -----> 따은표 찍는 법

\ n -----> 줄바꿈

******************************


변수(변할 수 있는 데이터, Variable)


public class IntegerDemo{

public static void main(String[] args){

int a;

a = 1;

System.out.println(a+1);

}

}

>>>>>>2


정수와 실수


public class DoubleDemo{

public static void main(String[] args){

double a;

a = 1.1;

System.out.println(a+1.1);

}

}

>>>>>>2.2


문자열

public class StringDemo{

public static void main(String[] args){

String first;

firtst = "coding";

String first = "coding";

}

}



변수의 효용

복잡한 로직을 가진 알고리즘을 사용할 경우 변수를 사용해서 숫자를 달리해 로직을 수행한다.

변수값 한줄만 변경해주면 전체를 수정하지 않아도 됨. 유지보수의 용이성. 중복제거.



주석(comment)과 세미콜론

//


/**

*  문서가 만들어진다.

*

*

*/


세미콜론 : 문장 끝났음을 알려준다.



데이터 타입

8 bit = 1 byte

1024 byte = 1 kilobyte

1024 kilobyte = 1 megabyte

1024 megabyte = 1 gigabyte

1024 gigabyte = 1 terabyte

1 petaabyte

1 exabyte

1 zettabyte



데이터타입 비교

*정수형

byte    1byte    -128~127

short    2byte    -32768~32767

int    4byte

long    8byte


*실수형

float    4byte

double    8byte


*문자

char    2byte



상수의 데이터 타입

상수(constant) = 변하지 않는 값


public class ConstantDemo{

public static void main(String[] args){

double a = 2.2;

float b = 2.2F;

long c = 2147483648L;

//byte와 short는 int를 넣는게 가능하다. 단, byte로 표시할 수 있는 범위를 넘어서면 안된다.

}

}



형변환(Type Conversion)

int -> double, float로 바꿀 수 있음

char는 int로 변형 가능 (아스키코드)


자동 형 변환

double a = 3.0f;

큰거       = 작은거


float a = 3.0; (double형을 float에 넣는거 안됨)



명시적 형 변환

float a = (float)100.0;

int b = (int) 100.0F;



연산자(operator)

대입 : 넣는다

산술 : +,-,*,/,%

비교 : 크다, 작다, 같다

논리



형변환

int 정수/int 정수 = 실수  -->>> 실수의 소수점 아래 수가 탈락되고 정수만 나옴

float 실수/float 실수 = 실수  -->>> 실수를 나눠서 실수가 됐기 때문에 소수점 아래 안 잃어버림

int 정수/float 실수 = 각각의 수를 먼저 형변환 시켜준다. int형이 float형으로 바뀐다. 답은 실수형으로 나옴



단항 연산자

1+2 -->>> 두개의 항이 있으므로 이항 연산자



비교와 Boolean

== 같냐

!= 같지 않냐

a.equals(b)  ---> a와 b의 값이 같냐



조건문

public class LoginDemo2{

public static void main(String[] args){

String id = args[0];

String password = args[1];

if(id.equals("egoing")){

if(password.equals("111111"){

System.out.println("right");

}else{

System.out.println("wrong");

}

}else{

System.out.println("wrong");

}

}

}



switch문

입력된 값이 1일 경우

switch(1){

case 1:

System.out.println("one");

break;

case 2:

System.out.println("two");

break;

default:

System.out.println("default");

}



논리 연산자

&& : 좌우 다 참일 때

public class LoginDemo3{

public static void main(String[] args){

String id = args[0];

String password = args[1];

if(id.equals("egoing") && password.equals("111111")){

System.out.println("right");

}else{

System.out.println("wrong");

}

}

}


|| : 좌우 하나라도 참일 때


! : 부정, 반대값



반복문(loop,ieration)

*while

int i = 0;

while(i<10){

System.out.println(i);

i++;

}


for(int i=0; i<10; i++){

}


for(int i=0; i<10; i++){

for(int j=0; j<10; j++{

System.out.println(i + "" + j);

}

}



배열

String[] classGroup = {"최진혁","최유빈","한이람","이고잉"};

String[] classGroup = new String[4];

classGroup[0] = "최진혁";

System.out.println(classGroup.length);   >>>>4


String[] members = {"가","나","다"};

for(int i=0; i < members.length; i++){

String member = members[i];

System.out.println(member + "입니다");

}


String[] members = {"가", "나", "다"};

for(String e : members){

System.out.println(e + "입니다");

}


메소드

public static void numbering(){

}

public static void main(String[] args){

numbering( );

}


public static String numbering(int init, int limit){

int i = init;

String output ="";

while(i < limit){

output += i;

i++;

}

return output;

}

public static void main(String[] args){

String result = numbering(3,5);

System.out.println(result);

}



입력과 출력

Scanner sc = new Scanner(System.in);

int i = sc.nextInt();

System.out.println(i*1000);

sc.close();



클래스 맴버와 인스턴스 맴버

클래스 : 설계도

인스턴스 : 설계도에 따라 만들어진 제품

객체 : 변수와 메소드의 집합

static : 모든 메소드에서 동일한 값을 갖게 된다.


인스턴스 메소드는 static변수에 접근할 수 있음

static 메소드는 인스턴스 변수가 접근 못함

클래스를 이용해서 static 메소드 접근 가능


인스턴스 변수 : Non-Static Field

클래스 변수 : Static Field



생성자

class Calculator{

int left, right;

public Calculator(int left, int right){        //생성자, constructor

this.left = left;

this.right = right;

}

public void sum(){

System.out.println(this.left + this.right);

}

public void avg(){

System.out.println((this.left+this.right)/2);

}

}

public void static CalculatorDemo(String[] args){

Calculator c1 = new Calculator(10, 20); //인스턴스를 생성하는 자

c1.sum();

c1.avg();

}



상속(코드 중복 제거, 유지보수 편리, 가독성 높아짐, 재활용성 좋음)

class Cal{

int left, right;

public Cal(){}

public Cal(int left, int right){

this.left = left;

this.right = right;

}

public void sum(){

System.out,println(this.left + this.right);

}

public void avg(){

System.out,println((this.left + this.right)/2);

}

}

class Sub extends Cal{

public Sub(int left, int right){

super(left,right); //super는 부모클래스

}

public void substract(){

System.out,println(this.left - this.right);

}

}


public class CalculatorDemo1{

public static void main(String[] args){

Sub c1 = new Sub(10,20);

c1.sum();

c1,avg();

c1.substract();

}

}