《Java程序设计》第二周学习记录(1)
第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版)》学习指导
- 《Java 2 实用教程》
- 《JDK 6.0 Documentation》
《Java程序设计》第二周学习记录(1)的更多相关文章
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 2017面向对象程序设计(Java)第二周学习总结
2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 《Java程序设计》第二周学习记录(2)
目录 3.1 运算符与表达式 3.3 if条件分支语句 3.7 for语句与数组 参考资料 3.1 运算符与表达式 和C语言基本上没有区别,要注意的是关系运算符的输出结果是bool型变量 特别要注意算 ...
- 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结
这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...
随机推荐
- Docker指令
将showdoc容器下的/var/www 拷贝到主机 /home/bonker/showdocTsp1.214下 docker cp showdoc:/var/www /home/bonker/sho ...
- 解决wps/office 1-2自动转换1月2日,用样式解决此问题
添加样式: td{mso-number-format:"\@"; }
- Linux的rp_filter与策略路由
Linux的rp_filter用于实现反向过滤技术,也即uRPF,它验证反向数据包的流向,以避免伪装IP攻击,但是它和Linux的策略路由却很容易发生冲突,其本质原因在于,uRPF技术强制规定了一个反 ...
- SpringBoot系统列 2 - 配置文件,多环境配置(dev,qa,online)
实现项目的多环境配置的方法有很多,比如通过在Pom.xml中配置profiles(最常见) 然后在Install项目打War包的时候,根据需求打不同环境的包,如图: 这种配置多环境的方法在SSM框架中 ...
- git 中merge的用法
git merge –no-ff 可以保存你之前的分支历史.能够更好的查看 merge历史,以及branch 状态. git merge 则不会显示 feature,只保留单条分支记录.
- 搭建Airflow数据流调度器
服务器使用的是centos系统,需要安装好pip和setuptools,同时注意更新安装的版本 接下来参考安装好Airflow Airflow 1.8 工作流平台搭建 http://blog.csdn ...
- WebViewJavascriptBridge的使用说明
WebViewJavascriptBridge 项目介绍 在Obj-C 和 WKWebView, UIWebView 中的 Javascript之间传送信息的桥梁. 项目地址 如何使用 Javascr ...
- iOS开发之--单个页面禁止右滑返回操作
禁止右滑: if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) ...
- 关于v$librarycache的几个字段含义
对v$librarycache中的get,pin和reload的含义: Gets: (Parse) The number of lookups for objects of the namespace ...
- dbeaver导出MySQL的架构提示"IO Error: Utility 'mysqldump.exe' not found in client home 'MySQL Connector/Net"解决方案
今天想到用dbeaver的Dump dabase功能导出MySQL的架构脚本,到最后一步生成的时候提示以下错误信息: IO Error: Utility 'mysqldump.exe' not fou ...