一,注释
1,分类
单行,多行,文档注释
2,文档注释
a,生成API
b,用法:javadoc
注:Application Programming Interfaces 应用程序编程接口(其实就是说明书)
3,注释是不会出现字节码文件里的
二,包
1,简述
a,包是用来管理类的,类似文件夹管理文件
b,其作用为防止命名冲突
2,用法
a,使用package 来创建包名(在代码第一行)
package com.bj;
b,编译带包的类 javac -d . AL.java
c,运行带包的类 java 全限定名(包名加类名)
java com.bj.AL
d,导包
import com.bj.*
import com.bj.Test
3,注意事项
a,包名最好全部采用小写,一般为公司所在域名
b,包名不可以数字为开头
c,包名不要出项java
d,包名必须与字节码文件目录吻合
三,Java中常用的包
1,java.lang Java语言基础包,这个包会自动导入
2,java.io JavaIO流所在的包
3,java.util 常用的工具类
四,变量
1,三要素
数据类型,变量名,变量值
2,分类
局部变量:在方法内部定义的变量
成员变量:在类的内部,在方法外部定义的变量
五,数据类型
1,基本数据类型
a,数值型
整形:
byte -128~127
short,int,long
浮点型:
float,double
b,字符型
char
c,布尔型
boolean
2,引用数据类型
a,类 ( class)
b,接口 (interfaces)
c,数组
六,基本数据类型转换
1,boolean不和其他数据类型转换
2,整形,字符型,浮点型可以相互转换
3,强制类型转换,自动类型转换
4,自动类型提升
a, byte,short,int,char之间进行运算时会自动变为int
b,int与long进行运算会提升为long
七,部分运算符
1,位运算符 &,| , ^, ~
^:异或 如果一个数对另一个数异或俩次,则结果仍为其本身
2,逻辑运算符
逻辑运算 对布尔类型的数据进行运算,返回值类型也是布尔类型
& 逻辑与 两边都是true 结果是true,否则是false
| 逻辑或 一边是true,结果就是true,否则是false
!取反
^ 逻辑异或 两边只要不一致就是true
&& 短路与
|| 短路或
3,左右移运算符
<< 左移 左边最高位丢弃,右边补齐0 (0010)
>> 右移 如果最高位是0,则左边补齐0,如果最高位是1,左边补齐1 (1100)
>>> 无符号右移 无论最高位是0还是1,左边都补齐0 (0100)
右移:向右移动n位,就是除以2的n次方
左移:向左移动n位,就是乘以2的n次方
*/
System.out.println(12 >> 1);//12除以2的1次方
System.out.println(12 >> 2);//12除以2的2次方
System.out.println(12 << 1);//12乘以2的1次方
System.out.println(12 << 2);//12乘以2的2次方
//快速的计算2的3次方
System.out.println(1 << 3);//1乘以2的3次方
4,条件运算符(三元运算符,三目运算符)
语法 条件表达式?111:222
int m = 100;
int n = 50;
int o = (m>n) ? m-n : n-m;
System.out.println(o);
注:
1,long i1 = 999L(l)
float i2 = 33.3F(f)
定义double 时后面可加可不加D(d)而上述类型则要加后缀
2,char 在Java中采用unicode编码,每个字符占俩个字节
A---65
a---97
字符型加1即变整型
3,Java中整数默认为int,浮点默认为double
4,如果要求计算精度高,则不要使用基本数据类型
5,&和&&的区别?
&&具有短路的效果,如果左边结果是false,右边不会执行
&无论左边是true还是false,右边都会执行