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的基本程序设计之个人总结要点的更多相关文章

  1. 【实战Java高并发程序设计 7】让线程之间互相帮助--SynchronousQueue的实现

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...

  2. 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...

  3. 【实战Java高并发程序设计 5】让普通变量也享受原子操作

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...

  4. 【实战Java高并发程序设计 4】数组也能无锁:AtomicIntegerArray

    除了提供基本数据类型外,JDK还为我们准备了数组等复合结构.当前可用的原子数组有:AtomicIntegerArray.AtomicLongArray和AtomicReferenceArray,分别表 ...

  5. 【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference AtomicReference无法解决上述问题的根 ...

  6. 【实战Java高并发程序设计 1】Java中的指针:Unsafe类

    是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...

  7. 《实战java高并发程序设计》源码整理及读书笔记

    日常啰嗦 不要被标题吓到,虽然书籍是<实战java高并发程序设计>,但是这篇文章不会讲高并发.线程安全.锁啊这些比较恼人的知识点,甚至都不会谈相关的技术,只是写一写本人的一点读书感受,顺便 ...

  8. JAVA高并发程序设计笔记

    第二章 Java并行程序基础 1.join()的本质是让调用线程wait()在当前线程的对象上 2.Thread.yiedl()会使当前线程让出CPU 3.volatile保证可见性,无法保证原子性( ...

  9. Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记

    第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...

随机推荐

  1. 《C与指针》第十四章练习

    本章问题 1.预处理器定义了5个符号,给出了进行编译的文件名.文件行的当前行号,当前日期和时间以及编译器是否为ANSI C编译器.为每个符号举出一种可能的用途. answer:在打印错误信息时,文件名 ...

  2. JS 中通过对象关联实现『继承』

    JS 中继承其实是种委托,而不是传统面向对象中的复制父类到子类,只是通过原型链将要做的事委托给父类. 下面介绍通过对象关联来实现『继承』的方法: Foo = { // 需要提供一个 init 方法来初 ...

  3. 取得系统属性和Java环境

    代码如下: import java.util.Enumeration; import java.util.Iterator; import java.util.Map; import java.uti ...

  4. linux memory

    http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory/ http://duartes.org/gustavo/ ...

  5. chrome/ie中图片底部多出几像素问题

    如果给图片的父元素设置背景色,则图片的底部就会多出几像素,chrome/IE/FF中均是如此,如下图: 代码如下,就是简单的div中放张图片: <!doctype html> <ht ...

  6. C(C++)输入输出格式

    c&c++输入输出控制格式 许多情况下,都需要控制输出结果的表现形式.如输出宽度.输出精度.输出格式等.C++的iomanip.h中定义了许多控制符,这些控制符可以直接插入到流中,控制数据的输 ...

  7. linux shell:nginx日志切割脚本

    需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名   简要命令: mv /usr/local/tengine/logs/access.l ...

  8. A 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)

    最熟悉的陌生人 作者:张慧桥 “枪与玫瑰” 就象瘟98有时会死机天有时会下雨枪有时会走火美国战机有时会掉下来那样,我上网聊天也只是个偶然. 都是栀子那死丫头惹的祸.让每天都觉得是情人节的我那天我自己都 ...

  9. RDLC An unexpected error occurred while compiling expressions. Native compiler return value: '-1073741511'

    One of my web project, which has a rdlc file using some expressions, was working fine while developi ...

  10. GDI+ 操作TIFF ccitt t.6 压缩

    Bitmap Bi=new Bitmap("C:\img.tif"); SaveFileDialog sfdlg = new SaveFileDialog(); sfdlg.Fil ...