Java基础难点补充
附:
java中文版文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
1、块作用域:
块是指由一对花括号括起来的若干条简单的java语句。块确定了变量的作用域。
注意:不能在嵌套的两个块中声明同名的变量。例如,下面的代码就有错误,而无法通过编译:
public static void main(String[] args) {int n;.....{int k;int n; //ERROR!.....}
}
2、for循环
1)在循环中,检测两个浮点数 是否相等需要格外小心,下面的for循环可能永远不会结束。
for(double x = 0; x != 10; x += 0.1) ....
2)如果希望在for循环体外使用循环计数器的最终值,就要确保这个变量在循环原句的前面且外部声明:
int i;
for(i = 1; i <= 10; i++) {.....
}
//i is still defined here
3、switch语句
使用switch语句时,一定要注意当找到合适的条件时,一定要使用break语句退出:
switch (choice) {case 1:...break;case 2:...break;case3:...break;default:...break;
}
如果在case分支语句的末尾没有break语句,那么就会接着执行下一个case分支语句,这种情况相当危险,常常会引发错误,为此,我们尽量避免使用switch语句.
4、带标签的break语句
有时候,在嵌套很深的循环语句中会发生就一些不可预料的事情。此时可能更加希望跳到嵌套的所有循环语句之外。java提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。
int n;
read_data; //标签
while (...) {for(...) {...}if (..) {break read_data; //最后跳出while循环}
}
5、大数值
如果基本的整数和浮点数精度不能满足要求,那么可以使用java.math包中的两个很有用的类,BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现类任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
注意:如果要使用大数值进行算数运算需要使用类中的add和multiply方法,详情请参考java文档java.lang.math包:
详情请看文章开头的java文档
6、数组操作类(Arrays)
Arrays类,包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
例如,可以使用 copyOf 方法将一个数组的所有值拷贝到一个新的数组中去,以及用于二分搜索的 binarySearch 方法和 进行排序的 sort 方法。(详情请看文章开头的java文档)
Java基础难点补充相关推荐
- 【重难点】【Java基础 07】变量类型、内部类、处理器指令优化
[重难点][Java基础 07]变量类型.内部类.处理器指令优化 文章目录 [重难点][Java基础 07]变量类型.内部类.处理器指令优化 一.变量类型 1.对比 二.内部类 1.介绍 三.处理器指 ...
- 【重难点】【Java基础 06】浅克隆与深克隆、Object类的常用方法、util包下的接口
[重难点][Java基础 06]浅克隆与深克隆.Object对象的常用方法.util包下的接口 文章目录 [重难点][Java基础 06]浅克隆与深克隆.Object对象的常用方法.util包下的接口 ...
- 【重难点】【Java基础 05】说一说你平时遇到的异常、什么情景下会用到反射、反射的底层原理
[重难点][Java基础 05]说一说你平时遇到的异常.什么情景下会用到反射.反射的底层原理 文章目录 [重难点][Java基础 05]说一说你平时遇到的异常.什么情景下会用到反射.反射的底层原理 一 ...
- 【重难点】【Java基础 04】值传递和引用传递、序列化和反序列化
[重难点][Java基础 04]值传递和引用传递.序列化和反序列化 文章目录 [重难点][Java基础 04]值传递和引用传递.序列化和反序列化 一.值传递和引用传递 1.对比 二.序列化 1.基本概 ...
- 【重难点】【Java基础 03】hashCode() 和 equals()、代理模式
[重难点][Java基础 03]重写hashCode() 和equals(). 文章目录 [重难点][Java基础 03]重写hashCode() 和equals(). 一.hashCode() 和 ...
- 【重难点】【Java基础 01】一致性哈希算法、sleep() 和wait() 的区别、强软弱虚引用
[重难点][Java基础 01]一致性哈希算法.sleep() 和wait() 的区别.强软弱虚引用 文章目录 [重难点][Java基础 01]一致性哈希算法.sleep() 和wait() 的区别. ...
- java基础案例教程第二章_第2章Java编程基础_补充案例教程.doc
第2章Java编程基础_补充案例教程 博学谷--让IT教学更简单,让IT学习更有效博学谷--让IT教学更简单,让IT学习更有效 PAGE \* MERGEFORMAT34PAGE \* MERGEFO ...
- java基础加强_补充笔记
java基础加强 1.JDK5.0新特性介绍 jdk5.0的代号为:tiger(老虎) 2.静态导入 作用:静态导入类的某个静态成员(包括静态属性和静态方法).语法:import static jav ...
- 10年java架构师教你如何快速打好Java基础?
从大学到现在,我使用Java已经将近10年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用. 因为是在工作中培训,就必然有两个约束:实用.时间紧,因此就不能像大学 ...
最新文章
- Go语言可能会遇到的坑
- JQUERY获取DOM
- vue底部选择器_Vue组件-极简的地址选择器
- 关于PHPExcel 导出下载表格,调试器响应乱码
- linux关于权限的案例,16. Linux权限管理案例1 - 警察与土匪
- 用Notepad++写python的小配置
- linux network io,Linux network I/O
- oracle和sql server中,取前10条数据语法的区别
- 毕业设计——宠物店管理系统
- 60Echarts - 饼图(Texture on Pie Chart)
- 配对t检验的应用条件是什么_配对t检验在实际工作中的应用
- LeetCode——5785. 合并若干三元组以形成目标三元组(Merge Triplets to Form Target Triplet)[中等]——分析及代码(Java)
- mac鼠标滚轮 触控板_如何在Mac上为滚轮而不是触摸板禁用自然滚动
- c++ Lake Counting
- app内嵌h5分享到小程序分享功能
- 有限差分法电磁场matlab,有限差分法的分析电磁场边值问题(定稿).doc
- 主机托管服务是怎样收费的?你对主机又了解多少?
- 【案例4-8】模拟物流快递系统程序设计
- 吉林大学计算机科学与技术学院学号6,吉-林-大-学---吉林大学计算机科学与技术学院...
- 实例006 使用正则表达式验证两位小数