Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- fragment
- 코틀린
- 스프링부트
- Java
- Kotlin
- 랜덤넘버
- 안드로이드
- 리액트
- button
- scrollview
- 랜덤번호
- nodejs
- Android
- array
- RecyclerView
- 구글맵스
- React
- 오버라이딩
- stylesheet
- JavaScript
- TextView
- SpringBoot
- GoogleMaps
- Hook
- Javscript
- npm
- TypeScript
- JS
- 자바스크립트
- Linux
Archives
- Today
- Total
타닥타닥 개발자의 일상
Java 함수 알아보기 function / method / parameter / return/ void / toUppearCase 없이 대문자 변환하는 function 만들기 본문
코딩 기록/Java
Java 함수 알아보기 function / method / parameter / return/ void / toUppearCase 없이 대문자 변환하는 function 만들기
NomadHaven 2021. 12. 10. 22:06 function : 함수, 독립적
method : class에 소속되어 있는 함수.
void: 자료형이 없는 것
형식
parameter, 인수, 인자
돌아오는 값의 자료형 함수명(들어가는 값의 자료형 변수, 들어가는 값의 자료형 변수....){
처리
return 값;
}
입력 | 함수 |
int i = fuctionName('A'); //'A'==argument System.out.println(i); //return값 1이 i에 저장 |
static int fuctionName(char c) { //parameter System.out.println("fuctionName(char c)호출"); return 1; } |
출력 | |
fuctionName(char c)호출 1 |
toUppercase 구문 없이 함수로 대문자 변환하기
입력 |
String st = "abcDEF"; String upst = toUpperCase(st); //함수 toUppercase에 st="abcDEF" 삽입. System.out.println(upst); //삽입한 값 출력 |
함수 |
static String toUpperCase(String str) { //변수는 문자열 형식 String s = ""; for(int i=0; i <str.length() ; i++) { //문자열의 길이만큼 반복한다는 조건 int n = str.charAt(i); //문자열의 특정 글자에 있는 문자를 출력 if(n>=97) { //만약 n>97이라면 소문자라는 뜻. n= n-32; //아스키 대문자 = 아스키 소문자 값에서 32뺀 값. 따라서 n>97소문자이면 32를 빼서 대문자로 변환. } s = s+ (char)n; //초기화한 문자열 변수 s+문자열로 자료형 변환한 n 결합, s로 초기화 } return s; // s를 리턴 |
출력 |
ABCDEF |
입력 |
functionName1(); |
함수 |
static void functionName1() { //자료형이 없는 void 함수 System.out.println("fuctionName1() 호출"); //return도 없지만 void에서도 리턴 사용가능. } |
출력 |
fuctionName1() 호출 |
입력 |
functionName2(6.2,2); //함수에 넣어서 6.2/2 값 구함 |
함수 |
static void functionName2(double d, int n) { //첫번째 소수형 변수d 두번째 정수형 변수 n double result; //결과는 소수형으로 설정 System.out.println("fuctionName2(double d, int n)호출"); if(n==0) { //나누는 변수 n이 0과 같으면 System.out.println("계산할 수 없습니다."); //계산할수 없습니다 출력 return; //break문과 유사 //retrun 통해서 종료 } result =d / n; //변수 n이 0이 아니라면 System.out.println("결과값:"+result); // result인 d/n 값 출력 } |
출력 |
fuctionName2(double d, int n)호출 결과값:3.1 |
입력 |
functionName2(6.2,0); |
함수 |
static void functionName2(double d, int n) { double result; System.out.println("fuctionName2(double d, int n)호출"); if(n==0) { System.out.println("계산할 수 없습니다."); return; //break문과 유사. 함수가 종료되고 다시 선언문으로 돌아간다. } result =d / n; System.out.println("결과값:"+result); } |
출력 |
fuctionName2(double d, int n)호출 계산할 수 없습니다. |
입력 |
int r =functionName3(); |
함수 |
static int functionName3() { //parameter에 아무것도 없다. System.out.println("fuctionName3() 호출"); return 3; } |
출력 |
fuctionName3() //reutn 3으로 설정했던게 출력되지 않는다. 대신 int r에는 3이라는 값이 저장되어있다. 따라서 System.out.println(r) =3 으로 출력. |
입력 |
int arrayNum[] = {1,2,3,4,5}; functionName4(arrayNum[0], arrayNum[1], arrayNum[2], arrayNum[3], arrayNum[4]); System.out.println(Arrays.toString(arrayNum)); |
함수 |
static void functionName4(int a1, int a2, int a3, int a4, int a5) { //parameter는 array가 아닌 단순한 int a1 = a1*2; a2 = a2*2; a3 = a3*2; a4 = a4*2; a5 = a5*2; } //순수한 상수 값만 넘겨줬기 때문에 함수 밖 배열 int arrayNum[]에 영향을 주지는 않는다. (value값을 할당) arrayNum[0]=1이라서 1이라는 상수만 함수로 넘긴거고 함수 안에서 2 곱해봤자 복사한 상수 값만 변한다. 함수 밖 배열인 arrayNum[1]은 여전히 1이다. |
출력 |
[1, 2, 3, 4, 5] |
입력 |
int arrayNum[] = {1,2,3,4,5}; functionName5(arrayNum); System.out.println(Arrays.toString(arrayNum)); functionName5(arrayNum); System.out.println(Arrays.toString(arrayNum)); |
함수 |
static void functionName5(int array[]) { //parameter가 정수형 배열인 array[] for (int i = 0; i < array.length; i++) { array[i] = array[i]*2; //array의 주소를 할당하고 해당 주소에 있는 값에 2를 곱한다. 실제 함수 밖의 배열인 arrayNum에 영향. } } static int[] functionName6(int array[]) { for (int i = 0; i < array.length; i++) { array[i] = array[i]*2; } return array; } |
출력 |
[2, 4, 6, 8, 10] [4, 8, 12, 16, 20] //이미 int arrayNum은 fuctionName5를 통해서 2가 곱해진 상태로 갱신. 따라서 또 한번 2를 곱하는 functionName6를 통해서 가장 초기의 arrayNum[]에서 4가 곱해진 값이 출력됨 |
입력 |
String st = "abcDEF"; String upst = toUpperCase(st); //함수 toUpperCase에 abcDEF를 넣은 값을 System.out.println(upst); //출력한다 |
함수 |
static String toUpperCase(String str) { String s = ""; //문자열 초기화 for(int i=0; i <str.length();i++) { int n = str.charAt(i); //charAt은 받은 변수를 문자로만 반환하는게 아니라 int로도 반환하는 기능 있다. if(n>=97) { //아스키 코드 소문자는 97부터 시작한다. n= n-32; //아스키 코드 소문자에서 대문자를 빼면 항상 32값이 차이난다. } s = s+ (char)n; //(char)n =변수를 문자형으로 강제 변환시킨다. } return s; } |
출력 |
ABCDEF |
'코딩 기록 > Java' 카테고리의 다른 글
Comments