20165203《Java程序设计》第二周Java学习总结
教材学习内容总结
第二章
(一)标识符
注意:
- 标识符由字母、下画线、美元符号和数字组成,长度不受限制。
- 标识符第一个字符不能是数学字符。
- 标识符不能是关键字。
- 标识符不能是true、false和null。
- 标识符中的字母区分大小写。
(二)基本数据类型(重点)
- [四大类型]
逻辑类型:boolean(与C语言不同)
整数类型:byte、short、int、long
字符类型:char
浮点类型:float、double
- [相关内容解析]
| 数据类型关键字 | 常量 | 变量 | 字节内存 | 数据范围 |
|---|---|---|---|---|
| boolean | true、false | 使用boolean来声明 | ||
| int | 123,6000,077,0x3ABC | 使用int来声明 | 4 | -2^31~(2^31-1) |
| byte | 一定范围内的int型常量 | 用byte来声明 | 1 | -128~127 |
| short | 一定范围内的int型常量 | 使用short来声明 | 2 | -2^15~2^15-1 |
| long | 用后缀L来表示,108L,07123L | 使用long来声明 | 8 | -2^63~2^63-1 | char | 用单引号括起来的Unicode表中的字符,'A','b' | 使用char来声明 | 2(无符号位,且无负数char) | 0~65535 |
| 数据类型 | 常量 | 变量 | 数据所分配字节 | 数据精度 | float | 用后缀f或F,不能省略,453.5439f,21379.987F | 用float来声明 | 4 | 8位有效数字 |
|---|---|---|---|---|
| double | 可以有后缀d或D,但可以省略,2389.539d,2318908.987 | 用double来声明 | 8 | 16位有效数字 |
(三)数组
1.声明数组
一维数组:float boy [ ];
二维数组:char cat [ ][ ];
2.为数组分配元素
数组名=new 数组元素的类型[数组元素的个数]
boy = new float[4];
或 float boy[] = new float [4];
二维数组:
int mytwo[][];
mytwo = new int [3][4];
或 int mytwo [][] = new int [3][4];
3.数组元素的使用
索引从0开始:
4.length的使用
一维数组:“数组名.length"的值是数组中元素的个数
二维数组:“数组名.length”的值是它含有的一维数组的个数。
例如:float a[ ] = new float [12];
int b[][] = new int [3][6];
则a.length为12,b.length为3;
5.数组的初始化
float boy[] = {21.3f,23.89f,2.0f,2.3f,778.98f};
int a[][] = {{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};
6.数组的引用(元素的首地址)
两个相同类型的数组如果有相同的引用,他们就会有完全相同的元素。
public class Example2_4 {
public static void main(String args[ ]) {
int a[] = {1,2,3,4};
int b[] = {100,200,300};
System.out.println("数组a的元素个数="+a.length);
System.out.println("数组b的元素个数="+b.length);
System.out.println("数组a的引用="+a);
System.out.println("数组b的引用="+b);
a=b;
System.out.println("数组a的元素个数="+a.length);
System.out.println("数组b的元素个数="+b.length);
System.out.println("a[0]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
System.out.print("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
}
}
(三)运算符与表达式
| 运算符 | 结合方向 | 注意 |
|---|---|---|
| + - | 从左到右 | 优先级弱于乘除 |
| * / % | 从左到右 | 优先级强于加减 |
| ++x(--x) | 先使x的值加1,再使用x的值 | x++(x--) | 先使用x的值,再使x的值加1 |
|---|
- 算术混合运算的精度
排序:byte short char int long fioat double
用法规则:
1.表达式中++有++double型数据++,就按double计算
2.表达式++最高精度是float型数据++,就按float型计算
3.表达式中++最高精度是long型整数++,就按long型计算
4.表达式中++最高精度低于int型整数++,就按int型计算
易错点:允许把不超过byte、short、char的取值范围的算术表达式的值赋给byte、short、char型变量
- 关系运算符
| 运算符 | 备注 |
|---|---|
| > = | 优先级强于==和!= |
| == != | 优先级弱于以上 |
#### - 逻辑运算符 和 位运算符
| 逻辑运算符 | 备注 |
|---|---|
| && || ! | 连接表达式时,表达式的结果必须为true或false |
| 位运算符 | 备注 |
| & | ~ ^ | 注意逆运算仍然是^ |
易错点:注意逻辑运算符的短路性。
- 语句方面
Swith语句中“表达式”的值可以为byte、short、int、char型
case常量也是byte、short、int、char型,而且要互不相同
循环语句:注意与break和continue的结合性
for语句与数组:
形式:for(声明循环变量:数组名字) {
p
}
注意:“声明环境变量”必须是变量声明,不可以是使用已经声明过的变量。
- 关于类的调用方法:
因为还没有具体接触,谈一些自己的理解:
调用next类的话,是为了读取用户输入的值。
调用hasNext类的话,是为了判断值是否超出范围。
教材学习中的问题和解决过程
在学习应用举例时,对于比较排序法和折半查找法有所忘记,我细查了一下。
折半查找法
比较排序法
在课下,我还想把具体C语言中学到的查找方法和排序方法总结一下。
代码调试中的问题和解决过程
Q1:出现了

A:运行时,应为java <主类名>,且主类名不要加后缀。随后便出现了结果

Q2:出现了

A:import java.util.*中util错拼成了until.而且两次出现了这样的问题,以后应引起重视。解决后,运行出正确结果:

代码托管
脚本运行截图

其他(感悟、思考等,可选)
本周学习是Java的语法学习,虽然有了一定的C语言基础,但是我还是没有掉以轻心,仔细回忆Java语法与C语言语法的相同点和不同点,并找出了自己C语言的一些漏洞。
可以说本周收获颇丰,不仅巩固了C语言的基础,而且还了解了Java语法,在自己尝试编程时,自己动脑来设计算法,有时,自己也会尝试将原来C语言的练习题用Java语言进行编程,自己仿佛找到了开启另一扇大门的钥匙,希望自己继续努力吧。
参考资料
20165203《Java程序设计》第二周Java学习总结的更多相关文章
- 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/ 这个作业的要求在 ...
- 20145213《Java程序设计》第四周学习总结
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...
- 20145330《Java程序设计》第四周学习总结
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...
- 20145337《Java程序设计》第四周学习总结
20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...
- 20145218 《Java程序设计》第四周学习总结
20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...
- 《Java程序设计》第四周学习总结
20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...
- 20155304 2016-2017-2 《Java程序设计》第四周学习总结
20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序 ...
随机推荐
- Linux可执行文件后缀问题
一般来说,可执行文件没有扩展名. Linux不根据扩展名判断文件类型,而是根据文件的内容来判断.所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处. .sh结尾表示是shell ...
- 七、java数组
目录 一.一维数组 声明方式 数组对象的创建 元素为引用数据类型的数组 数组初始化 数组元素默认初始化 数组元素的引用 二.二维数组 概念 初始化 二维数组举例 三.数组的拷贝 四.练习 数组可以堪称 ...
- 五、java面向对象编程_3
目录 十五.Object类 1.toString 2.equals 十六.对象转型(casting) 十七.动态绑定(多态) 十八.抽象类(abstract) 十九.final关键字 二十.接口 十五 ...
- Kubernetes之利用prometheus监控K8S集群
prometheus它是一个主动拉取的数据库,在K8S中应该展示图形的grafana数据实例化要保存下来,使用分布式文件系统加动态PV,但是在本测试环境中使用本地磁盘,安装采集数据的agent使用Da ...
- python 生成器和迭代器介绍
在正式接触生成器之前,我们先来了解一些概念 容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个迭代获取,可以用in.not in关键字判断元素是否包含在容器中. ...
- P2306 被yyh虐的mzc
P2306 被yyh虐的mzc 容量为 \(V\), 有 \(n\) 件物品, 反正直接背包绝对超时 , 每个有重量和价值 \(a_{i}, b_{i}(a_{i}, b_{i} <= 10)\ ...
- Windows Server2008 R2中的角色
AD Certificate Services 官方说明: Active Directory 证书服务 (AD CS) 提供可自定义的服务,用于颁发和管理使用公钥技术的软件安全系统中的证书.可以使用 ...
- SQL语句(十五)视图
视图 实际上是一个查询语句, 如果将子查询保存为视图, 就可以将子查询的结果当作数据表使用 从而来简化查询语句 引言 例1 查询参加"数据库技术"课程的考试的学生学号.姓名.班级. ...
- MVC: Connection String
背景: 之前项目使用的是DB first/Model first,现在要对EF升级的6.0,并且更换成Code first. 问题: 1. System.Data.Entity.Core.Metada ...
- jQuery UI dialog 使用记录
1 属性 1.11 autoOpen ,这个属性为true的时候dialog被调用的时候自动打开dialog窗口.当属性为false的时候,一开始隐藏窗口,知道.dialog("open&q ...