1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
在Java中有8种数据类型来存储数值、字符和布尔值(true OR false)
byte short int long
double float
char
boolean
for(定义一个初始值;限定初始值的上限;定义值的运算方法){ 执行语句 }
int i; for(i=0;i<5;i++) System.out.println("这是第"+(i+1)+"次循环"); 这是第1次循环 这是第2次循环 这是第3次循环 这是第4次循环 这是第5次循环while(限定条件) { 执行语句; 突破限定条件的语句来结束循环; }
int i=0; while(i<5) { System.out.println("这是第"+(i+1)+"次循环"); i++; } 这是第1次循环 这是第2次循环 这是第3次循环 这是第4次循环 这是第5次循环if(判断正误) { 执行语句 }
int i=0; if(i==0) { System.out.println("这是正确的"); } 这是正确的switch(判断的对象){ case 结果1:运行语句;break(结束判断); case 结果2:运行语句;break(结束判断); default(其他结果):运行语句 ;break(结束判断); }
int i=0; switch(i) { case 0:System.out.println("与零匹配");break; case 1:System.out.println("与一匹配");break; default:System.out.println("与其余的值匹配");break; } 与零匹配一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类是一个模板,它描述一类对象的行为和状态。
public class Dog { String color; String name; String variety; public Dog(String color, String name, String variety) { super(); this.color = color; this.name = name; this.variety = variety; } }方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
public void Shaketail() { System.out.println(this.name+"摇尾巴"); } public void Cry() { System.out.println(this.name+"在叫"); } public void Eat() { System.out.println(this.name+"在吃"); }每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
public static void main(String[] args) { Dog a=new Dog("yello","许强","Golden hair"); a.Cry(); a.Eat(); a.Shaketail(); } 许强在叫 许强在吃 许强摇尾巴 关键字说明private私有的protected受保护的public公共的 类、方法和变量修饰符 abstract 声明抽象class类extends扩充,继承final最终值,不可改变的implements实现(接口)interface接口native本地,原生方法(非 Java 实现)new新,创建static静态通过一个extends连接两个非主类的类, extends前的是子类,extends后注明的是父类 子类继承父类的成员变量和成员函数, 父类不能获得子类的成员变量和成员函数, 类似于一个叠加的状态 且一个子类只能一个父类,实行单继承
public class MaleDog extends Dog{ String sex; public MaleDog(String color, String name, String variety,String sex) { super(color, name, variety); this.sex=sex; } public void move() { System.out.println(this.name+"在爬"); } } Dog b=new MaleDog("red", "红红", "Teddy", "Male"); b.Cry(); b.Move(); 红红在叫 红红在爬 a.Move(); Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method Move() is undefined for the type Dog a作为父类的对象无法调用子类的方法Interface关键字用来声明一个接口 当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。 抽象方法即声明方法但不声明方法的内容
public interface 接口名称 [extends 其他的接口名] { // 声明变量 // 抽象方法如果加了extends就是继承了其他接口名 的方法和成员变量, 所以实现接口名称的类需要实现 其他接口名的方法和接口名称声明的方法。
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字 实现类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
public 实现接口名 implements 接口名称 { //实现方法 }接口跟继承相比, 区别在于接口可以多个接口, 接口类也可以多个继承,
public interface Book extends tree,knowledge封装是java的一种思想, 把指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。 封装可以被认为是一个保护屏障, 防止该类的代码和数据被外部类定义的代码随机访问。 要访问该类的代码和数据,必须通过严格的接口控制。
封装的优点
良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变量进行更精确的控制。
隐藏信息,实现细节。
私有化成员变量,使其他类无法直接访问,对此有一定的保护性
public class Dog { private String color; private String name; private String variety; public Dog(String color, String name, String variety) { super(); this.color = color; this.name = name; this.variety = variety; }让其他类对其访问成员变量: 通过公有化的方法对其复制其数据达到访问, 或者在公有化的方法里修改赋值给成员变量达到修改。
public String getColor() { return color; } public void setColor(String color) { this.color = color; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getVariety() { return variety; } public void setVariety(String variety) { this.variety = variety; }以上实例中public方法是外部类访问该类成员变量的入口。
通常情况下,这些方法被称为getter和setter方法。
因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。
Dog a=new Dog("yello","许强","Golden hair"); a.Cry(); a.Eat(); a.Shaketail(); MaleDog b=new MaleDog("red", "红红", "Teddy", "Male"); b.Cry(); b.Move(); System.out.println(a.getColor()); System.out.println(b.getVariety()); 许强在叫 许强在吃 许强摇尾巴 红红在叫 红红在爬 yello Teddy以上 的java的基础内容,适合对新学者的快速浏览java基础内容。 eclipse 和intellij IDEA是java的开发环境。 eclipse的下载网站为 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2019-09/R/eclipse-inst-win64.exe intellij IDEA的下载网站为 http://www.jetbrains.com/idea/