java基础
01 注释
单行注释
//这里是注释
多行注释
/*
这里是多行注释
这里是多行注释
这里是多行注释
*/
文档注释
/**
*
*
*/
02 标识符和关键字
关键字
标识符规则
所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线()开始
首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线()或数字的任何字符组合
不能使用关键字作为变量名或方法名。
标识符是大小写敏感的
也不建议使用拼音,很Low
可以使用中文命名,但是一般不建议这样去使用
什么是字节
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示 1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位,
1Byte表示一个字节1B=8b。
1024B=1KB
1024KB=1M
1024M=1G
03 数据类型
Java的数据类型分为两大类
基本类型(primitive type)
数值类型
-
整数类型
1.1 byte占1个字节范围:-128~127
1.2 short占2个字节范围:-32768~32767
1.3 int占4个字节范围:-2147483648~2147483647
1.4 long占8个字节范围:-9223372036854775808~9223372036854775807
long类型的变量赋值时要在数字后面加L,如:long num1=12L
-
浮点类型
2.1 float占4个字节
float类型的变量赋值时要在数字后面加F,如:float num2=12.5F
2.2 double占8个字节
-
字符类型char占2个字节
Boolean类型
占1位其值只有true和false
引用类型(reference type)
- 类
- 接口
- 数组
整数拓展
二进制前缀:0b
八进制前缀:0
十六进制前缀:0x
浮点数拓展
float和doubler类型是:有限、离散、舍入误差、大约、接近但不等于的
因此最好完全不使用浮点数进行比较
涉及货币、金额的要使用BigDecimal(数学工具类)
字符拓展
字符类型为何归于数值类型,将字符强制转换为int后会输出数字,所有字符本质还是数字
Unicode编码表
04 数据类型转换
由于java是强类型语言,所以在进行运算时要进行类型转换
数值类型由低到高的顺序:byte,short,char,int,long,float,double
运算中不同类型的数据先转化为同一类型,然后进行运算
数据类型转换分为两种:
-
强制类型转换
由高到低为强制转换,方法:(类型)变量
-
自动类型转换
由低到高为自动类型转换
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 再把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出或者精度问题
05 变量、常量、作用域
变量
变量是什么:就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
类变量
写在类里,并前面加static关键字
类变量,从属于类,可以直接使用
实例变量
与类变量差不多,写在类中间,但没有static关键字
实例变量,从属于对象,不能直接使用,要new一个对象实例出来
如果不自行初始化,基本数据类型的默认值是0或者0.0
布尔值:默认是faLse
除了基本类型,其余的都是nuLL
局部变量
写在方法里,且只能在方法内使用
常量
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
常量的声明:final 常量名 = 值,如:final double PI=3.14;
常量名一般使用大写字符。
修饰符不存在先后顺序
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
06 运算符
Java语言支持如下运算符:
算术运算符:+,-,*,/,%,
赋值运算符:=
关系运算符:>,<,>=,<=,==,!= instanceof
逻辑运算符:&&,||,!
逻辑与运算(&&):两个变量都为真,结果才为true
逻辑或运算(||):两个变量有一个为真,则结果才为true
取反运算(!):如果是真,则变为假,如果是假则变为真
位运算符:&,」,^,~,>>,<<,>>>(了解!!!)
条件运算符:?:
也叫做三元运算符,x ? y : z (如果 x 为真,则结果为 y,否则为 z)
扩展赋值运算符:+=,-=,*=,/=
同时,+ 也可以连接字符串,此时要注意:
System.out.println(""+10+20) //结果为1020
System.out.println(10+20+"") //结果为30
07 包机制
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[.pkg2[. pkg3...]];
一般利用公司域名倒置作为包名:
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能
import package1[.package2.].(classname|*);
JavaDoc
javadoc命令是用来生成自己API文档的参数信息
@author作者名
@version版本号
@since指明需要最早使用的jdk版本@param参数名
@return返回值情况@throws异常抛出情况
命令行:javadoc 参数 Doc.java