学习java的第四周
数据类型
- 给
long
型赋值时需要在值后面加个L - 给
float
型赋值时需要在值后面加个F - 定义字符串时用
String
。(注:String
不是关键词,是类)
数据类型扩展
- 整数扩展:进制 二进制0b 十进制 八进制 十六进制0x
- 浮点数扩展: 存在舍入误差,接近但不等于,最好避免完全使用浮点数比较
- 字符扩展:给字符强制转换,对应的是Unicode表中的数字
- 转义字符:和c中相同
类型转化
| 低-------------------------------------高|
--|:--😐--:
|byte, short,char-> int ->long- -> float -> double|
|除强制转换外,数据类型总是按照从低向高转换。|
注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
- 操作比较大的数的时候,注意溢出问题
JDK7新特性,数字之间可以用下划线分割
int money = 10_ 0000_ 0000 ;
System. out . println(money);
这个的结果是1000000000
变量、常量、作用域
变量
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是-条完整的语句,因此每一一个声明都必须以分号结束
变量的作用域
- 类变量(静态变量)
- 局部变量
- 实例变量 (c中的全局变量)
常量
- 可理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final常量名=值;
final double PI=3.14;
- 常量名一般使用大写字符。
类似于c中的define
包机制、文档注释
包机制
- 相当于头函数.我们需要在Java程序中明确导入该包。使用
import
语句可完成此功能,如:import package1 ***
文档注释
- javadoc命令是用来生成自己API文档的
有以下参数信息 - @author 作者名
- @version 版本号
- @since指明需要最早使用的
- @param参数名
- @return 返回值情况
- @throws 异常抛出情况
命令行形成编码:javadoc -encoding UTF-8 -charset UTF-8 文件.java
,-encoding UTF-8 -charset UTF-8
是为了防止乱码。
java流程控制
输入,
- 如果使用
Scanner
,需要在最上方加上import java.util.Scanner
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
- 用完
Scanner
后一定要用定义的变量.close()
关闭。否则会一直占用资源
next() - 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
nextLine()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。