java基础

  1. 注释:

    • 单行注释://

    • 多行注释:/* + 回车

  2. 关键字:

  3. 标识符:

    • 开头应该是字母(A-Z或者a-z),美元符号($),下划线(_)

    • 首字母之后可以是字母(A-Z或者a-z),美元符号($),下划线(_)或者任何字符组合

    • 不能使用关键字作为变量名或方法名

    • 标识符大小写敏感

    • 可以使用中文,一般不建议,也同样不建议使用拼音,很low

  4. 数据类型:

    1. 强类型语言:

      • 当你定义一个变量是某个类型,如果不经过代码显式转换(强制转化)过,它就永远都是这个类型,如果把它当做其他类型来用,就会报错

    2. 弱类型语言:

      • 你想把这个变量当做什么类型来用,就当做什么类型来用,语言的解析器会自动(隐式)转换。

    3. java基本类型:(String不是关键字,是一个类)

      • 数值类型:primitive type:

        • 整数型:

          • byte占1个字节,范围:-128~127

          • short占2个字节,范围:-32768~32767

          • int占4个字节,范围:-2147483648~2147483647

          • long占8个字节,范围:-9223372036854775808~9223372036854775807(使用时数值后面要加L)

        • 浮点型(小数):

          • float:占4个字节(使用时数值后面要加F)

          • double:占8个字节

        • 字符类型:

          • char:占2个字节

      • boolean类型:

        • 占一位其值只有true和false两个

    4. java引用类型:reference type:

      • 接口

      • 数组

  5. 什么是字节:

    • 位(bit):计算机内部数据储存的最小单位.例:11001100是一个八位二进制

    • 字节(byte):计算机中数据处理的基本单位,习惯上用大写B来表示

    • 1B(字节)=8bit(位)

    • 字符:shizhi计算机中使用的字符,数字,字和符号

    • 1b表示1位

    • 1Byte表示一个字节 1B=8b

    • 1024B=1K

    • 1024K=1M

    • 1024M=1G

  6. 扩展:

    • 整数:

      • 进制:

        • int a = 0b10;二进制==2

        • int a = 10;十进制==10

        • int a = 010;八进制==8

        • int a = 0x10;十六进制==16

    • 浮点:

      • 存在有限,离散,舍入误差,大约,接近但不等于等属性

      • 最好完全避免使用浮点数进行比较

      • 实在需要进行比较,可以使用BigDecimal(数学工具类)

    • 字符:

      • 所有的字符本质还是数字

      • 对应编码代表对应字符

      • 转意字符(放在字符串中):

    • Less is More!!代码需要简洁

  7. 类型转换:

    • 由于Java是强类型语言,所以数据进行运算时没需要类型转换

    • 运算中,不同类型的数据要转换成同意类型在进行运算

    • 规则是:低转到高(自动转换),高转低(强制转换,可能存在内存溢出或者精度问题 )

    • (低)byte-->short,char-->int-->long-->float-->double(高)

    • 不能对布尔值进行转换

    • 不能把对象类型转换为不相干的类型

    • 操作相对较大的数时,注意类型转换,精度,内存溢出问题

  8. 变量;

    • 变量:相当于位子是确定的,内容不确定的空间,简称可以变化的量

    • 由于Java是强类型语言,每个变量都必须声明其类型

    • 是程序中最基本的存储单元,要素包括变量名,变量类型和作用域

    • 作用域:

      • 类变量:

        • 方法外,类以内,前面带关键字static

        • 从属于类,一起出来一起消失

        • 不用声明类的变量,直接调用

      • 实例变量:

        • 方法外面,类里面,从属于对象

        • 如果不自行初始化,除了基本类型,其余默认null为默认值,布尔值是false

      • 局部变量:

        • 写在方法里面的变量,生命周期在方法内,且需要声明

    • 建议

      • 可以使用逗号隔开多个同类型的变量,但是不建议使用(程序可读性)

      • 每个变量都有自己的类型,可以是基本类型,也可以是引用类型

      • 变量名必须是合法的标识符,且变量声明是一条完整语句,每个声明都必须以分号结束

  9. 常量(Constant):

    • 初始化就不能再改变的值!不会变动的值

    • 可以理解成一种特殊的变量,一旦设定后,运行过程中不允许被改变

    • 常量名一般使用大写字符

  10. 命名规范:

    • 所有变量,方法,类名:见名知意

    • 类成员变量:首字母小写和驼峰原则:monthSalary

    • 局部变量:首字母小写和驼峰原则:monthSalary

    • 常量:大写字母和下划线:MAX_VALUE

    • 类名:首字母大写和驼峰原则:MonthSalary

    • 方法名:首字母小写和驼峰原则:monthSalary(),month()

  11. 基本运算符

    • 算术运算符:+,-,*,/,%,++,--

    • 赋值运算符:=

    • 关系运算符:>,<,>=,<=,==,!= instanceof

    • 逻辑运算符:&&,||,!

    • 位运算符:&,|,^,~,>>,<<,>>>

    • 条件运算符:?,:

    • 扩展赋值运算符:+=,-=,*=,/=

  12. 自增自减运算符:

    • 自增:a++(运行后加),++a(运行前加)

    • 自减:a--(运行后减),--a(运行前减)

  13. Math类:

    • 是java里面的数学类,一些相应的数学方程和方法,可以调用Math类的方法执行

    • 或者自己写工具类,作引用

  14. 逻辑运算符:

    • &&([与]and):(a && b)两个变量都为真,结果才为真(短路运算)

    • ||([或]or):(a || b)两个变量有一个为真,结果为真(短路运算)

    • !([非]取反):(!a)如果为真,结果为假,如果为假,结果为真

  15. 位运算符:

    • 与位计算,效率极高!!!

    • a = 0011 1100 ,b = 0000 1101

    • &:a & b = 0000 1100 (a与b两个为1,才为1,不是为0)

    • |:a | b = 0011 1101 (a与b都是0才为0,有一个1以上才为1)

    • ^:a ^ b = 0011 0001 (a与b相同为0,否则为1)

    • ~:~ b = 1111 0010 (取反)

    • 0000 0000 == 0

    • 0000 0001 == 1

    • 0000 0010 == 2

    • 0000 0011 == 3

    • 0000 0100 == 4

    • 0000 1000 == 8

    • 0001 0000 == 16

    • ">>" = *2

    • "<<" = /2

  16. 三元运算符:

    • x ? y : z(如果 "x == true",结果为 "y",否则为 "z")

  17. 扩展运算符:

    • a += b: a = a + b

    • a -= b:a = a - b

    • a *= b:a = a * b

    • a /= b:a = a / b

  18. 字符连接符:

    • " " + 10 + 20 == 1020(字符串在前,后面+变成字符串连接符)

    • 10 + 20 + " " == 30(字符串在后,前面+变成运算符)

  19. 包机制:

    • 尽量不要让包名重复,或者自己引用自己

    • java的包机制主要用于区别类名的命名空间

    • 包语句语法格式:packsge pkg1 [. pkg2 [. pkg3 ......] ]

    • 一般利用倒置的域名做包名: com.baidu.www.....

    • 为了使用某一个包的成员,我们需要在java程序中明确导入该包,使用"import''语句实现

    • import packsge pkg1 [. pkg2 [. pkg3 ......] ].(classname | *);

  20. JavaDoc生成文档:

    • javadoc命令是用来生成自己的API文档

    • /** + 回车

    • 参数信息:

      • @autor:作者名

      • @version:版本号

      • @since:指明需要最早使用的jdk版本

      • @param:参数名

      • @return:返回值情况

      • @throws:异常抛出情况

posted @ 2019-12-31 17:11  泡面达人  阅读(173)  评论(0编辑  收藏  举报