1).Java运行环境 JDK JRE JVM 配置环境变量
2).数据类型 常量 标识符 关键字
1、布尔型(boolean)
2、字节型(byte)
3、短整型(short)
4、整型(int)
5、长整型(long)
6、单精度浮点型(float)
7、双精度浮点型(double)
8、字符型(char)
3).条件语句 if和switch
4).循环语句 for while do-while
5).跳出语句 break coutinue return
6).方法 定义和调用 方法的三要素:方法名 参数列表 返回值
public static void method(参数列表){
}
7).方法的重载 方法名一样 参数列表不一样
8).方法递归
1.求前n项和
2.求阶乘
3.求斐波那契数列
案例:瓶盖换汽水的问题 1.找规律2.找出口
A元钱 B元换一瓶水 C个瓶盖换一瓶 D个瓶盖
出口 1.D<C
规律 2.第一次 D=A/B
第二次 D/C+D%C 5/3+5%3
public static int buyWater(int a,int b,int c){
return a/b+forCup(a/b, c);
}
public static int forCup(int d,int c){
if (d<c) {
return 0;
}
else {
return d/c+forCup(d%c+d/c, c);
}
}
9).数组
声明 int [] arr
初始化 new int [3];
赋值 arr[0]=100;
声明+初始化+赋值 int [] arr = new int []{1,2,3};
10).求数组中最大值
3.课堂笔记
栈和堆
//局部变量:
//1.Java中的类型:基本数据类型(int) 引用类型(数组类型)
// 基本数据类型 数据直接存储在栈中,引用类型数据存储在堆中,栈中存储堆中内存的地址
//2.Java中内存空间:栈 和 堆
//栈比较小,存取速度快(栈溢出),堆比较大,存取速度慢
//3.程序运行在哪里?数据存储在哪里?
//程序运行在栈中,数据存储在堆中
//4.栈和堆存储特点
//栈:先进后出 释放:方法运行结束就释放
//堆:没有顺序 有空地就可以申请 堆:当栈中的引用释放的时候 堆中内存数据就变成了垃圾 等待垃圾回收
//5.释放
//栈:方法运行结束就释放
//堆:当栈中的引用释放的时候 堆中内存数据就变成了垃圾 等待垃圾回收
OOP Object Oriented Programming 面向对象编程
面向过程:C语言是面向对象过程的语言 算法+数据结构
面向对象:对象+交互
面向对象编程:
类:一类具体事务的抽象
对象:具体的某个对象
先用的类,还是先有的对象?
类型 对象
class new(创建一个对象)
定义类型(属性+行为)使用属性 调用方法
脚本 实例化
抽象概念 具体的实例
定义类
/**
* 定义一个类 用来模拟学生事物,其中类有两部分构成
* 属性:
* 成绩(int/double score)
* 年龄 (int age)
* 性别(String gender)
* 姓名(String name)* 行为:方法 三要素
* 吃饭 void eat(String food){}
* 睡觉void sleep(){}
* 学习boolean study(string subject){}
* 打游戏void palyGame(String gameName){}
* @author XuYang
*注意事项:1.成员变量是直接定义在类中方法外的变量
* 2.成员方法不需要static
*/
public class Student{
//属性
//成员变量
int score;//成绩
String gender;//性别
String name;//名字
//行为
//成员方法 没有static
/**
* 吃
* @param food 食物的名字
*/
public void eat(String food){
System.out.println(“吃”+food);
}
/**
* 睡觉
*/
public void sleep(){
System.out.println(“睡觉”);
}
/**
* 学习
* @param subject 学习的科目
* @return 是否学会
*/
public boolean study(String subject){
System.out.println(“学”+subject);
return true;
}
public void playGame(String gameName){
System.out.println(“玩”+gameName);
}
}
使用类:
/**
* 创建一个Car类
* 使用Student类型
* 使用类的步骤
* 1.导包 如果两个类在一个包 可以省略不写
* import 包名称.类名称
* 2.创建对象
* Student stu=new Student();创建对象* 3.使用对象(成员变量和成员方法)
* stu.name
* stu.eat();
* @author XuYang
*/
public class StudentTest {
public static void main(String[] args) {
//1.导包 在一个包下的两个类 使用可以不用导包
//2.创建对象
Student stu=new Student();
//类名 对象名=new 类名();
System.out.println(stu.name);//string null int 0 double 0.0
boolean false
stu.name=“张三”;//赋值 写
String str=stu.name;//读
//对象名.变量名="";
stu.gender=“男”;
System.out.println(stu.score);
stu.score=100;
System.out.println(stu.name+“同学考试成绩是”+stu.score);
stu.eat(“米饭和宫保鸡丁”);
//对象名.eat()
stu.sleep();
stu.study(“Java编程”);
stu.playGame(“王者荣耀”);
}
}
OOD和OOA(面向对象设计和面向对象分析)