1. Java大小写敏感。类名首字母大写,方法名首字母小写,后面驼峰,源文件名应该和类名相同。
2. 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始,首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合。
3. // 这是单行注释的示例
/* 这个也是单行注释的示例 */
/* 这是多行注释
* 这是多行注释
* 这是多行注释
*/
4. Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
byte 8位有符号(1字节) -128(-2^7)到 127(2^7-1)
short 16位有符号(2字节) -32768(-2^15)到32767(2^15-1)
int 32位有符号 (4字节) -2,147,483,648(-2^31)到 2,147,483,647(2^31-1)
long 64位有符号(8字节) -2^63到2^63-1
位(bit):是计算机 内部数据 储存的最小单位
字节(byte):是计算机中 数据处理 的基本单来位,习惯上用大写 B 来表示
1个英文字母1字节,1个汉字2字节
float 32位(符号位1,指数位8,小数位23,小数点后7位)
double 64位(符号位1,指数位11,小数位52,小数点后16位)
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308
boolean 1位 默认false(0)
char char类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535)
字符‘0‘~’9‘在ASCII表:48~57,也就是char a=48;//a为'0'
'A'到'Z'对应65到90
'a'到'z'对应97到122
5. null和""的区别 NULL代表声明了一个空对象,根本就不是一个字符串。 ""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。 NULL代表声明了一个空对象,对空对象做任何操作都不行的,除了=和== ""是一个字符串了,只是这个字符串里面没有内容了 String s=null;只是定义了一个句柄,也就是说你有了个引用,但是这个引用未指向任何内存空间 String s="";这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以你可以对它操作,而不用担心什么了
6. 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
7. default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
8. switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
9. Scanner类中
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
10. 一个源文件中只能有一个public类;一个源文件可以有多个非public类
11. 继承
- 子类拥有父类非 private 的属性、方法。
- 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
- 子类可以用自己的方式实现父类的方法。
- Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类
- extends 关键字:在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
- 使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
- super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。this关键字:指向自己的引用。
12. 重写与重载
重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
最常用的地方就是构造器的重载。
13. 多态的实现方式:重写;接口;抽象类和抽象方法
14. 接口与类的区别:
- 接口不能用于实例化对象。
- 接口没有构造方法。
- 接口中所有的方法必须是抽象方法。
- 接口不能包含成员变量,除了 static 和 final 变量。
- 接口不是被类继承了,而是要被类实现。
- 接口支持多继承。
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
15. 输入与输出
输出 System.out.print("hello");//直接输出
System.out.println("hello");//在结束的地方加一个换行
输入 一定要加上两个包 import java.utils.*;
import java.io.*;
输入单个字符:
char c=(char)System.in.read();
输入一个词,遇到分号结束:
Scanner sc = new Scanner(http://System.in);
String str = sc.next();
输入一行:
Scanner sc = new Scanner(http://System.in);
String str = sc.nextLine();
输入一个整数:
Scanner sc = new Scanner(http://System.in);
int a = sc.nextInt();
输入一个双精度浮点数:
Scanner sc = new Scanner(http://System.in);
double b = sc.nextDouble();
关闭输入流:
sc.close();