目录
一.方法
方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。
方法声明格式:
[修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表){
Java语句;... ... ...
}
方法调用方式:
对象名.方法名(实参列表)
public class test {
public static void print(){
System.out.println("hello world");
}
public static void main(String[] args){
print();
}
}
方法的重载
方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法,调用时,会根据不同的参数自动匹配对应的方法。
public class test {
public static int add(int x,int y){
int a=x+y;
System.out.println(a);
return a;
}
public static double add(double m,double n){
double b=m+n;
System.out.println(b);
return b;
}
public static void main(String[] args){
add(1,2);
add(1.2,3.4);
}
}
递归结构
递归结构介绍
递归结构包括递归头和递归体两个部分。
用递归求n!:
public class test {
static long digui(int n){
if(n==1){
return 1;
}else
return n*digui(n-1);
}
public static void main(String[] args){
System.out.println(digui(10));
}
}
注:递归比较耗时,能用循环一般不用递归。
构造方法(构造器)
构造器也叫构造方法,用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
声明格式:
[修饰符]类名(形参列表){
//n条语句
}
import java.awt.*;
class Point{
double x,y;
public Point(double a,double b){
x=a;
y=b;
}
public double getnum(Point p){
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class test {
public static void main(String[] args){
Point P=new Point(3.0,4.0);
Point origin=new Point(0.0,0.0);
System.out.println(P.getnum(origin));
}
}
面向对象(1)
面向过程和面向对象的区别
面向过程和面向对象都是对软件分析,设计和开发的一种思想,它指导者人们以不同的方法去分析设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过成的弊端越来越明显,出现了面向对象思想。c语言是一种典型的面向过程语言,Java是一种典型的面向对象语言。
面向过程思想思考问题时,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。
面向对象思想首先要思考的是“怎么设计这个事物?”
类和对象的概念
类可以看作是一个模板或者图纸,系统根据类的定义来构造出对象。
对象可以看作该类的具体实现。
public class student{
int id;
String name;
int age;
void study(){
System.out.println("我正在学习!");
}
student(){
}
}
属性(field 成员变量)
属性用于定义该类或该类对象包含的数据或者说静态特征。
this关键字
public class test {
int id;
String name;
String pwd;
public test(int id,String name){
this.id=id;
this.name=name;
}
public static void main(String[] args){
test t=new test(12,"doudou");
}
}
static关键字
在类中,用static声明的成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。
包机制(package,import)
package
我们通过package实现对类的管理,package有两个要点:
1.通常是类的第一句非注释性语句
2.包名:域名倒着写即可,再加上模块名,便于内部管理类。
例如:com.sun.test;
导入类import
如果我们要使用其他的类,需要用import导入。
package com.bjsxt.test;
import com.bjsxt.test1.user;
public class text1 {
public static void main(String[] args){
user u=new user();
u.study();
}
}
静态导入的使用
package com.bjsxt.test;
import static java.lang.Math.*;
import static java.lang.Math.PI;
public class text1 {
public static void main(String[] args){
System.out.println(PI);
System.out.println(random());
}
}