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. 为什么有禁用Mac系统的Spotlight的需求:

    一.为什么有禁用Mac系统的Spotlight的需求: 有的网友由于使用的是相对较老的苹果电脑在运行较新的系统:也有可能你是个速度控,受不了偶尔卡卡顿顿的操作,必须将所有导致卡顿的原因全部消除:也有可 ...

  2. Combination Sum

    Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique c ...

  3. 【OPENGL】第三篇 着色器基础(一)

    在这一章,我们会学习什么是着色器(Shader),什么是着色器语言(OpenGL Shading Language-GLSL),以及着色器怎么和OpenGL程序交互. 首先我们先来看看什么叫着色器. ...

  4. 远程调试js注意事项

    1:使用host切换工具,先注释掉93服务器的地址,打开链接,点击高级选项,进去后登陆账号密码(如果不行重启浏览器): 2:进入后,增加93服务器上的host地址,重启浏览器,css样式生效: 3:使 ...

  5. c# equals与==

    对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false.对于string 以外的引用类型,如果两个对象引用同一个对象,则 == 返回 true.对于 string ...

  6. vim 高亮显示配置

    /etc/vim/vimrc set showmatch "bracket matchset matchtime=5 "bracket match time 5 set ignor ...

  7. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换

    前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来 ...

  8. Tomcat部署Solr4.10.4

    前段时间学习solr,兴致勃勃的从官网下载到solr5.3.0最新版本,然后在后期部署时出现了很多问题.首先,4.0到5.0是个大版本更新,下载 的压缩包的文件结构有了很多变化,导致网上很多关于sol ...

  9. [Linux] - Virtualbox-CentOS动态增加分区空间方法

    VirtualBox使用中,有时会因为当初分配空间不足导致出问题,可以使用如下方式增加分区空间: 一.VirtualBox设置: 1)到VirtualBox的安装目录下找到这个命令exe文件:vbox ...

  10. IOS-UITextField键盘不隐藏问题

    这久在手机也页面做了注册功能,需要很多的UITextField,有些是手动输入文字的,有些是点击下拉框选择的,这就出现了当点击下拉框时,就需要将键盘隐藏. - (void)textFieldDidBe ...