基本内容
数据类型
输入
键盘输入:Scanner类的nextInt()方法,存放在java.util包中
Scanner input = new Scanner(System.in);
int radius = input.nextInt();
(输入数据与获得的数据不匹配,产生InputMismatchException异常)
nextLine():读取一行文本
常量
final定义
final int SNO=2;
整型字面值
二进制:0b或0B开头
八进制:0开头
十六进制:0x或0X开头
long型:后面加L或l,256L
浮点型字面值
默认double型数据
float必须在数后加F或f
运算结果可能溢出:上溢Infinity,下溢0,无意义NaN(0.0/0.0)
字符类型
Unicode编码,('a',单引号表示)
char是int的子集,char可直接转化为int,int转char要强制转换
类型转换
double d = 200.5;
byte b = (byte)d;
double强制转为byte
随机数
Math.random()产生0.0~1.0的随机double型值,左闭右开
int number = (int)(Math.random()*10);
//随机生成一个一位数
导包:
import static java.lang.Math.*;
赋值运算符
=:引用赋值
将右边对象的地址赋给左边的变量,两个变量地址相同,即指向同一对象
运算
整数:除数为0,抛出ArithmeticException异常
浮点数:除数为0,除法运算返回Infinity,求余运算返回NaN
switch语句
类与对象
定义一个新的类,就是创建了一种新的数据类型
一个编译单元(一个package)最多只能定义一个public类。
类的修饰符
abstract:抽象类
final:最终类(final修饰的方法叫最终方法,不可被覆盖)
extends:继承(无,自动继承Object类)
implements:实现接口(一个类可实现多个接口)
变量修饰符
static:静态变量,无,实例变量
final:最终变量(标识符常量):一旦赋值,不可改变
静态变量
所有对象所共享,每个对象对静态变量的改变都会影响到其他对象
Java类库的System类中定义了三个静态变量
in:标准输入设备(通常是键盘)
out:标准输出设备(通常是显示器)
err:标准错误输出设备
方法
方法签名
方法名,参数个数,参数类型,参数顺序的组合。(重载,覆盖)
默认值
(未初始化对象被赋予默认值)
-
整型:0
-
浮点型:0.0
-
字符型:'\u0000'
-
布尔型:false
-
引用类型:null
构造方法
创建对象并初始化对象的状态
(1)名称必须与类名相同
(2)不能有返回值,也不能返回void
(3)必须在创建对象时用new调用
方法调用
(1)用对象引用调用类的实例方法
(2)类中方法调用本类中的其他方法
(3)类名直接调用static方法
this关键字
只能用到非static方法(实例方法和构造方法)中,不能用到静态方法中
(1)解决局部变量与成员变量同名的问题
(2)解决方法参数与成员变量同名的问题
(3)调用该类的另一个构造方法(this语句必须是第一条语句)
public Employee(){
this("李华",25,3000);
}
方法传参
参数类型
基本数据类型:(值传递)方法返回时原来的值不变
引用类型:(传递引用)方法返回时引用没有改变,但对象的状态可能被改变(属性值)
包
默认包(default package):若定义类时没有指定类属于哪个包,则属于默认包,即当前目录(默认包中的类只能被该包中的类访问)