Java基础笔记
-
编译型
由编译器直接编译成能给计算机可以执行的东西
速度快
操作系统 C/C++
-
解释性
一步步解释最终达成解释的全部的目的
网页 java
程序运行机制
.java文件的源程序经过Java编译器转成.class文件的字节码(预编译机器码与源代码之间的),经由类装载器(加载到JVM),字节码校验器(判断代码对错),解释器(解释给操作系统)到达操作平台
解释性与编译型边界越来越不明显,Java就两者特征都有
IDE Eclipse
什么是IDE
集成开发程序
IDEA介绍
Java语法
1. 注释
单行注释: //单行注释
多行注释: /* */
多行注释: /** */
2.标识符
-
所有标识符都应该以A-Z,a-z,$或下划线_开头
数字不行
-
首字母之后可以是以上的加上数字
-
标识符大小写敏感
3.数据类型
基础类型
-
整数类型 (一个字节byte8个位bit)
byte(1个字节-128~127)
short(2个字节)
int(4个字节)
long(8个字节)
-
浮点类型 float(4个字节) double(8个字节)
-
字符类型 char(2个字节)
-
boolean类型(1个位)
-
整数拓展
进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10
int i2 = 010
int i3 = 0x10
i = 10
i2 = 8
i3 = 16 -
浮点数拓展
float 有限 离散 舍入误差 大约 接近但不等于
double
最好完全避免使用浮点数进行比较
银行业务 BigDecimal 数学工具类 表示钱
-
字符拓展
所有的字符本质还是数字
编码 Unicode 表 :(97 = a 65 = A) 2字节 0~65536 2^16=65536
U0000~UFFFF
-
转义字符
/t 制表符
/n 换行符
引用类型
4. 类型转换
-
强制转换 (类型)变量名 高转到低
-
自动转换 低到高
-
注意:
-
不能对布尔类型转换
-
不能把对象类型转换为不相干的类型
-
转换的时候可能存在内存溢出,或精度问题
-
JDK7新特性,数字间可以用下划线分割 10_0000
-
5. 变量
变量作用域
类变量
实例变量
局部变量
6. 常量
-
用final修饰
注意
变量命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:moneySalary 除了第一个单词外,后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:大小写字母和下划线:MAX_VALUE
-
类名:首字母大写驼峰原则:Man,GoodMan
-
方法名:首字母小写和驼峰原则:run(), runRun()
7.运算符
-
基础运算符
-
自增自减
-
逻辑运算符 与或非
-
位运算
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 A与B 都是1为1
A|B = 0011 1101 A或B 都是0为0
A^B = 0011 0001 A异或B 相同为0
~B = 1111 0010 取反
<< *2
>> /2
//效率极高
2<<3 == 16
0000 0010 2
0001 0000 16
8.字符串连接符
+
int a = 10;
int b = 20;
System.out.println(""+a+b); //输出1020 先变成字符串再相加
System.out.println(a+b+""); //输出30 先相加再转成字符串
9.三元运算符
// x ? y : Z
//如果x == true,则结果为有,否则为z
包机制
-
一般用公司域名倒置作为包名;
www.baidu.com com.baidu.www
com.kuangstudy.blog
-
定义包
package pkg1[. pkg2[.pkg3...]];
-
导入包
import package1[.package2...].(classname|*);
JavaDoc
-
javadoc命令是用来生成自己API文档的
-
参数信息
/**
*@author 作者名
*@version 版本号
*@since 指明需要最早使用的jdk版本
*@param 参数名
*@return 返回值情况
*@throws 异常抛出情况
*/ -