1.类和对象
1)会创建类和对象
万物皆对象
引用对象成员:使用“.”进行以下操作
对象:用来描述客观事物的一个实体,由一组属性和方法构成
2)Java是面向对象的语言
3)类和对象的关系
2.方法
1)方法是什么?
2)方法的定义语法:
3)方法根据是否有返回值和参数分类:
4)调用有返回值的方法注意事项:
5)调用需要传递参数的有参方法注意事项:
6)综上所述,调用方法的两个原则是:
3.例题
1.类和对象
1)会创建类和对象
类是具有相同属性和方法的一组对象的集合
类是对象的抽象,对象是类的具体
万物皆对象
创建对象
类名 对象名 = new 类名();
School center = new School();
引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
center.name = "课工场"; //给name属性赋值
引用类的方法:对象名.方法名()
center.showCenter(); //调用showCenter()方法
对象:用来描述客观事物的一个实体,由一组属性和方法构成
属性——对象具有的各种特征,每个对象的每个属性都拥有特定值
方法——对象执行的操作
2)Java是面向对象的语言
所有Java程序都以类class为组织单元
关键字class定义自定义的数据类型
public class 类名 {
//定义属性部分
属性1的类型 属性1;
…
属性n的类型 属性n;
//定义方法部分
方法1;
…
方法m;
}
public class Teacher {
public static void main(String[] args) {
Teacher wang = new Teacher();
wang.name = "王老师";
wang.direction = "计算机";
wang.course = "Java";
wang.teachAge = 5;
wang.printAll();
}
public String name;
public String direction;
public String course;
public int teachAge;
public void printAll(){
System.out.println(name);
System.out.println("方向:"+direction);
System.out.println("课程:"+course);
System.out.println("教龄:"+teachAge);
}
}
3)类和对象的关系
类是抽象的概念,仅仅是模板
比如说:“人”
对象是一个你能够看得到、摸得着的具体实体
2.方法
1)方法是什么?
方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果
类的方法定义类的某种行为(或功能)
2)方法的定义语法:
访问权限修饰符 返回值类型 方法名(数据类型 变量名1,数据类型 变量名2,...,数据类型 变量名n){方法体}
访问权限修饰符有4种
public(公共的)
protected(受保护的)
默认的(不写修饰符)
private(私有的)
返回值类型
没有返回值的时候,写void
有返回值,返回值可以是基本数据类型,也可以是引用数据类型
方法名
采用小驼峰命名法
见名知意
方法的参数列表,可以有可以没有,有参数的时候,可以有一个,也可以有多个
方法体:方法能具体干什么事情的代码
3)方法根据是否有返回值和参数分类:
无返回值的无参方法
无返回值的有参方法
有返回值的无参方法
有返回值的有参方法
4)调用有返回值的方法注意事项:
调用一个有返回值的方法,对于返回的结果,你可以直接输出,也可以使用返回类型的变量去接收返回值
5)调用需要传递参数的有参方法注意事项:
方法需要多少个参数,你就要传递多少个参数,并且需要按照其定义的顺序传递参数
6)综上所述,调用方法的两个原则是:
给什么接什么---》返回什么结果给你,你就用什么变量接收
要什么给什么---》方法需要什么参数,你就给什么参数
3.例题
1)卖飞机票,机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。旺季5-10月头等舱9折,经济舱8.5折,淡季11月-次年4月头等舱7折,经济舱6.5折
public class Air_tickets {
public static void main(String[] args) {
//月份,头等舱/经济舱,机票原价
double price = getPrice(1000, 7, "头等舱");
System.out.println("价格为:" + price);
}
public static double getPrice(double originalPrice, int month, String seatLevel) {
double price;
if (month >= 5 && month <= 10) {
if (seatLevel.equals("头等舱") == true) {
price = originalPrice * 0.9;
} else {
price = originalPrice * 8.5;
}
} else {
if (seatLevel.equals("头等舱") == true) {
price = originalPrice * 0.7;
} else {
price = originalPrice * 0.65;
}
}
return price;
}
}
2)给一个数组,调用方法使其升序排列,并且调用方法输出数组;
public class MethodDemo03 {
public static void main(String[] args) {
int[] nums1 = {9,8,7,6,5,4,3,2,1};
int[] nums2 = {8,7,6,5,4,3,2,1};
MethodDemo03.sortArray(nums1);
MethodDemo03.arrayToString(nums1);
MethodDemo03.sortArray(nums2);
MethodDemo03.arrayToString(nums2);
}
public static void sortArray(int[] nums){
int temp = 0;
for (int i = 0; i < nums.length-1; i++) {
for (int j = 0; j < nums.length-1-i; j++) {
if (nums[j]>nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
}
public static void arrayToString(int[] nums){
System.out.print("[");
for (int i = 0; i < nums.length-1; i++) {
System.out.print(nums[i]+" ");
}
System.out.print(nums[nums.length-1]);
System.out.print("]");
System.out.println();
}
}
3)随机输出一个5位的验证码,前四位为大写字母或者小写字母,最后一位为数字;
public class VerificationCode {
public static void main(String[] args) {
//随机5位验证码
//前四为大写字母或者小写字母,大65-90 小97-122;
//最后一位是数字
code();
System.out.println();
getCode();
}
public static void code(){
int num1 = 0;
int num2 = 0;
for (int i = 0; i < 4; i++) {
int num3 = (int)(Math.random()*2);
if (num3==0) {
num1 = (int)(Math.random()*26+65);
char ch1 = (char)(num1);
System.out.print(ch1);
} else {
num2 = (int)(Math.random()*26+97);
char ch2 = (char)(num2);
System.out.print(ch2);
}
}
int num4 = (int)(Math.random()*10);
System.out.print(num4);
}
public static void getCode(){
char[] ch1 = new char[52];
for (int i = 65; i < 91; i++) {
ch1[i-65] = (char)(i);
}
for (int i = 97; i < 123; i++) {
ch1[i-71] = (char)(i);
}
for (int i = 0; i < 4; i++) {
int num = (int)(Math.random()*52);
System.out.print(ch1[num]);
}
int num1 = (int)(Math.random()*10);
System.out.print(num1);
}
}
这里用了两种方法去获得随机的四位字母,
第一种是靠三个随机数获得的,随机数1和随机数2转换成字母,用随机数三决定输出大写还是小写。
第二种是把大写小写字母存入数组,然后再用随机数,把字母取出来。



