目录
第 2 章 基本数据类型与数组
2.1 标识符与关键字
2.2 基本数据类型
2.3 类型转换运算
2.4 输入, 输出数据
2.5 数组
参考资料
第 2 章 基本数据类型与数组
2.1 标识符与关键字
1, 标识符
标识符由字母, 下划线, 美元符号, 数字组成
标识符第一个字符不能是数字字符
标识符不能是关键字或者 true,false,null 等有其他意义的字符
2,Unicode 字符集
Java 语言使用 Unicode 字符集, 也就是说 Java 中可以直接把汉语作为变量名, 但是不建议这么做
2.2 基本数据类型
可以大致分为四种:
逻辑类型: boolean 常量: true,false
整数类型: int 占 4 个字节内存, byte 占 1 个字节内存, short 占 2 个字符内存, long 占 8 个字节内存, 常量用后缀'L'表示
注: Java 没有无符号的 byte,short,int 和 long
字符类型: 分配 2 个字节内存, 特别: 可以用 Unicode 表中排序位置的十六进制转义, 如'\u0041'表示 A.
浮点类型: float 型保留 8 位有效数字, 分配 4 个字节内存, 常量用后缀'f'或者'F'修饰
? double 型保留 16 位有效数字, 分配 8 个字节内存, 常量用后缀'd'或'D'修饰, 也可无
2.3 类型转换运算
精度从低到高排列:
byte short char int long float double
从级别低的赋值到级别高的变量时, 会自动转换.
反之会报错, 这点不同于 C 语言. 可以使用强转.
2.4 输入, 输出数据
输入要用到 Scanner 类, 以下是 Scanner 类的基本信息
Scanner 对象的构造
Scanner 类包含的常用方法
还有 hasNext()等方法可以判断是否还有对应类型的输入
所以输入的基本步骤是:
1,import java.util.Scanner; 引入 Scanner 类
2,Scanner reader = new Scanner(System.in); 创建 Scanner 对象
3,double x = reader.nextDouble(); 使用对应的数据类型来接收 (在此之前可以用 hasNextDouble() 判断下一个值是否是 double)
Scanner()中的 System.in 是 System 类的字段, 具体如下
要输出的话就用 System.out.println 或者 System.out.print, 前者相当于调用 print()后再通过写入行分隔符字符串终止当前行. 行分隔符字符串由系统属性 line.separator 定义, 不一定是单个换行符 ('\n'). 但是有点搞不清楚这个 System,out,println 到底是什么关系, 刚开始学 java, 对一些概念还不清楚, 先大概看看吧.
另外好奇为什么 Scanner 要引入但是 System 不需要, 原来是 System 在 lang 包下, 而 lang 包是默认导入的.
另外还有 printf(), 使用方法和 C 语言中的 printf 格式控制差不多
2.5 数组
声明数组
数组的元素类型 [] 数组名
C/C++ 的声明也可以, 但是不建议
注: 不可以在 [] 中指定数组元素个数
创建数组
数组名 = new 元素类型[数组大小]
可以和声明一起完成
元素类型 [] 数组名 = new 元素类型[数组大小]
数组的初始化
创建数组后, 系统会给数组的每个元素一个默认的值
一维数组如元素类型 [] 数组名 = {data, data...}
二维数组如元素类型 [][] 数组名 = {{data, data...},{data, data...},...}
数组的引用
数组属于引用性变量, 这是我第一次接触到这个名词, 第一感觉有点像 C 语言的指针, 于是去搜了一下这两者的相同点和区别, 比如说 JAVA 引用和 C 语言指针的区别, 又想起《流畅的 Python》中提到, 不再吧变量看成盒子, 而看成标签. 这个问题还是以后再慢慢研究.
参考资料
Java 学习笔记(第 8 版) http://book.douban.com/subject/26371167/
《Java 学习笔记(第 8 版)》学习指导 http://www.cnblogs.com/rocedu/p/5182332.html
《Java 2 实用教程》
《JDK 6.0 Documentation》
菜鸟教程 http://www.runoob.com/java/java-tutorial.html
《Java 程序设计》第二周学习记录(1)
来源: http://www.bubuko.com/infodetail-2977305.html