昨天有点偷懒了,下午在虚拟机上装Linux配一些东西整的有点晚,今天继续。其实应该第一天就从Java开始的,算了,这几天复习Java基础吧。自己之前学的时候也有写很多笔记,但都太散了,所以这几天会主要按照菜鸟教程上的来复习。
一、简介
Java 是由 Sun Microsystems 公司于1995年5月推出的高级程序设计语言。Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。
1、第一个Java程序
- 创建一个.java文件(文件名与类名一致)
//HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
- javac命令将HelloWorld.java(源文件)编译成HelloWorld.class(字节码文件)
- java命令运行该字节码文件
javac HelloWorld.java java HelloWorld
2、Java简介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
Java分为三个体系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。
3、主要特性
- Java 语言是简单的
- Java 语言是面向对象的
- Java语言是分布式的
- Java 语言是健壮的
- Java语言是安全的
- Java 语言是体系结构中立的
- Java 语言是可移植的
- Java 语言是解释型的
- Java 是高性能的
- Java 语言是多线程的
- Java 语言是动态的
这块菜鸟教程上有非常清晰的解释。但个人感觉,Java语言要更灵活,不止体现在编写代码上,它的面向对象思想以及封装、继承、多态,能更好的帮助我们理解并解决问题。
4、Java开发工具
Java 语言尽量保证系统内存在 1G 以上,其他工具如下所示:
- Linux 系统、Mac OS 系统、Windows 95/98/2000/XP,WIN 7/8系统。
- Java JDK 7、8……
- vscode 编辑器或者其他编辑器。
- IDE:Eclipse、 IntelliJ IDEA、NetBeans 等。
二、基础语法
1、几个概念
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
- 类:类是一个模板,描述一类对象的行为和状态。
- 对象:对象是类的一个实例,有状态和行为。
- 方法:方法就是行为,一个类可以有很多方法。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
public class Puppy{
public Puppy(){
}
public Puppy(String name){
// 这个构造器仅有一个参数:name
}
}
创建对象
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
- 声明:声明一个对象,包括对象名称和对象类型。
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public static void main(String[] args){
// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}
访问实例变量与方法
需要先创建对象的实例,再通过对象名.成员变量,对象名.成员方法
public class Puppy{
int puppyAge;
public Puppy(String name){
// 这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public void setAge( int age ){
puppyAge = age;
}
public int getAge( ){
System.out.println("小狗的年龄为 : " + puppyAge );
return puppyAge;
}
public static void main(String[] args){
/* 创建对象 */
Puppy myPuppy = new Puppy( "tommy" );
/* 通过方法来设定age */
myPuppy.setAge( 2 );
/* 调用另一个方法获取age */
myPuppy.getAge( );
/*你也可以像下面这样访问成员变量 */
System.out.println("变量值 : " + myPuppy.puppyAge );
}
}
源文件声明规则
- 一个源文件中只能有一个 public 类
- 一个源文件可以有多个非 public 类
- 源文件的名称应该和 public 类的类名保持一致。
- 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
- 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
- import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
2、Java基本数据类型
Java有两大数据类型:内置数据类型、引用数据类型
内置数据类型(基本数据类型8种)
byte short int long float double boolean char
byte:
- byte 数据类型是8位、有符号的,以二进制补码表示的整数;
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- 默认值是 0;
- byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
- 例子:byte a = 100,byte b = -50。
short:
- short 数据类型是 16 位、有符号的以二进制补码表示的整数
- 最小值是 -32768(-2^15);
- 最大