一个Java程序能够认为是一系列对象的集合,而这些对象经过调用彼此的方法来协同工做。下面简要介绍下类、对象、方法和实例变量的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类能够有不少方法。逻辑运算、数据修改以及全部动做都是在方法中完成的。
实例变量:每一个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
创一个小群,供你们学习交流聊天
若是有对学JAVA方面有什么疑惑问题的,或者有什么想说的想聊的你们能够一块儿交流学习一块儿进步呀。
也但愿你们对学JAVA可以锲而不舍
JAVA爱好群,
若是你想要学好JAVA最好加入一个组织,这样你们学习的话就比较方便,还可以共同交流和分享资料,给你推荐一个学习的组织:快乐学习JAVA组织 能够点击组织二字,能够直达
第一个Java程序java
下面看一个简单的Java程序,它将打印字符串 Hello World
实例数组
public class HelloWorld {函数
/* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World }
}学习
下面将逐步介绍如何保存、编译以及运行这个程序:
打开Notepad,把上面的代码添加进去;
把文件名保存为:HelloWorld.java;
打开cmd命令窗口,进入目标文件所在的位置,假设是C:\
在命令行窗口键入 javac HelloWorld.java 按下enter键编译代码。若是代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。
再键入java HelloWorld 按下Enter键就能够运行程序了测试
你将会在窗口看到 Hello World
C : > javac HelloWorld.java
C : > java HelloWorld
Hello Worldui
基本语法this
编写Java程序时,应注意如下几点:
大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不一样的。
类名:对于全部的类来讲,类名的首字母应该大写。若是类名由若干单词组成,那么每一个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名:全部的方法名都应该以小写字母开头。若是方法名含有若干单词,则后面的每一个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名做为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(若是文件名和类名不相同则会致使编译错误)。
主方法入口:全部的Java 程序由public static void main(String []args)方法开始执行。spa
Java标识符命令行
Java全部的组成部分都须要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有如下几点须要注意:
全部的标识符都应该以字母(A-Z或者a-z),美圆符($)、或者下划线(_)开始
首字符以后能够是字母(A-Z或者a-z),美圆符($)、下划线(_)或数字的任何字符组合
关键字不能用做标识符
标识符是大小写敏感的
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary线程
Java修饰符
像其余语言同样,Java可使用修饰符来修饰类中方法和属性。主要有两类修饰符:
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, strictfp
在后面的章节中咱们会深刻讨论Java修饰符。
Java变量
Java中主要有以下几种类型的变量
局部变量
类变量(静态变量)
成员变量(非静态变量)
Java数组
数组是储存在堆上的对象,能够保存多个同类型变量。在后面的章节中,咱们将会学到如何声明、构造以及初始化一个数组。
Java枚举
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举能够减小代码中的bug。
例如,咱们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不容许顾客点除了这三种尺寸外的果汁。
实例
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String []args){
FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDIUM ;
}
}
注意:枚举能够单独声明或者声明在类里面。方法、变量、构造函数也能够在枚举中定义。
Java关键字
下面列出了Java保留字。这些保留字不能用于常量、变量、和任何标识符的名称。
关键字 描述
abstract 抽象方法,抽象类的修饰符
assert 断言条件是否知足
boolean 布尔数据类型
break 跳出循环或者label代码段
byte 8-bit 有符号数据类型
case switch语句的一个条件
catch 和try搭配扑捉异常信息
char 16-bit Unicode字符数据类型
class 定义类
const 未使用
continue 不执行循环体剩余部分
default switch语句中的默认分支
do 循环语句,循环体至少会执行一次
double 64-bit双精度浮点数
else if条件不成立时执行的分支
enum 枚举类型
extends 表示一个类是另外一个类的子类
final 表示一个值在初始化以后就不能再改变了
表示方法不能被重写,或者一个类不能有子类
finally 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,不管有没有异常发生都执行代码。
float 32-bit单精度浮点数
for for循环语句
goto 未使用
if 条件语句
implements 表示一个类实现了接口
import 导入类
instanceof 测试一个对象是不是某个类的实例
int 32位整型数
interface 接口,一种抽象的类型,仅有方法和常量的定义
long 64位整型数
native 表示方法用非java代码实现
new 分配新的类实例
package 一系列相关类组成一个包
private 表示私有字段,或者方法等,只能从类内部访问
protected 表示字段只能经过类或者其子类访问
子类或者在同一个包内的其余类
public 表示共有属性或者方法
return 方法返回值
short 16位数字
static 表示在类级别定义,全部实例共享的
strictfp 浮点数比较使用严格的规则
super 表示基类
switch 选择语句
synchronized 表示同一时间只能由一个线程访问的代码块
this 表示调用当前实例
或者调用另外一个构造函数
throw 抛出异常
throws 定义方法可能抛出的异常
transient 修饰不要序列化的字段
try 表示代码块要作异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
void 标记方法不返回任何值
volatile 标记字段可能会被多个线程同时访问,而不作同步
while while循环
Java注释
相似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。
public class HelloWorld {
/* 这是第一个Java程序
*它将打印Hello World * 这是一个多行注释的示例 */ public static void main(String []args){ // 这是单行注释的示例 /* 这个也是单行注释的示例 */ System.out.println("Hello World"); }
}
Java 空行
空白行,或者有注释的行,Java编译器都会忽略掉。
继承
在Java中,一个类能够由其余类派生。若是你要建立一个类,并且已经存在一个类具备你所须要的属性或方法,那么你能够将新建立的类继承该类。
利用继承的方法,能够重用已存在类的方法和属性,而不用重写这些代码。
被继承的类称为超类(super class),派生类称为子类(subclass)。
接口
在Java中,接口可理解为对象间相互通讯的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,可是方法的具体实现彻底取决于派生类。
Java 源程序与编译型运行区别
以下图所示: