要点回顾:
1、基本数据类型作方法的参数,单向值传递:实参-->形参。
2、引用型数据做方法参数(如数组、对象),实参传给形参的是地址,即数据的引用。
3、static修饰过的静态成员可以互相访问,其他成员不能访问static修饰的成员;static修饰过的方法可以在该类的外部用类名.方法名(实参)直接调用。
4、方法重载:1)参数的个数不同 2)相应位置参数的类型不同 [满足一个或全满足都可以实现重载]
5、构造方法:1)与类同名 2)没有任何返回类型 3)除此以外,在语法结构上与一般方法相同
6、封装:1)get成员变量名[例:getName()] 2)set成员变量名[例:setPassword()]
实验与训练:
1、
package train4_1;
import java.util.*;
public class Train4_1 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("请输入a的值:");
int a=reader.nextInt();
System.out.print("请输入b的值:");
int b=reader.nextInt();
int sum=add(a,b);
System.out.println(a+"+"+b+"="+sum);
}
static int add(int op1,int op2) {
return op1+op2;
}
}
2、
package train4_2;
import java.util.*;
public class Train4_2 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入一个整数:");
int n=reader.nextInt();
abs(n);
}
public static void abs(int a) {
if(a<0)
a=-a;
else
a=a;
System.out.println("绝对值为:"+a);
}
}
3、
package train4_3;
import java.util.Scanner;
public class Train4_3 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入一个整数:");
int n=reader.nextInt();
System.out.println("绝对值为:"+abs(n));
}
public static int abs(int a) {
if(a<0)
return -a;
else
return a;
}
}
4、charAt(0)表示检索某一目录下的第一个字符,这里面就是输入的第一个字符
package train4_4;
import java.util.*;
public class Train4_4 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("请输入一个整数:");
int n=reader.nextInt();
System.out.print("请输入一个字符:");
char ch=reader.next().charAt(0);
draw(n,ch);
}
public static void draw(int n,char ch) {
for(int i=0;i<n;i++) {
System.out.print(ch);
}
}
}
5、
package train4_5;
import java.util.*;
public class Train4_5 {
//我的理解是给出一个正整数n,从0累加到n
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入一个正整数n:");
int n=reader.nextInt();
int sum=0;
for(int i=1;i<=n;i++) {
sum+=i;
}
System.out.println("累加和:"+sum);
}
}
6、这个看着很长,其实逻辑段很少。
package train4_6;
import java.util.*;
class Initial{
Scanner reader=new Scanner(System.in);
int intarr[];
double doublearr[];
String stringarr[];//这三个定义同样可以省去
void initArr(int iarr[]) {
System.out.print("请输入整数型数组初始值:");
for(int i=0;i<iarr.length;i++) {
iarr[i]=reader.nextInt();
}
System.out.print("显示整数型数组所有元素:");
for(int i=0;i<iarr.length;i++) {
System.out.print(iarr[i]+" ");
}
}
void initArr(double darr[]) {
System.out.print("请输入双精度型数组初始值:");
for(int i=0;i<darr.length;i++) {
darr[i]=reader.nextDouble();
}
System.out.print("显示双精度型数组所有元素:");
for(int i=0;i<darr.length;i++) {
System.out.print(darr[i]+" ");
}
}
void initArr(String sarr[]) {
System.out.print("请输入字符串数组初始值:");
for(int i=0;i<sarr.length;i++) {
sarr[i]=reader.next();
}
System.out.print("显示字符串数组所有元素:");
for(int i=0;i<sarr.length;i++) {
System.out.print(sarr[i]+" ");
}
}
}
public class Train4_6 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("请输入数组长度n:");
int n=reader.nextInt();
int iarr[] = new int[n];
Initial a=new Initial();
a.initArr(iarr);
System.out.println();
double darr[] = new double[n];
a.initArr(darr);
System.out.println();
String sarr[] = new String[n];
a.initArr(sarr);
}
}
7、
package train4_7;
import java.util.*;
class MathDemo{
float fl;//定义单精度
double dou;//定义双精度
//这个比较简单,上面的定义其实可以省略(哈~)
int round(float f) {
return (int)f;//这一步也可以用Math.round();
}
int round(double d) {
return (int)d;
}
}
public class Train4_7 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("请输入一个单精度数:");
float a=reader.nextFloat();
System.out.print("请输入一个双精度数:");
double b=reader.nextDouble();
MathDemo object=new MathDemo();
System.out.println("单精度数四舍五入后的值为:"+object.round(a));
System.out.println("双精度数四舍五入后的值为:"+object.round(b));
}
}