B站搜索狂神,有免费高质量课程
解释型和编译型
- java:都有,先编译后解释(编译器,类装载器,字节校验码,解释器)
- 编译型:直接翻译,再全文一起看,好处可以回头看,C++
- 解释型:一段一段翻译,同步看,好处可以随时看,HTML写完浏览器可以直接解析
使用IDEA
- 集成环境:代码编写,分析,编译,调试
- IDEA——java;webstorm——前端;pycharm——python
- src建类,psvm自动提示,sout自动提示输出代码,百度IDEA优化
- 建空项目,建模块,完善项目结构
基础语法
注释 标识符 关键字
- 单行注释 //
- 多行注释 /* 多行文字 */
- 文档注释
– 书写注释是个好习惯,不会被执行,是给人看的
–有趣的代码注释,可以百度来玩
– 修改注释的颜色
标识符
关键字
java所有组成部分都需要名字,类名,变量名以及方法名都叫做标识符
标识符
字母或下划线开头,特殊符号和数字不可以
关键字不能作为变量名等
大小写敏感
数据类型
强类型语言,要求变量先定义后使用,不转换永远是这个类型
数据类型分类
- 声明类型 名字=值;
- 基本类型
–long类型要在数字后面加个L
–float小数要在后面加个F
–char要加单引号
–string是个类,不是关键字
–Integer也是个类,基本类型的包装类 - 引用类型
–类,接口,数组
-位,字节,字符
–位:计算机 内部数据 储存的最小单位
–字节:计算机 数据处理 基本单位
–一个字节=8个位
–32位:4G内存 ;64位:128G - 基本数据拓展
–避免使用浮点数进行比较
–浮点数 有限 离散 舍入误差 大约 接近但不等于
–银行业务用BigDecimal类
–强制转换(int)字符
–所有字符的本质是数字,使用的是Unicode编码
–char c=’\u0061’ 可以输出a,代表把数字转义为字符 - 转义字符
\t 制表符tab,\n 转行等等
if(flag==true){}
if(flag){}
是一样的
类型转换
- 转换的时候要避免内存溢出 高->低 ( 类型)变量名
- 自动类型转换 低->高
- 不能对布尔值进行转换
- 不能把对象转换为不相干的类型
- 高容量->低容量 转换的时候存在溢出和精度问题
- 字符->int自动(对字符进行计算) int->字符(强制)
- jdk7新特性,数字可以用下划线分割
变量
变量指的是一个内存空间,里面存的数据可以变
变量要素有变量名,变量类型,作用域
尽量一个类型跟一个变量,不要一个类型跟多个变量
变量作用域
- 自动补齐变量和类型 Ctrl+Alt+V
- 类变量:从属于类
- 实例变量:从属于对象
- 局部变量:从属于方法
常量
一个特殊变量,值不允许改变,用final定义
- 修饰符不要求先后顺序
命名规范:见名知意
类变量,局部变量:首字母小写+驼峰原则
常量:大写字母+下划线
类名:首字母大写+驼峰原则
方法名:首字母小写+驼峰原则
运算符
会前四个就好,第五个不常用,第六第七是偷懒用的
Ctrl+D 复制当前行到下一行
运算结果有long就是long,否则为int
逻辑运算符返回布尔值
++a 执行命令前a加一
a++ 执行命令之后a加一
幂运算处理用math类
位运算符 &与 |或 ^是否相同 ~取反 <<左移*2 >>右移除2
出现string ,结果变成string相连,例如a=10 b=20 “”+a+b=1020;a+b+""=30
三元运算符
x?y:z x如果是真,则执行y,不然执行z