java的基本程序设计之个人总结要点
java的基本程序设计之个人总结要点
这是个人看完java核心卷一书之后,罗列的一些比较重要的点子,希望共享给大家。
【数值类型】
1.从java7开始,加上前缀0b就可以写二进制数,例如:0b1001代表9,在java中,所有的数值类型所占的字节数量与平台无关。注意:Java没有任何无符号类型
2.float类型有一个后缀F,而没有加后缀F的被默认为double,如果需要在数值计算中不含有任何舍入误差,就应该使用BigDecimal类
【变量】
1.在java中,不区分变量的声明和定义
2.类常量:在java中,希望某个常量能被一个类中的多个方法使用,通常将这些常量称为类常量。可以使用关键字static final 设置一个类常量
需要注意的是,类常量的定义位于main方法的外部,因此在同一个类中的其他方法也可以使用这个常量,而且,一个常量被声明为public,那么其他类的方法也可以使用这个常量
【字符串】
1..String里面有一个substring方法:substring(m,n)。这个方法的功能是用来从一个较大的字符串里面截取一个子串,从m位置开始复制,其中的n是不想复制的第一个位置,在substring里都是从0开始计数,其次还比较容易计算子串的长度,就是n-m
2..如果需要由较短的字符串构建字符串,采用字符串连接方式效率太低,可以使用StringBuilder类就可以避免这个问题,先构建一个这种类的对象,每次需要添加一部分内容时,就调用append方法
3..如果想要输入密码,因为Scanner类输入是可见的,所以可以用Console类来实现,而这个每次只能读取一行输入,而没有能够读取一个单词或一个数值的方法
【块作用域】
块作用域:不允许在嵌套的两个块中声明同名的变量,因为有可能会导致程序设计错误,因此java中不允许这样做
【大数值】
1.BigInteger类和BigDecimal类,前者实现了任意精度的整数运算,后者实现了任意精度的浮点数运算
2.使用静态的valueOf方法可以将普通的数值转换为大数值
注意:不能使用人们熟悉的算术运算符来处理大数值,而需要使用大数值类中的add(+),multiply(*),subtract(-),divide(/)方法,因为java没有提供运算符重载功能
【数组】
1.数组列表(ArrayList):一旦创建了数组,就不能再改变它的大小,如果经常需要在运行过程中扩展数组的大小,就应该使用另一种数据结构——数组列表(ArrayList)
2.for each循环数组,不必为下标的起始值和终止值而操心,要想打印数组,可以使用Arrays.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,用逗号分隔
3.数组拷贝:在java中,允许将一个数组变量拷贝给另一个数组变量,这时,两个变量将引用同一个数组,如果希望将一个数组中所有的值拷贝到一个新数组中去,可以使用Array类的copyTo方法,这个方法可以用来增加数组的大小
4.数组排序:可以使用Array类中的sort方法
5.for each 循环语句不能自动处理二维数组的每一个元素,它是按照行,也就是一维数组处理的,要想访问二维数组a中的所有元素,得使用两个嵌套的循环,要想快速的打印一个二维数组的数据元素列表,可以调用:System.out.println(Arrays.deepToString(a));
java的基本程序设计之个人总结要点的更多相关文章
- 【实战Java高并发程序设计 7】让线程之间互相帮助--SynchronousQueue的实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计 5】让普通变量也享受原子操作
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计 4】数组也能无锁:AtomicIntegerArray
除了提供基本数据类型外,JDK还为我们准备了数组等复合结构.当前可用的原子数组有:AtomicIntegerArray.AtomicLongArray和AtomicReferenceArray,分别表 ...
- 【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference AtomicReference无法解决上述问题的根 ...
- 【实战Java高并发程序设计 1】Java中的指针:Unsafe类
是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...
- 《实战java高并发程序设计》源码整理及读书笔记
日常啰嗦 不要被标题吓到,虽然书籍是<实战java高并发程序设计>,但是这篇文章不会讲高并发.线程安全.锁啊这些比较恼人的知识点,甚至都不会谈相关的技术,只是写一写本人的一点读书感受,顺便 ...
- JAVA高并发程序设计笔记
第二章 Java并行程序基础 1.join()的本质是让调用线程wait()在当前线程的对象上 2.Thread.yiedl()会使当前线程让出CPU 3.volatile保证可见性,无法保证原子性( ...
- Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...
随机推荐
- Git分布式版本管理工具基本使用方法
一.Git简介 早先linux内核代码托管在BitKeeper,这个是商业的,但是免费给linux社区使用: linux社区有个人试图破解BitKeeper,被BitKeeper发现后不再免费提供使用 ...
- javaIO-学习笔记
package IOTest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...
- 不能从const char *转换为LPCWSTR
编译器有时候会根据编码方式来选择定义为LPCWSTR还是LPCTSTR LPSTR: 32bit指针 指向一个字符串,每个字符占1字节. 相当于 char * LPCSTR: 32-bit指针 指 ...
- 跳过IE10安装VS2013
@ECHO OFF :IE10HACK REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer" /v Ver ...
- Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
转载:http://mp.weixin.qq.com/s/uWPls0qrqJKHkHfNLmaenQ 导语 Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必 ...
- OpenRefine 数据清洗工具
OpenRefine(官方网站:http://openrefine.org/).它能自动对数据内容进行修正与整理.OpenRefine可以实现数据排序.自动查找重复条目并完成数据记录.OpenRefi ...
- 转载:Java的接口及实例
转自:http://blog.csdn.net/liujun13579/article/details/7736116/ 一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特 ...
- 认识UML类图元素
在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的关系): ...
- 使用PowerDesigner把oom设计图导出jpg格式的图片
1: 按住Shift键点击鼠标选择要导出的对象,必须先选择. 2: 选择Edit—>Export Image 到出你需要的格式,如下图
- mysql新建表示,时间字段timetamp碰到的问题
在mysql中创建表时,在新加的字段时间上,碰到下面的问题: 建表语句如下: CREATE TABLE seckill( seckill_id bigint NOT NULL AUTO_INCREME ...