자바 기본 방법 및 방법 재 업로드 상세 설명
1.1 참조 방법의 정의 와 호출
이전에 정 의 된 방법 은 대부분 무 참 방법 이지 만 일부 방법의 집행 은 전제조건 이 필요 하 다.그러면 매개 변 수 는 이러한 전제조건 을 전송 하 는 것 이다.
매개 변 수 를 정의 하 는 방법:
<액세스 수정자>반환 값 형식<방법 이름>(<형식 매개 변수 목록>){
//방법의 주체
}
파 라 메 터 를 호출 하 는 방법
대상 명.방법 명(매개 변수 1,매개 변수 2,매개 변수 3...매개 변수 n);
믹서 의 종 류 를 정의 하고 상세 한 정 보 를 출력 합 니 다.
package Kind.dh;
//
public class MethodWithParameters {
// :
public String color;
public double price;
public void showInfo() {
System.out.println(" " + color + " , :" + price + " ");
}
// : - : - ( ):
public void zhazhi(String fruit, int num) {
System.out.println(num + " " + fruit + " ");
}
}
package instance.dh;
import Kind.dh.MethodWithParameters;
import java.util.Scanner;
public class MethodWithParametersTest {
public static void main(String[] args) {
//
MethodWithParameters methodWithParameters = new MethodWithParameters();
Scanner input = new Scanner(System.in);
System.out.println(" :");
methodWithParameters.color = input.next();
System.out.println(" :");
methodWithParameters.price = input.nextDouble();
methodWithParameters.showInfo();
System.out.println(" :");
String shuiguo = input.next();
System.out.println(" :");
int num = input.nextInt();
// ( )
methodWithParameters.zhazhi(shuiguo, num);
}
}
1.2 참조 방법 사용 주의사항방법 정의 처 의 매개 변 수 는 형식 매개 변수 라 고 하고 방법 호출 처 의 값 은 실제 매개 변수 이다.
매개 변수 개 수 는 하나 일 수도 있 고 여러 개 일 수도 있 으 며 여러 매개 변수 간 에 쉼표 로 구분 할 수 있 습 니 다.
매개 변수 이름 규칙 에 맞 게 매개 변수 이름 을 마음대로 지 을 수 있 습 니 다.
형 삼 과 실 삼 의 이름 은 다 를 수 있 지만 데이터 형식 은 반드시 일치 해 야 하고 순 서 는 같 아야 하 며 개 수 는 같 아야 한다.
방법 에 인자 가 있 는 지 없 는 지 방법 에 반환 값 이 있 는 지 없 는 지 는 연락 이 없습니다.
1.3 대 참 방법의 응용
package Kind.dh;
// , 、 、
//
public class Student02 {
// :
//
String[] names = new String[30];
//1.
public void addName(String name) {
// , null
for (int i = 0; i < names.length; i++) {
if (names[i] == null) {
names[i] = name;
break;//
}
}
}
//2. ,
//start:
//end:
//name:
public boolean searchName(int start, int end, String name) {
boolean flag = true;// ,false ,
for (int i = start - 1; i < end; i++) {
if (name.equals(names[i])) {
flag = true;
break;
}
}
return flag;
}
//
public void showNames() {
System.out.println(" :");
for (int i = 0; i < names.length; i++) {
if (names[i] != null) {
System.out.println(names[i] + "\t");
break;
}
}
}
}
package instance.dh;
import Kind.dh.Student02;
import java.util.Scanner;
public class Student02Test {
public static void main(String[] args) {
Student02 student02 = new Student02();
Scanner input = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println(" " + (i + 1) + " :");
String name = input.next();
student02.addName(name);
}
student02.showNames();
//
System.out.println(" :");
int start = input.nextInt();
System.out.println(" :");
int end = input.nextInt();
System.out.println(" :");
String findName = input.next();
boolean flag = student02.searchName(start, end, findName);
if (flag) {
System.out.println(" ");
} else {
System.out.println(" , ");
}
}
}
1.4 기본 데이터 형식 과 참조 데이터 형식 전송 시의 차이학생 클래스 를 정의 하고 추가 1 작업 을 실현 합 니 다.
package Kind.dh;
//
public class Student {
// :
public String name;
public int age;
public String love;
// :
public void showInfo() {
System.out.println(" " + name + " " + age + " " + " " + love);
}
}
package Kind.dh;
public class Demo {
public void calc1(int num) {
num = num + 1;
}
public void calc2(Student student) {
student.age = student.age + 1;
}
}
package instance.dh;
import Kind.dh.Student;
import Kind.dh.Demo;
public class DemoTest {
public static void main(String[] args) {
Demo test = new Demo();
int n = 8;
test.calc1(n);
Student student = new Student();
student.age = 18;
test.calc2(student);
System.out.println(n + "---" + student.age);
}
}
실행 코드 발견 결 과 는8---19
이지 만 우리 가 원 하 는 것 은 모든 결과 가 1 증가 하 는 것 입 니 다.9---19
이 어야 합 니 다.왜 일 까요?이것 은 매개 변수 형식 이 다 르 기 때문에 기본 데이터 형식(int char double boolean float)이 라면 변수의 값 을 전달 하고 변수의 값 을 바 꾸 면 다른 변수의 값 을 영상 하지 않 습 니 다.그러나 매개 변 수 는 데이터 형식(사용자 정의 데이터 형식 배열 인터페이스)을 참조 하면 할당 할 때 원래 대상 의 참조(즉 메모리 주소)를 다른 참조 에 전달 합 니 다.기본 데이터 형식 참조:
참조 데이터 형식 참조:
1.5 방법 전 참-대상 배열
학생 클래스 를 정의 하고 학생 의 성적 을 할당 하여 출력 하 며,학생 의 성적 을 수정 하 는 클래스 를 정의 하 며,학생 의 성적 이 60 점 보다 적 으 면 2 를 추가 합 니 다.
package Kind.dh;
//
public class Student {
// :
public String name;
public int age;
public String love;
public int score;
// :
public void showInfo() {
// System.out.println(" " + name + " " + age + " " + " " + love);
System.out.println(name+" :"+ score);
}
}
package Kind.dh;
//
public class ModifyScore {
// 60
public void modifyStuScore(Student[] stus) {
for (int i = 0; i < stus.length; i++) {
if (stus[i].score < 60) {
stus[i].score += 2;
}
}
}
//
public void showStu(Student[] stus) {
for (Student stu : stus) {
stu.showInfo();
}
}
}
package instance.dh;
import Kind.dh.ModifyScore;
import Kind.dh.Student;
public class ModifyScoreTest {
public static void main(String[] args) {
ModifyScore modifyScore = new ModifyScore();
//
Student student1 = new Student();
student1.name = " ";
student1.score = 43;
Student student2 = new Student();
student2.name = " ";
student2.score = 59;
Student student3 = new Student();
student3.name = " ";
student3.score = 90;
Student[] students = new Student[3];
students[0] = student1;
students[1] = student2;
students[2] = student3;
// 、
System.out.println(" :");
modifyScore.showStu(students);
modifyScore.modifyStuScore(students);
System.out.println(" :");
modifyScore.showStu(students);
}
}
구조 방법new 대상 은 구조 함수,예 를 들 어 Student student 1=new Student()를 사용 해 야 합 니 다.이 때 호출 된 것 은 Hello 의 매개 변수 없 는 구조 방법 입 니 다.
구조 방법 은 대상 의 초기 화 를 완성 하 는 데 사용 되 지만 코드 에 수 동 으로 쓸 필요 가 없다.이것 은 시스템 이 기본 적 인 무 참 구조 방법 을 제공 하기 때문이다.구조 방법 도 방법의 범주 에 속 하기 때문에 구조 방법 도 파 라 메 터 를 지정 할 수 있 음 을 알 수 있다.
구조 방법의 형식 은 다음 과 같다.
접근 수정자 구조 방법 명(){
//코드 초기 화
}
우리 가 주의해 야 할 것 은 구조 방법 이 값 유형 을 되 돌려 주지 않 았 고 방법 명 과 유형 명 이 같다 는 것 이다.반환 값 형식 이 있 는 방법 은 일반적인 방법 입 니 다.
package Kind.dh;
//
public class Student {
// :
public String name;
public int age;
public String love;
public int score;
//
/*
public Student(){
//
}
*/
//
/*
public Student(String name,int score){
name = name;
score = score;
}
*/
//
/*
public Student(String n,int s){
name = n;
score = s;
}
*/
public Student(String name, int score) {
this.name = name;
this.score = score;
}
// :
public void showInfo() {
// System.out.println(" " + name + " " + age + " " + " " + love);
System.out.println(name + " :" + score);
}
}
package Kind.dh;
//
public class ModifyScore {
// 60
public void modifyStuScore(Student[] stus) {
for (int i = 0; i < stus.length; i++) {
if (stus[i].score < 60) {
stus[i].score += 2;
}
}
}
//
public void showStu(Student[] stus) {
for (Student stu : stus) {
stu.showInfo();
}
}
}
package instance.dh;
import Kind.dh.ModifyScore;
import Kind.dh.Student;
public class ModifyScoreTest {
public static void main(String[] args) {
ModifyScore modifyScore = new ModifyScore();
//
//
Student student1 = new Student(" ", 43);
// student1.name = " ";
// student1.score = 43;
Student student2 = new Student(" ", 59);
// student2.name = " ";
// student2.score = 59;
Student student3 = new Student(" ", 90);
// student3.name = " ";
// student3.score = 90;
Student[] students = new Student[3];
students[0] = student1;
students[1] = student2;
students[2] = student3;
// 、
System.out.println(" :");
modifyScore.showStu(students);
modifyScore.modifyStuScore(students);
System.out.println(" :");
modifyScore.showStu(students);
}
}
코드 에 다음 단락 이 있 습 니 다:
public Student(String name, int score) {
this.name = name;
this.score = score;
}
여기 this 키 워드 는 현재 대상 을 가리 키 는 것 입 니 다.
Student student1 = new Student(" ", 43);
Student student2 = new Student(" ", 59);
Student student3 = new Student(" ", 90);
현재 대상 이란 Student 류 가 인 스 턴 스 를 거 쳐 만들어 진 student 1,student 2,student 3 를 말한다.프로그램 이 student 1 을 만 들 었 을 때 this 대 는 student 1 을 말 합 니 다.student 2 를 만 들 었 을 때 this 대 는 student 2 라 는 대상 을 말 합 니 다.코드 에 인삼 이 있 는 구조 방법 을 정의 하면 시스템 은 더 이상 인삼 이 없 는 구조 방법 을 제공 하지 않 을 것 이다.
2.1 this 의 다른 용법
this 클래스 의 일반적인 방법 과 구조 방법 을 호출 할 수 있 습 니 다.
package Kind.dh;
//
public class Student {
// :
public String name;
public int age;
public String love;
public int score;
//
/*
public Student(){
//
}
*/
//
/*
public Student(String name,int score){
name = name;
score = score;
}
*/
//
/*
public Student(String n,int s){
name = n;
score = s;
}
*/
public Student(String name, int score) {
this.name = name;
this.score = score;
}
// :
public void showInfo() {
// System.out.println(" " + name + " " + age + " " + " " + love);
System.out.println(name + " :" + score);
}
public void method1(){
// showInfo();
//this
this.showInfo();
}
public Student(String name,int score,int age){
/*
this.name = name;
this.score = score;
this.age = age;
*/
//
this(name, score);
this.age= age;
// this 。
}
}
3.방법 과부하방법 은 일반 방법 과 구조 방법 으로 나 뉘 기 때문에 방법 과부하 도 상응 하 게 일반 방법 과부하 와 구조 방법 으로 나 뉜 다.
매개 변수 항목 이 다 름
반환 값,접근 수정자 와 무관 합 니 다.
방법
매개 변수 개수 나 유형 이 다 릅 니 다.
반환 값,접근 수정자 와 무관 합 니 다.
package Kind.dh;
//
public class Calc {
//
public void add(int num1, int num2) {
int sum = num1 + num2;
System.out.println(num1 + " + " + num2 + " = " + sum);
}
//
public void add(double num1, double num2) {
double sum = num1 + num2;
System.out.println(num1 + " + " + num2 + " = " + sum);
}
//
public void add(double num1, double num2, double num3) {
double sum = num1 + num2 + num3;
System.out.println(num1 + " + " + num2 + " + " + num3 + " = " + sum);
}
}
package instance.dh;
import Kind.dh.Calc;
public class CalcTest {
public static void main(String[] args) {
Calc calc = new Calc();
calc.add(2, 8);
calc.add(2.3, 78.9);
calc.add(23.4, 67.8, 90.8);
}
}
사실System.out.println();
은 하나의 방법 으로 무 거 운 짐 을 싣 는 것 이다.3.1 구성원 변수 와 부분 변수
변수 성명 의 위 치 는 변수의 역할 영역 을 결정 합 니 다.변수의 역할 영역 은 프로그램 에서 변수 이름 에 따라 이 변수의 영역 을 방문 할 수 있 는 지 확인 합 니 다.
구성원 변수 와 부분 변수의 차이:
구성원 변수(전역 변수)는 전체 클래스 에 작용 합 니 다.
자바 는 부분 변수 에 초기 값 을 부여 하지 않 습 니 다.
다른 방법 에서 같은 이름 의 부분 변 수 를 가 질 수 있 습 니 다.
같은 클래스 에서 구성원 변수 와 국부 변수 가 같은 이름 일 때 국부 변 수 는 더욱 높 은 우선 순 위 를 가진다.
package cn.zhz.Test.dh;
public class Var {
// :
// num s
// , int 0,String null,double 0.0
int num;
String s;
// , ,
int var = 9;
// :
public void m1() {
// a m1
int a = 1;
for (; a <= 5; a++) {
System.out.println("hello");
}
}
public void m2() {
// a for
for (int b = 1; b <= 5; b++) {
System.out.println(b);
}
}
public void m3() {
System.out.println(num);
System.out.println(s);
}
// ,
public void m4(int num) {
System.out.println("num = " + num);
}
public static void main(String[] args) {
// // a , a main
// int a = 0;
// for(;a <= 4;a ++){
// System.out.println("hello");
// }
// System.out.println(a);// a
}
}
자바 의 기본 적 인 방법 과 방법 에 대한 자세 한 내용 을 소개 합 니 다.자바 방법 과 방법 에 관 한 더 많은 재 업로드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.