java语言的学习(开源、免费、跨平台)
第一天
一、特性:
- 简单(无指针)、面向对象、可移植性(java虚拟机 jvm jdk )、健壮性(自动的垃圾回收机制)、多线程、安全性
二、执行
- 编译 .java–》.class(可多个)javac
- 运行 类加载器-虚拟机jvm-操作系统-硬件 java
三、语言学习
1、注释:
// 单行注释
/*
多行注释
*/
/**
* javadoc注释
*/
2、public class 和class 的区别
- public class 公共类
3、标识符
- 命名规则 :关键字不能当标识符,不能以数字开头、区分大小写;
只能由数字、字母、下划线、美元$组成,其他符号不行; - 命名规范:见名知意、驼峰;
- 类名、接口名单词首字母大写;
变量名 、方法名单词首字母小写;
常量名 全部大写 ;
4、关键字
5、字面值
- 整数、浮点数、字符串(双引号)、字符型(单引号)、布尔值
6、变量
- 数据类型 数据名
- 变量作用域 出了大括号就不认识了
- 变量分为两类:成员变量 局部变量
- 在不同的作用域中变量名可以重名
7、数据类型
- 数据基本类型:四大类八小种
- 整数型:short int byte long
- 浮点型:float、double
- 布尔型:false、true
- 字符型:char
8、java语言源代码采用Unicode
- utf-8现在比较普遍
9、强制类型转换
- 大容量转换成小容量 需要添加强制转换符,但可能会损失精度,
10、浮点型 单精度(4个字节) 双精度(8字节)
- 精度更高 不是基本数据类型:Java.math.BigDecimal
11、关于数据类型之间的转换规则
- 八种都除了boolean之外其他7种都可以互相转换 小容量向大容量转换,可自动转换。 byte<short、char<int<long<float<double
- 大容量向小容量转换,强制类型转换,需要加强制类型转换符。可能会损失精度 慎用 特殊情况
- byte、char、short类型只要不超出byte类型的范围,大容量可以直接转换成byte,不用加强制转换符
- byte、char、short类型混合运算,各自先转换成int类型再做运算 多种数据类型混合运算,先转换成大容量的类型再做运算
12、运算符
- ( + - * / % ++ --) 注意点 int b=++a int c=d++
++出现在变量后 先做赋值 再变量自加1
++出现在变量前 先变量自加1 再赋值 - 关系运算符 (> >= < <= == !=) 结果一定是布尔值 true/false
- 赋值运算符( = ) 做比较的时候是比较保存类型中的值
- 逻辑运算符 (& | !^ && ||) 运算结果是布尔值
- java中的 + 当等式左边都是数字时 做数字的相加,只要出现字符串,则为字符串的拼接
- 三元运算符 (布尔表达式 ?表达式1 :表达式2)
13、控制语句
- 选择结构 if、 if else 、switch
- 注意点:switch后面和case后面只能是int
或者string类型,其他的不行(byte、short、char会自动转换成int类型) - 循环结构 for 、while、 do while
- 控制循环结构 break 、 continue
14、好好学习,第二天继续加油学习
第二天
15、控制语句
- 终止语句:break 终止最近的for循环,但有特殊的情况:break:【循环名称】外层循环名
- 继续语句:continue 终止当前本次循环
16、方法
- 基础语法:定义在类中,方法体中不能再定义方法
- 定义:【修饰符】 返回值类型 方法名字(形参){
方法体;
} - 调用: 类名.方法名(实参);
- 返回值类型:若无返回值需要写 void
- 方法名:见名知意 小驼峰
- 形参:局部变量 有数据类型 多个形参之间用逗号离开
- 方法体:有顺序
- 方法调用:
- 调用的地方:只要程序能执行到 都能调用,可无数次调用
- 要求:调用时实参和形参的类型个数、数据类型要一致;类型不同能自动类型转换
- 重载机制
- 同个方法名,但是参数个数、类型、顺序不同,(前提:功能要相似)
- 与修饰符、返回值无关,只与参数类型数量、类型、顺序相关。
- 方法递归
- 方法自己调用自身,递归占内存,少用,能不用则不用
- 规则:必须要有结束条件
第三天
17、面向对象
- 面向对象三大特征:封装、继承、多态
- 采用面向对象方式开发一个软件,生命周期有:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程:OOP
- 类和对象
- 类:
对象:对象是实际存在的个体,现实世界中实际存在
- 类—【实例化】—》对象(即对象又被称为实例化)
对象----【抽象】—》类
注意点:类描述的是对象的共同特征 类主要描述的信息:状态 +动作
18、类
- 定义:【修饰符列表】 class 类名{ 属性:通常采用变量的方式来定义,若没有赋值,系统会默认赋值,方法:描述对象的动作信息}
- java语言中所有的class都属于引用数据类型
19、对象的创建和使用
- 一个类可以创建无数个对象
- 创建对象语法:new 类名();其中new是java语言中一个运算符,new运算符的作用是创建对象,开辟一个堆内存。
- 内存空间(三种) 方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间当中
栈内存:方法片段执行的时候,会给该方法分配内存空间,压栈 堆内存: new的对象在堆内存中存储
第四天
第五天
封装
- 如何封装
static 关键字
继承
多态
final