001
源代码
编辑器
输出
字节码文件
jvm
eclipse中新建class文件,以及遇到基本错误的修改
public class A{
public static void main(String[] args){
System.out.printf("welcome to beijing lily")
}
}
public ststic修饰符
void返回类型为空
main方法名
()参数
String字符型
[]数组
args参数值 //可修改
002 用记事本编写了java源程序并运行
jdk下载及环境变量配置
java -version检查环境变量配置是否OK
javac A.java编译源文件
java A 输出字节码文件
003 JAVA的程序结构
编写源文件=编写类文件
类必须用“关键字”class来定义,并指定类名
main是固定写法
类:老师是Cindy
类是某一类型对象集合
对象一定是一个类
类可以实例化对象
004 java的数据类型
java基本数据类型
共8种(2中(数字和字符))
整数:byte-128---+127
short -32768_+32767
int -2147483648_2147483647
long
小数:float/double
字符型:char:‘a‘
boolean 值真和假
扩展数据类型
005 常量
常量:计算机处理过程中,不变化的数据。
float类型常量:1.5f
double类型常量:1.5
char:‘1‘,不加单引号就是数字1
boolean:true、false
字符串常量:"helloworld"
006 变量
原则:
1、变量必须有类型;
2、变量必须有名字;
001
源代码
编辑器
输出
字节码文件
jvm
eclipse中新建class文件,以及遇到基本错误的修改
public class A{
public static void main(String[] args){
System.out.printf("welcome to beijing lily")
}
}
public ststic修饰符
void返回类型为空
main方法名
()参数
String字符型
[]数组
args参数值 //可修改
002 用记事本编写了java源程序并运行
jdk下载及环境变量配置
java -version检查环境变量配置是否OK
javac A.java编译源文件
java A 输出字节码文件
003 JAVA的程序结构
编写源文件=编写类文件
类必须用“关键字”class来定义,并指定类名
main是固定写法
类:老师是Cindy
类是某一类型对象集合
对象一定是一个类
类可以实例化对象
004 java的数据类型
java基本数据类型
共8种(2中(数字和字符))
整数:byte-128---+127
short -32768_+32767
int -2147483648_2147483647
long
小数:float/double
字符型:char:‘a‘
boolean 值真和假
扩展数据类型
005 常量
常量:计算机处理过程中,不变化的数据。
float类型常量:1.5f
double类型常量:1.5
char:‘1‘,不加单引号就是数字1
boolean:true、false
字符串常量:"helloworld"
006 变量
原则:
1、变量必须有类型;
2、变量必须有名字;
3、变量有大小;
007 条件结构
if、else if、else
满足特定条件,执行相应的语句
008运算符和表达式
算术运算符:+-*/%(求模即取余数)、++、--
y++//y=y+1;
y--//y=y-1;
赋值运算符:=、+=、-=、*=、/=、%=
关系运算符:> < >= <=
运算结果是:true、false
逻辑运算符:& | ! ^&& ||
&按位与:两边为真则真
|按位或:一边为真则为真
&&逻辑与:两边为真则为真
&和&&区别???
&左右两遍都会计算,无论真假
&&左侧计算为假不会计算,直接短路
!逻辑非:非真即假
<< >>位运算
?:三目运算符
boolean z=y>3?true:false//
int z=y>3?2:5
赋值运算符优先级最低
009 for循环
循环语句:反复做一件事情
表达式为真一直执行,为假退出for循环
010 while循环语句
死循环:
while(x<=3){
System.out.println(x);
}
正常如下
while(x<=3){
System.out.println(x);
x++;
}
do{
}while();//先执行循环体,在执行判定条件
while语句与do while语句的区别?
while语句条件不成立,不执行循环体,直接退出循环;
do while语句,先执行循环体
**break语句:终止循环
**continue语句,遇到continue语句会直接跳转至条件判断
011数值
1.数组就是一组数据,类型相同的数据。存储一组数据的对象
2.数组的声明
3.数组的初始化
声明:
数组声明类似空书架,还未放书;
int[] x;
float[] x;
char[] x;
String[] x;//字符串类型
*********
初始化数组的方法:
1、
int[] x;
x= new int[5];//长度为5的数组
x[0]=1;
...
x[4]=5;//把值放上去
2、
int[] x=new int[5]
x[0]=1;
...
x[4]=5;
3、int[] x=new int[]{1,2,3,4,5};
012 设计真正应用程序
013对相应的行为状态
对象是已知的事物
对象会执行动作
类是对象的蓝图
现有类,再有对象
014
构造方法目的:用来初始化一些实例或属性值、成员变量,没有返回类型
构造方法名要与类名一致
015构造方法的重载
构造方法:修饰符+方法名
重载:
一个类中有多个构造方法,
构造方法名可同名,但不能一模一样
构造参数类型可一样,顺序不可相同
016 方法的重载
普通方法:
修饰符 类型 方法名{
输出;
返回;
}
**参数不能一样
017 告诉对象中怎么做-方法中传参
1、传参的数据类型必须一致;
2、传参,传递的是参数的值;
3、main方法传参解析;
main(String[] args)
对args数组传参
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
运行注意:解释后,运行时传入参数。如
java app2 "11" "33"
018 方法的返回值
方法的组成:
修饰符public
返回值void或其他
方法名
参数列表
{}方法体
有返回值的方法类型,一定要有return
方法返回调用后,主程序可以捕捉到return值
019 创建对象数组
声明一个数组的长度;类[]
给每一个元素赋值;
020 对象与对象之间的关系
例如:电脑、鼠标都是对象,
关系:
依赖
关联
聚合
car类包括引擎类的对象(has a)
包含中的类也可以独立存在
组合
不能独立存在;比如head类包含mouth类
继承
021 一个对象怎么调用另一个对象?
**先有类,再有对象
**调用一个对象,先实例化一个对象
一个主程序,两个关联类文件
打包一个运行:
新建一个清单文件:manifest.mf(输入main-class:主程序类名)
jar cvfn test1.jar manifest.mf Teacher.class Student.class test1.class
java -jar test1.jar
022 对象的继承
继承:子类继承父类(基类)
extends 继承父类成员变量、方法,私有不可继承
子类从父类复制一个相同的方法
023方法的覆盖
1、覆盖必须发生在继承内
2、子类重写父类的同名方法Override
覆盖的原则:
1、子类方法的参数必须跟父类保持一致;
2、子类方法的修饰符的范围必须>=父类同名方法的修饰符
024 到底调用哪个方法??多态
父类 对象=new 子类();多态。。调用的是子类的方法
子类对象绝不可以new父类
父类声明的方法只能是子类覆盖的属性和方法;
一个父类可以有多个子类
025 关键字:this和super
this.是指当前对象
子类对象构想时会先调用父类构造方法
super:调用父类的构造方法,要写函数最前面
多态
026 -不改初始化的class
(抽象类)
1、声明必须加Abstract关键字
2、抽象方法:没有方法体的方法,
public void eat(){}
3、类中有一个抽象方法,这个类就是抽象类
4、目的:被子类重写覆盖
027 接口
抽象类中继承是extends
接口中继承是implements
接口中的方法全部是抽象方法
接口中成员变量:pulic static final
必须是被初始化
接口是抽象的最高定义
当子类实现接口的时候,必须覆盖接口中所有的方法
java函数库
028 如何组织类---包
package:java中叫打包
位置:声明处
javac A.java -d .//指定目录,点为当目录
java com.lily.pkg1.A
打包的目的:组织类文件
***关键字:package、import
类文件中,使用其他目录下的方法,需要import相关路径(包的路径)
029 如何使用java API
API:application programming interface应用程序接口
注意查看:JDK API文档(重要)
030字符串函数
字符串是基于char类型
1、自定义类首字母要大写;
2、java的每一个类都是抽象数据类型
**substring(5)开始下标记,到第5个位置结束
substring(5,8),开始位置,结束位置
trim压缩左右两侧的空格
3、String类是最终类,不能被继承
**StringBuffer
**StringBuilder
031 日期函数
日期类Date-》java.util包中
Date类:
1、Date()构造方法;
2、Calendar
032 Math函数
数学函数
封装了很多数学运算;
E、PI(相当于常量,只能被赋一次值)
abs绝对值
ceil:Math.Ceil(3.5)
floor:Math.Floor(3.5)
random随机数
round四舍五入
集合函数
033 list
集合:集合起来的一种数据
与数组不同之处:
1、数据类型可不同
2、长度可超过10个
实现子类:
ArrayList
ArrayList()构造一个长度为10的数组
LinkedList
上述都为实现List接口;
底层实现不一样:一个数组一个链接
Vector向量
034 集合函数 set
Set接口:不包含重复函数的
子类:TreeSet。底层通过二叉树实现
HashSet。底层通过哈希表实现
TreeSet
没有Get方法,需要转换成迭代器Iterate迭代器;
不同之处:TreeSet是有序的
set集合自动排序
035 集合函数Map
key和value的映射集合
API-java.util.Map
将键映射到值的属性
子类
TreeMap
有序的
HashMap
遍历用get方法:通过键输出对应值,通过键值对输出值
Hashtab
控制风险
036 有风险的代码-异常
**算术运算中,被除数不能为0;
System。out.println(5/0);
**数组下标越界
int[] x=new int[]{1,2,3};
for(int i=0;i<=3;i++){}
**空指针异常
int x;
System.out,println(test1.x.length());
**捕捉和处理异常
try{ //监听可能发生异常code
}catch(){
}
例如:
try{}catch(NullPointerException e){
catch 块
}
一个try可以跟多个catch块,try监听异常code,catch捕捉异常code
Exception类-java.lang包中
所有异常类的父类
继承了Throwable
**空指针:调用空对象
子类:RunTimeException运行异常
Exception
RuntimeException
NullPointerException
IndexOutException
**try块中代码不出现异常时,不会走catch块,直接结束
037 finally块
code位置:跟在catch块之后;
原则:必须要执行的语句。无论try/catch是否异常
**关闭一个连接对象
问题:eclipse创建项目后,没有src文件?
window-preferences-java-build path,里面选Folders就行了