一、变量的作用域(有效的使用范围)
1、变量有2种
1.1成员变量(属性)
声明在类的里面,方法的外面
1.2 局部变量
声明在方法里面或for循环结构中
2、调用时的注意事项
2.1 成员变量,有默认值(不初始化),在当前类直接通过成员变量名调用;在其他类中,通过该类的对象名.属性(成员变量)名调用;成员变量名称在同一个类中是唯一的。
2.2 局部变量,没有默认值,必须先赋值再使用
局部变量,只能在当前的方法中使用,其他方法和其他类不能调用;在同一个方法中名称是唯一的,但多个方法中,允许局部变量同名
2.3 局部变量和成员变量同名时,局部变量的优先级高于成员变量
public class shangji1 { int java; int c; int db; //计算总分 public int totalScore(){ return java+c+db; } //输出总分 public void showScore(){ System.out.println("总分是:"+totalScore()); } //计算平均分 public double avge(){ int a=totalScore(); return a/3.0; } public void cuAvge(){ System.out.println("平均分是:"+avge()); } }
public static void main(String [] args){ shangji1 s=new shangji1(); Scanner imput=new Scanner(System.in); System.out.print("请输入Java的成绩:"); s.java=imput.nextInt(); System.out.print("请输入c的成绩:"); s.c=imput.nextInt(); System.out.print("请输入db的成绩:"); s.db=imput.nextInt(); s.showScore(); s.cuAvge(); }
二、java文档注释(javadoc)自动生成
1、单行注释://
2、多行注释:/* */
3、文档注释:/** */
步骤:
选择项目后,右键单击再选择【export…】,4个单选按钮中,选择package,最后点击【finish】完成帮助文档html文件的生成,默认保存在当前项目下的【doc】文件夹中
三、java中无参方法的定义和调用
1、方法的作用
封装(重复的代码)
提高代码的可重用性、可维护性
2、如何定义无参方法 _方法命名遵循骆驼命名法
public 返回类型 方法名( ){
//……………方法体
}
3、根据返回类型,无参的方法,分为2种
3.1 有返回类型(数据类型),方法体中,必须出现
return 【表达式、变量、值】,return 写在方法中最后一行
3.3 没有返回类型,在定义方法时,返回类型写void,没有return语句,
输出结果(System.out.println)
4、方法的调用—
l 调用其他类的方法:对象名.方法名();
l 同一个类中,方法之间的调用:方法名();
4.1 无返回类型
对象名.方法名();//输出数据
4.2 有返回类型
数据类型 变量名=对象名.方法名();
System.out.println(变量名);
或 System.out.println( 对象名.方法名() );
四、面向对象的3大特征:封装、继承、多态
public class shangji3 { //登陆菜单 public void showMenu(){ System.out.println("\n\t欢迎使用我行我素购物管理系统\n"); System.out.println("\t\t1.登陆"); System.out.println("\t\t2.退出"); System.out.println("* * * * * * * * * * * * * * * * * * * *"); System.out.print("请选择:"); } //主菜单 public void mainMenu(){ System.out.print("\t我行我素购物管理系统主菜单"); System.out.println("* * * * * * * * * * * * * * * * * * * *"); System.out.println("\t\t1.客户信息管理"); System.out.println("\t\t2.真情回馈"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * *"); boolean con; Scanner input=new Scanner(System.in); System.out.print("请选择,输入数字或按0返回上一级菜单:"); int no=input.nextInt(); do{ con=false; //输入数字,选择菜单。 switch (no){ case 1: custMenu(); break; case 2: sendMenu(); break; case 0: mainMenu(); break; default: System.out.println("请输入正确的数字!"); con=true; break; } }while(con); } public void sendMenu(){ System.out.print("\t我行我素购物管理系统 > 真情回馈"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * *"); System.out.println("\n\t\t1.幸运大放送"); System.out.println("\n\t\t2.幸运抽奖"); System.out.println("\n\t\t3.生日问候"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * *"); boolean com; do{ com=false; //输入数字,选择菜单 Scanner input=new Scanner(System.in); System.out.print("请选择,输入数字或按0返回上一级菜单:"); int no= input.nextInt(); switch (no){ case 1: System.out.println("执行幸运大放送"); break; case 2: System.out.println("执行幸运抽奖"); break; case 3: System.out.println("生日问候"); break; case 0: mainMenu(); break; default: System.out.println("请输入正确的数字"); com=true; break; } }while(com); } public void custMenu(){ } }
public static void main(String [] args){ shangji3 f=new shangji3(); //显示菜单 f.showMenu(); //实现菜单 boolean d=true; do{ Scanner input =new Scanner(System.in); int choice=input.nextInt(); switch (choice){ case 1: f.mainMenu(); break; case 2: System.out.println("谢谢您的使用!"); d=false; break; } }while(d); }
public static void main(String [] args){ shangji1 s=new shangji1(); Scanner imput=new Scanner(System.in); System.out.print("请输入Java的成绩:"); s.java=imput.nextInt(); System.out.print("请输入c的成绩:"); s.c=imput.nextInt(); System.out.print("请输入db的成绩:"); s.db=imput.nextInt(); s.showScore(); s.cuAvge(); }
5、Java中的包(package)
5.1 包,对应到磁盘中的文件夹
5.2 新建一个class,默认保存在缺省包中
5.3 声明包的关键字:package
package语句,置顶位置
5.4 导入包的关键字:import
import 包名.类名(*表示所有);
5.5 作用:
l 分类存放,解决同名冲突
l 分类存放,方便查找和管理
5.6 命名规范——参考教材
6、有参数的方法
6.1 如何声明
public 返回类型 方法名(数据类型 参数名){
….方法体
}
6.2 分为2类
6.2.1 无返回类型——void
6.2.2 有返回类型
l 基本数据类型
l 自定义类——return 类的对象;
l 数组——return 数组名;
6.3参数的类型
l 基本数据类型(10-31)
l 自定义类——传递的是类的对象
l 数组——只需要传递 【数组名】
6.4调用
6.4.1在当前类中调用——方法名(值列表);
6.4.2在其他类中调用——对象名.方法名(值列表);
package Pack1; public class No3 { String names[]=new String[30]; public void addName(String name){ for (int i=0;i<5;i++){ names[i]=name; if(i==5){ System.out.println(names[i]+""); } } } public void showName(){ } }
package Pack2; import Pack1.No3; //导入包 import java.util.*; public class No1 { public static void main(String [] args){ No3 d=new No3(); Scanner input=new Scanner(System.in); for(int i=0;i<5;i++){ System.out.print("请输入学生姓名:"); String newName=input.next(); d.addName(newName);//调用方法并传实参 } d.showName(); } }
7、方法总结
分类:
1、 无返回类型,无参数
2、 无返回类型,有参数
3、 有返回类型,无参数
4、 既有返回类型,又有参数
参数或返回类型,可以是常用的数据类型,也可以是自定义的类或数组