본문 바로가기

자바/자바 기초

클래스멤버(static 메소드)에서는 인스턴스변수나 메서드에 접근할 수 없다. class Test{void instance(){}static void staticMethod(){} //인스턴스 멤버(인스턴스 변수, 인스턴스 메소드를 말함)void instance2(){instance();staticMethod();} //클래스 멤버(클래스 변수,클래스 메소드를 말함)static void staticMethod2(){// instance(); 인스턴스 메소드 접근 불가new Test().instance(); // 접근 하고자 한다면 new를 통해서, 굳이 이렇게 해야한다면 instance()메소드역시 static으로 설정하는 편이 좋으려나?staticMethod();}} 클래스멤버(static 메소드)에서는 인스턴스변수나 메서드에 접근할 수 없다. 더보기
변수를 바꿔주는 방법(스와프) 예제) public class Test4 { public static void main(String[] args) {int a=10, b=5;/*원시적인 방법int c;c=a;a=b;b=c;*/// 효율적인 방법a=a^b;b=b^a;a=a^b; System.out.println("a:"+a);System.out.println("b:"+b); int c=20;System.out.println("c:"+c);c=c^15;System.out.println("c:"+c);c=c^15;System.out.println("c:"+c); // 위의 식들은 암호와 알고리즘의 기초가된다. }} 결과) a:5b:10c:20c:27c:20 더보기
비트단위 부정 연산자 예제) public class Test3 {public static void main(String[] args) {byte a=24,b,d,e; b=(byte)~a; // 비트단위 부정연산자. 설정된 값에 부호가 반대로되며 절대값은 +1가 된다. /*2진수 a : 0001 1000 b : 1110 0111*/ System.out.println("a:"+a);System.out.println("b:"+b); byte c;a=12; // 0000 1100b=6; // 0000 0110 c=(byte)(a&b); // 0000 0100 -> 4d=(byte)(a|b); // 0000 1110 -> 14e=(byte)(a^b); // 0000 1010 -> 10System.out.println(c);System.. 더보기
관계연산자 예제) public class Test2 {public static void main(String[] args) {int a=10, b=10, c=15, d=20; System.out.println(a>b);System.out.println(a>=b);System.out.println(a==b);System.out.println(a!=b);System.out.println(a>b&&cb||c 더보기
++ 연산자 예제) public class Test1 {public static void main(String[] args) {int a=10;int b; b=++a;/*a=a+1;b=a;*/ System.out.println("a:"+a);System.out.println("b:"+b); int c=10;int d; d=c++;/*d=c;c=c+1;*/ System.out.println("c:"+c);System.out.println("d:"+d); int e=10;int f; f=++e + ++e + e++; System.out.println("e:"+e);System.out.println("f:"+f); int g=10;int h; ++g; //a=a+1; //a+=1; 각 식은 모두 똑같은 결과 출력h=g; .. 더보기
둘쨋날 예제1) byte, long public class Ex1 {public static void main(String[] args) {// byte : 1byte(-128~127 까지 표현)byte a, b, c;a=20;b=10;// b=200; System.out.println("a:"+a);System.out.println("b:"+b);// c=a+b; // 사칙연산(+,-등) 결과는 int 형이므로 error ( 사칙연산에서는 자동으로 int형으로 바뀌므로)// 자료형이 큰 값을 적은 자료형에 대입할 수 없다.( 그래서 short와 byte만 바꿔줘야 한다. 더큰 long형은 바꾸지 않는다. )c=(byte)(a+b); // c는 byte형으로 선언한상태이다. 따라서 a+b의 결과가 int이기 때.. 더보기
첫째날 예제1) 간단한 출력 public class Test1 { public static void main(String[] args) { System.out.println("첫번째 자바 프로그램"); System.out.println("안녕."); }} 예제1 결과) 첫번째 자바 프로그램안녕 ==================================================== 예제2) 변수선언 public class Test2{public static void main(String[] args) {int a,b,c;a=10;b=20;c=a+b;System.out.println("결과:" + c);}} 예제2 결과) 결과:30 ==========================================.. 더보기