728x90

1.ex01)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오전 11:13:34
 * @subject 변수선언예제
 * @content 
 *
 */
public class Ex01 {

	public static void main(String[] args) {
		// 나이를 저장할 변수를 선언하고 20 초기화 시켜서 출력하는 코딩을 하세요.
		int age; //1. 나이변수선언
		age=20; //2. 20을 할당
		System.out.println(age); //출력
	}//main

}//class

 

2.ex01_02)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오전 11:15:57
 * @subject 
 * @content 
 *
 */
public class Ex01_02 {

	public static void main(String[] args) {
		//경고 The value of the local variable age is not used
		int age;
		
		//오류메세지
		//The local variable age may not have been initialized
		//local variable == 지역변수 ? Ex01_03       초기화
		//지역변수는 반드시 초기화를 해야지 사용할 수 있다.
		//System.out.println(age);

	}

}

3.ex01_03)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오전 11:21:12
 * @subject local variable 지역변수를 할당하겠다
 * @content Ex01_04.java 예제
 *
 */
public class Ex01_03 {

	public static void main(String[] args) {
		//[변수 선언 형식]
		//자료형 변수명[=초기값];
		
		//;
		//.
		//{}범위(지역) 연산자
		int age;//를 밖으로 빼면 오류없이 문제 해결 가능
		{
			//int age;
			age = 20; //초기화	
		}
		//age cannot be resolved to a variable
		//나이		해결할 수 없다		변수
		System.out.println(age);
		System.out.println("END");
		
	}//main

}//class

 

4.ex01_04)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오전 11:36:04
 * @subject 지역변수를 사용하는 예제 + 두 변수의 값을 교환하기(시험문제)
 * @content + 숫자, 숫자 일때는 덧셈연산자, 문자+숫자 일때는 문자열 연산자
 *			두 변수의 값을 교환할 때는 같은 자료형의 변수가 필요하다.
 */
public class Ex01_04 {

	public static void main(String[] args) {
		// 1.두 정수를 저장할 x, y 변수를 선언 + 10, 20 초기화
		
		
		//int x=10;
		// int y;
		// y=20;
		
		//.나열 연산자
		int x=10, y=20;
		
		//출력
		System.out.println(1+x);		//1숫자 + x숫자  +덧셈연산자
		//"> x= 10"
		System.out.println(">x=" + x);
		System.out.println(">x= " + x +", >y= " + y); //"문자열"+숫자 "결과문자열"
		System.out.println(y);
		{
			int temp; //두 값을 바꾸고 싶을때에는 꼭 반드시 임시기억공간을 이용하자!!!
			temp=x; //x값을 읽어와 y값에 저장하자
			x=y;
			y=temp;
		}
		System.out.println(">x= " + x +", >y= " + y);

		System.out.println("더 간편하게 출력하는 방법");
		//가변인자...
		//%d conversion int정수 -> %d
		System.out.printf(">x= %d, y=%d", x, y);
		
		//어떤 값을 내가 원하는 출력형식으로 출력하고 싶을 때 printf()함수를 사용한다.
		//함수 3가지 : 기능, 매개변수, 리턴값
		//1.기능 :format 출력형식+출력함수
		//2.매개변수
		//		(1)String format		"출력형식"
		//		(2)Object[] args		 배열
		//3.리턴값 : PrintStream 클래스 객체
		//PrintStreamSystem.out.printf(String format, Object[] args);
		
		
		
	}//main

}//class

 

5.ex02)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 12:31:56
 * @subject 표준 출력 함수 : println(), printf(), print() 줄바꿈(개행)이 일어나지 않음
 * @content 개행하는 코딩은 어떻게 할까?
 *
 */
public class Ex02 {

	public static void main(String[] args) {
		//복사 ctrl+Alt+방향키
		System.out.println("짱구");
		System.out.println("수지");
		System.out.println("철수");
		//println() → print() 수정
		//Alt+shfit+a
		System.out.print("짱구");
		System.out.println(); //개행처리
		System.out.print("수지" + '\n');
		System.out.print("맹구\n");
		System.out.print("철수");

	}//main

}//class

 

6.ex02_02)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 2:17:00
 * @subject printf() 예제
 * @content 
 *
 */
public class Ex02_02 {

	public static void main(String[] args) {
		// 이름은 홍길동이고, 나이는 20살이고, 평균은 98.76이다.
		String name="홍길동";
		int age=20;
		double avg=98.76;
		
		System.out.println("이름은 "+name+"이고, 나이는 "+age+"살이고, 평균은 "+avg+"이다.");
		
		//String %s
		//int %d
		//double %f(소수점 6자리까지 출력한다..)
		
		System.out.printf("이름은 %s이고, 나이는 %d살이고, 평균은 %f이다.", name, age, avg); //간단하게 출력하는 방법
		

	}//main

}//class

 

7.ex03)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 12:47:23
 * @subject 자바의 자료형(Data Type) == 데이터형식
 * @content 자료형이란?
 * 			자료형의 종류에는?
 *
 */
public class Ex03 {

	public static void main(String[] args) {
		// 1.자료형 정의?
		// 저장할 값의 종류(type)에 따라 저장할 공간의 크기와
		//			저장형식을 정의한 것을 자료형이라고 한다.
		//	요약) 자료형 = 크기 + 종류
		//	예) int age;
		//	크기(4바이트) + 정수
		
		/*
		 * 2. 자료형(Data Type) == 데이터형식
		 * 
		 * 1) 기본형(Primitive Type)8가지
		 * 		(1)숫자형
		 * 			ㄱ.정수계열-byte(1), short(2), int(4byte), long			→ Ex03_03.java
		 * 				문자자료형		 char(2)		→ Ex03_04.java
		 * 			ㄴ.실수계열-double(8), float(4)
		 * 		(2)논리형(Boolean)-참 True, 거짓 False			boolean(1) → Ex03_02.java
		 * 2) 참조형(Reference Type):배열, 클래스(String(문자열자료형)), 인터페이스
		 * 		문자열자료형(String)은 참조형에 속한다.
		 */

	}//main

} //class

 

8.ex03_02)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 2:45:35
 * @subject 기본형-boolean(1) 자료형을 설명
 * @content 
 *
 */
public class Ex03_02 {

	public static void main(String[] args) {
		//예)성별을 저장할 변수 선언 (남 True, 여 False)
		// 1/0			int gender=0;
		//"남자"/"여자" String gender="남자";
		
		//자료형 변수명[=초기값]
		boolean gender=true;
		gender=false;
		//Type mismatch cannot convert from int to boolean
		//gender=1;
		
		//String %s
		//int %d
		//double %f
		//boolean %?
		//형식 :  %[argument_index$][flags][width][.precision]conversion
		//형식 : %conversion
		
		System.out.printf("성별:%b\n", gender);
		System.out.printf("성별:%B\n", gender);
		
		String id = "kenik";
		System.out.printf("아이디:%s\n", id);
		System.out.printf("아이디:%S\n", id);
		
			
		

	}//main()

}//class()

 

9.ex03_03)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 3:19:09
 * @subject 1.정수계열-byte(1), short(2), int(4byte), long
 * @content 
 *
 */
public class Ex03_03 {

	public static void main(String[] args) {
		//예)사람의 나이를 저장하는 age변수를 선언하고
		//	20 정수로 초기화하고
		//	"나이=20살" 출력
		
		//나이
		//(1)정수일꺼고
		//(2)나이의 범위는 0살부터~125살까지라고한다.
		byte age;
		age=20;
		System.out.printf("나이=%d살\n", age);
		
		System.out.println("end");
		
		// 국어 점수를 저장할 변수를 선언
		//국어점수(=정수, 범위0~100까지)
		//byte	[][][][][][][][] 2^8가지==256		-128 ~ +128       ------>127
		//short	[][][][][][][][][][][][][][][][] 2^16가지==65536	-32768~+32768
		//int	[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] 2^36가지==4,294,967,296==대략42억 -21억 ~ +21억
		//long	[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
		//2^64가지==18,446,744,073,709,551,616	-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,808
		
		//2진수: 0,1
		//8진수: 0,1,2,3,4,5,6,7
		//10진수:0,1,2,3,4,5,6,7,8,9
		//16진수:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,f(15)
		
		//진법변환
		//10진법<->2진수
		//16진법<->2진수
		
		//자료형 변수명
		//byte kor=0;
		//kor=100;
		//System.out.printf("kor = %d\n", kor);
		
		//Duplicate local variable kor
		//	중복되었다		변수가
		//byte kor2=0;
		//kor2=67;
		//kor=67; 앞에 선언을 했으니까 다른굳이 또 다른 변수 값을 주지 말고 그냥 다른 2값 할당 받아도 된다.
		//System.out.printf("kor = %d\n", kor);

	}//main

}//class

 

10.ex03_04)

package days02;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 3:49:06
 * @subject 문자자료형 char(2)
 * @content 진법변환
 *
 */
public class Ex03_04 {

	public static void main(String[] args) {
		//ASCII
		//'0'-48~
		//'A'-65~
		//'a'-97~
		//소문자 - 대문자 = 32차이
		//char [][][][][][][][][][][][][][][][]
		//char %c %C
		
		//유니코드 2바이트
		//0x0000 ~ 0xFFFF
		//char one = 'a';
		char one0 = '\u0061';
		System.out.println("one0="+one0);
		System.out.printf("one0=%c \n", one0);
		System.out.printf("one0=%C \n", one0);
		
		char one = 'A';
		System.out.println("one="+one);
		System.out.printf("one=%c \n", one);
		System.out.printf("one=%C \n", one);
		
		char one1 = 'a';
		System.out.println("one1="+one1);
		System.out.printf("one1=%c \n", one1);
		System.out.printf("one1=%C", one1);
		
		//'A' → 65 문자'A'를 65로 바꾸는 과정을 인코딩이라고 한다.
		//65 → 'A' 65를 문자'A'로 바꾸는 과정을 디코딩이라고 한다.

	}//main

}//class

/*
//byte	[][][][][][][][]
//					진법변환
//10진수 [10] → 메모리 저장 0.1 → 2진수

//10진수 → 8진수
//	10 → 012
//8진수 → 10진수
//	012 → 10(0*8^3+1*8^1+2*8^0)

//10진수 → 16진수
//	20		0x14
//16진수 → 10진수
// 0x14
// (1*16^1+4*16^0)
*/

 

11.ex04)

package days02;
/**
 * @author user
 * @date 2023. 1. 27. - 오후 4:45:16
 * @subject A, 'A', "A" 차이점의 이해
 * @content 
 *
 */
public class Ex04 {

	public static void main(String[] args) {
		//int A=10;
		//A cannot be resolved to a variable(변수를 사용하지 않아서, 발생한 오류)
		//System.out.println( A );
		
		//System.out.println( 'A' ); //char로 인식하는 것
		//System.out.println( "A" ); //문자열(String)으로 인식하는 것 
		
		int n = 1;
		char m='1';
		String s="1";
		
		char one = 'A';
		System.out.println(one); //char 한문자
		
		String two = "A"; //='A'+'\0'사실 "A"문자열은 'A'라는 문자열과 '\0'이라는 공백의 문자열이 합쳐진것
		System.out.println(two); //String 문자열

	}//main

}//class

 

11.ex05)

package days02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author user
 * @date 2023. 1. 27. - 오후 4:57:14
 * @subject 이름을 입력받아서 name 변수에 저장하고 출력
 * @content 키보드(표준입력장치)로부터 이름을 입력받을때,
 *
 */
public class Ex05 {

	public static void main(String[] args) throws IOException {
		//이름을 저장하는 name변수를 선언하고
		//이름을 "홍길동"초기화
		//"이름은 홍길동입니다." 출력.
		String name;
		
		//ctrl + shift + o
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		System.out.print(">이름을 입력하세요: ");
		//Unhandled exception type IOException
		name = br.readLine();
		System.out.printf("이름은 %s입니다.\n", name);
		
		
		System.out.println();
		String name0 = "홍길동";
		System.out.printf("이름은 %s입니다.", name0);
		System.out.println();
		//이름을 저장하는 name변수를 선언하고
		//이름을 "홍길동"초기화
		//"이름은 "홍길동"입니다." 출력.
		String name2 = "홍길동";
		//Syntax error on token ""입니다."", delete this token
		//System.out.printf("이름은 "%s"입니다.", name2);
		
		//  "\n"제어문자
		//  "\"도 제어문자
		System.out.printf("이름은 \"%s\"입니다.", name2);

	}//main

}//class
728x90