java基础(day03)

  • java基础03 数据类型
    • 1、强弱类型语言
      • 强类型语言
        • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
      • 弱类型语言
        • 弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言
    • 2、数据类型
      • 基本类型(primitive type)
        • 数值类型
          • 整数类型
            • byte占1个字节范围
              • 1byte(字节)=8bit(位)
            • short占2个字节范围
            • int占4个字节范围
            • long占8个字节范围
          • 浮点类型
            • float占4个字节
            • double占8个字节
          • 字符类型
            • char占2个字节
        • boolean类型
          • 占1位其值只有true和false两种
      • 引用类型 (reference type)
        • 接口
        • 数组
      • 注:字符串类型是一个类,也属于引用数据类型
  • java基础04 数据类型拓展及面试
    • 3、整型拓展
      • 十进制
        • 十进制整数,如: 99, 500, 0。
      • 八进制
        • 要求以 0 开头,如:015
      • 十六进制
        • 要求 0x 或 0X 开头,如:0x15 。
    • 4、浮点型拓展
      • 金融面试问:银行金融业务用什么类型表示?
        • 浮点类型float, double的数据不适合在不容许舍入误差的金融计算领域。 如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
      • 主要理由
        • 由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。浮点数一般都存在舍入误差,很 多数字无法精确表示,其结果只能是接近,但不等于;二进制浮点数不能精确的表示0.1,0.01,0.001这样 10的负次幂。并不是所有的小数都能可以精确的用二进制浮点数表示。
      • 大数值
        • Java.math下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数 值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。
      • 浮点数使用总结
        • 1. 默认是double
        • 2. 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需 要使用BigDecimal类。
        • 3. 避免比较中使用浮点数
    • 5、字符型拓展
      • 单引号用来表示字符常量。
      • char 类型用来表示在Unicode编码表中的字符。
      • Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符。
    • 6、布尔型拓展
      • boolean类型(一位,不是一个字节),就是0|1
      • boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
      • boolean 类型用来判断逻辑条件,一般用于程序流程控制。
  • Java基础05 类型转换
    • Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
      • 运算中,不同类型的数据先转化为同一类型,然后进行运算。
      • 转换从低级到高级(根据容量来看)。
        • byte,short,char—> int —> long—> float —> double
    • 小数优先级大于整数
    • 1、自动类型转换 (低到高,同等级)
      • 容量小的数据类型可以自动转换为容量大的数据类型。
        • eg: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。
    • 2、强制类型转换(高到低,容易溢出)
      • 强制类型转换,又被称为造型,用于显式的转换一个数值的类型.
        • 在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
      • 强制类型转换的语法格式:
        •  (type)var ,运算符“()”中的type表示将值var想要转换成的目标数据类型。 条件是转换的数据类型必须是兼容的。
      • 当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,溢出。
    • 3、常见错误和问题
      • 1. 操作比较大的数时,要留意是否溢出,尤其是整数操作时
      • 2. L和l 的问题:
        • 不要命名名字为l的变量
        • long类型使用大写L不要用小写。
    • 数据类型转换必须满足如下规则
      • 不能对boolean类型进行类型转换。
      • 不能把对象类型转换成不相关类的对象。
      • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
      • 转换过程中可能导致内存溢出或损失精度
    • 4、JDK7扩展
      • JDK7新特性: 二进制整数
        • 由于我们在开发中也经常使用二进制整数,因此JDK7为我们直接提供了二进制整数的类型。
        • 我们只要以:0b开头即可。
      • JDK7新特性:下划线分隔符
        • 在实际开发和学习中,如果遇到特别长的数字,读懂它令人头疼!JDK7为我们提供了下划线分隔符,可以按照自己的习惯进行分割。
        • eg:int b = 1_2234_5678
  • java基础06 变量、常量、作用域
    • 1、变量(variable)
      • 变量是什么?
        • 我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放置什么值不确定!
        • 给变量取名字放到内存里
      • 变量三要素
        • 变量名,变量类型
          • 变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:
            • //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
            • 注意事项:
              • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
              • 变量名必须是合法的标识符
              • 变量声明是一条完整的语句,因此每一个声明都必须以英文分号结束
        • 变量作用域
          • 类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。
            • 静态变量
              • 使用static定义。
              • 从属于类,生命周期伴随类始终,从类加载到卸载。
              • 如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
          • 实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
            • 实例变量
              • 方法外部、类的内部定义的变量。
              • 从属于对象,生命周期伴随对象始终。
              • 如果不自行初始化,他会自动初始化成该类型的默认初始值
              • (数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
          • 局部变量(lacal variable):类的方法中的变量。
            • 局部变量
              • 方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
              • 在使用前必须先声明和初始化(赋初值)。
              • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
      • 变量的命名规范
        • 1. 所有变量、方法、类名:见名知意
        • 2. 类成员变量:首字母小写和驼峰原则 : monthSalary 除了第一个单词外,后面首字母大写
        • 3. 局部变量:首字母小写和驼峰原则
        • 4. 常量:大写字母和下划线:MAX_VALUE
        • 5. 类名:首字母大写和驼峰原则: Man, GoodMan
        • 6. 方法名:首字母小写和驼峰原则: run(), runRun()
    • 2、常量 (Constant)
      • 初始化(initialize)后不能再改变值!不会变动的值。
      • 常量名一般使用大写字符。
      • 程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
  • java基础07~10运算符
    • 运算符operator
      • 算术运算符: +,-,*,/,%,++,--
      • 赋值运算符 =
      • 关系运算符: >,<,>=,<=,==,!= instanceof
      • 逻辑运算符: &&,||,!
      • 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
      • 条件运算符 ?:
      • 扩展赋值运算符:+=,-=,*=,/=
    • 1、二元运算符
      • 整数运算
        • 如果两个操作数有一个为Long, 则结果也为long
        • 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
      • 浮点运算
        • 如果两个操作数有一个为double, 则结果为double.
        • 只有两个操作数都是float, 则结果才为flfloat.
      • 关系运算符
        • 返回布尔值!

    • 2、取模运算
      • 就是我们小学的取余
      • 其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004
      • 要点
        • 负数%负数=负数;
        • 负数%正数=负数;
        • 正数%负数=正数;
      • 注:一般都是正整数运算,进行结果的判断!
    • 3、一元运算符
      • 自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数,分为前缀和后缀两种。
      • 注意:java中的乘幂处理
      • Math类提供了很多科学和工程计算需要的方法和常数。特殊的运算都需要运用到方法!
    • 4、逻辑运算符
      • 逻辑与:&&和&,逻辑或:||和|,逻辑非:!。
        •  

      • 逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
      • 逻辑与只要有一个为false, 则直接返回false.
      • 逻辑或只要有一个为true, 则直接返回true;
    • 5、位运算符
      • Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算符作用在所有的位上,并且按位运算。

    • 6、扩展运算符
      •  

    • 7、字符串连接符
      • “+” 运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
    • 8、三目条件运算符
    • 9、运算符优先级

  • java基础11 包机制
    • 1、问题发现
    • 2、包的作用
      • 1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
      • 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
      • 3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
      • Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
    • 3、创建包
      • 创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。
      • 包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
      • 如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
    • 4、import 关键字
  • java基础 12 javaDoc
    • 1、简介
    • 2、命令行生成Doc
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值