Tips:
- 大小写敏感
- 类名书写规范:MyFirstJavaClass(单词首字母大写)
- 方法名:myFangFa(首字母小写,后大写)
- 源文件名:源文件名必须和类名相同。
- 主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行。
注释
/*单行或多行注释 */
// 单行注释
Java是解释型语言
不同于以C/C++等代表的编译型语言。
就好比一个母语是汉语的中国人,读一段英文。
如果是先把英文提前翻译成汉语稿,并读稿,类似于编译型语言;
如果是这个人边看英文原稿,边自己理解翻译原文,以汉语读稿,类似于解释性语言。
因此,解释性语言相比较下,跨平台性好,但速度慢。
面向对象语言
基本概念(部分)
-
类(class)
类包含的变量类型:
-
局部变量:类的方法中的变量
在方法或语句被执行的时候创建,执行完变量会被销毁;
只在方法或语句块中可见;
没有默认值,必须在声明后进行初始化,才可以使用。 - 成员变量
-
类变量(静态变量):独立于方法之外的变量,用 static 修饰。
静态变量在第一次被访问时创建,在程序结束时销毁;
- 对象(object):类的实例。
- 方法
-
实例变量:独立于方法之外的变量,没有 static 修饰。
当一个对象被实例化后,每个实例变量的值就跟着确定了;
与对象共创建,共摧毁;
具有默认值。
public class Variable{
static int allClicks=0; // 类变量
String str="hello"; // 实例变量
public void method(){
int i =0; // 局部变量,必须进行初始化
}
}
类与对象
类(class):描述一类事物的模板
一个类可以有多个构造方法,且构造方法与类同名。
对象:类的实例
创建对象:
1.声明(对象名+对象类型)
2.实例化
3.初始化
Java包
主要用来对类和接口进行分类
利用import来导入java包:
import java.io.*; //载入java_installation/java/io路径下的所有类
数据类型
基本数据类型:
- byte
8位、有符号,以二进制补码表示的整数 - short
16位、有符号,以二进制补码表示的整数 - int
32位、有符号,以二进制补码表示的整数 - long
64位、有符号,以二进制补码表示的整数 - float
单精度、32位浮点数 - double
双精度、64位浮点数 - boolean
只有true和false,默认false - char
16 位 Unicode 字符
引用变量
引用类型的变量类似于指针,引用类型指向一个对象,指向对象的变量是引用对象。
类型转换
不同类型的数据可以进行混合计算,在计算前先进行数据转换
转换优先级:
byte,short,char --> int --> long --> float --> double
java修饰符
主要分为两类:访问修饰符和非访问修饰符
- 访问修饰符
- default 默认
- private 在同一类可见,不能修饰类
- public 对所有类可见
- protected 对同一包内的类和子类可见
- 非访问修饰符
-
static
静态变量(类变量):
无论一个类有多少实例化对象,它的静态变量只有一份。
局部变量不能被修饰为static变量。
静态方法:
静态方法不能使用类的非静态变量 -
final
final 变量:
变量一旦赋值后,不能被重新赋值
final方法:
final 方法的主要目的是防止该方法的内容被修改
final 类:
final 类不能被继承 -
abstract
抽象类
不能用来实例化对象
抽象方法
是一种没有任何实现的方法,该方法的的具体实现由子类提供
抽象方法的声明以分号结尾,例如:public abstract sample();
-
synchronized
声明的方法同一时间只能被一个线程访问 - transient
- volatile
java运算符
算术运算符
+ - * / % ++ --关系运算符
== != > >= < <=位运算符
& | ^(对应位相同为0,不同为) ~ << >> >>>逻辑运算符
赋值运算符
其他运算符