JAVA笔记【一】
现实 (抽象) 类 (创建) 对象
特点:
1.面向对象
2.跨平台
3.安全性
4.多线程
java程序基本结构
1. java源代码文件实际是普通的文本文件,源代码文件必须是.java扩展名,且必须小写
2. java最基本单元是字,分为关键字和标识符
关键字 int代表整型,public代表公有的,class代表类,new表示在运行时动态分配内存空间
3. 语句
换行语句:System.out.println();
不换行:System.out.print();
4. 块
基本上所有语句都要放在块中,除了package和import语句,块由{}分隔。
块分为 类块,函数块,控制块
5. 特殊
6. 注释
命名规则
若在源程序中包含公共类,则源文件名必须与公共类名完全一致
类名:首字母大写
运行机制
跨平台性的实现需要对虚拟计算机进一步拓展,虚拟机屏蔽了虚拟计算机(win,Linux)的差异,在JVM层次,所有计算机都是相同的
A.java ---> A.class ---->运行结果
源程序-----字节码文件----结果
第一步:通过JVM编译器 (windows)
第二步:通过JVM解释器 (Linux)
开发步骤
1.编写源代码
2.在命令行下写javac编译源代码
3.执行源代码java
配置环境
目的:想要在任意目录下都可以打开指定软件
基本数据类型(c语言不见的)
整型
字节型 byte 1字节
短整型 short 2字节
默认是int型,想long型在数字后面加个l 或 L
字符型
编码是Unicode
基本数据类型的转换
隐式转换 范围小的转换成范围大的
显式转换 取值范围大的转小
byte short char在做运算时比较特殊,会先转换成int型
注意显式转换时只能同类型的
在类块中,方法外部的变量叫成员变量
使用static 叫静态变量
方法内,块内的叫局部变量
引用数据类型
类 class
接口 interface
数组
基本语法
导包import
Scanner在java.util包中
reader.nextInt();返回的是字符串
如果要读入char型的,用next().charAt(0);
运算符
变量名 instanceof 类名
switch括号里表达式类型必须是char int byte short string类型
数组声明
数据类型[] 数组名;
面向对象的基本特性
抽象
封装 方法有权限,达到封装的目的
权限修饰符
public
private
protected
default
setter getter设置,获取方法 setXXX带参无返回值 getXXX无参有返回值
非访问修饰符
static类方法类变量 对象名类名都可以访问
final不能够被继承
abstract抽象类抽象方法
synchronized
继承
多态 两种意义:重载与重写
重载是操作名称的多态,同一个方法有多个功能的行为 同一个类中的同名方法,参数个数或类型要不同
重写是和继承有关的多态,发送相同的信息根据不同的类有不同调用的行为
数组的定义与创建
string[]course = new String[4];/变量个数
初始化
String[] arr = {"高数"、""}
栈内存 course arr
堆内存 course[0]
建立联系:堆内存的首地址放在栈内存里
数组使用
特例化循环:for(String t:arr)
Arrays工具
枚举类型
修饰符 enum 枚举名{
枚举值…
}
用枚举名声明变量,X=season.spring
包
定义包 package
引入 import
类
integer(int)
自动拆箱与装箱
static 只能操作 static修饰的变量
对安全有需求的要私有化
setter getter
数据一定要提供初始化入口
提供构造器初始化