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应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...
随机推荐
- linux 关闭防火墙
) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off ) 即时生效,重启后失效 开启: service iptables start ...
- JSP编译原理图解
- c++宏使用总结【转】
C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境. ANSI标准定义的C语言预处理程序包括下列命令: #de ...
- ugui,button的一个坑
如果ugui button下面挂了一些image或text,而这些image或text的范围超出了button本身的范围,则应将image和text的raycast Target属性的勾选去掉,否则只 ...
- split 转义
问题:str.split("?");报错了 原因: .?*+!^$[]()\在正则里需要转义 转义需双反斜线.splt("\\+");
- 【uTenux】学习一个嵌入式操作系统-uTenux
[这个是汇总] 最近有点时间,参加了EEPW论坛和悠龙咨询组织的一个嵌入式操作系统uTenux试用活动.本来想借助这个活动提供的开发板做一个小项目,奈何OS使用功底太次.于是,这个活动被我降低到了学习 ...
- Unity上一页下一页切换功能实现源码(仅供参考)
在做项目时我们有时需要实现切换上一页下一页图片,切换上一首下一首歌曲等等类似的功能.这里写了个简单的实现源码(仅供参考),要是有更好的方法欢迎提出来,共同进步~ 以切换上一页下一页图片为例: usin ...
- SQL查询树形结构的所有子节点
如下一张表test:id name pid----------- ---------- -----------1 电器 NULL2 家电 13 冰箱 24 洗衣机 25 电脑 16 笔记本 57 平板 ...
- 在java下使用log4j2记录日志
1.定义: log4j2 指log4j 2.X及以上版本 2.安装 log4j-core-xx.jarlog4j-api-xx.jarlog4j-web-xx.jar(web项目的需要引用) 3.配置 ...
- Python 配置日志
Python 2.6+ def cfgLogging(): from logging.handlers import RotatingFileHandler console = logging.Str ...