java知识点拾遗(基本语法)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java知识点拾遗(基本语法)相关的知识,希望对你有一定的参考价值。
- 浮点数
- 浮点常量默认为double,要变为float需要在数字末尾加F/f。当然表示double常量的末尾D/d可以省略。
- 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数值计算,需要使用BigDecimal类。
import java.math.*;
...
BigDecimal bd=BigDecimal.valueOf(0.1);
bd=bd.subtract(BigDecimal.valueOf(0.1))
//这里可以使用比较运算
BigDecimal bd2=BigDecimal.valueOf(0.1);
BigDecimal bd3=BigDecimal.valueOf(1.0/10.0);
System.out.println(bd2.equals(bd3));
...
- 字符数据类型
- 单引号表示char类型,双引号表示String类型。
- Unicode范围是从0到65535之间的编码。十六进制从“\\u0000”到“\\uFFFF”来表示。
char c=\\u0061;
- boolean类型
- 值true和false,在内存中占一位,不可以用0或非0替代false和true。
- 二元运算符的运算规则
整数运算:
- 如果两个操作数有一个为long,则结果也为long。
- 没有long时,结果为int。即使操作数全为short,byte结果也是int。
浮点运算:
- 如果两个操作数有一个为double,则结果为double。
- 只有两个操作数都是float,则结果才为float。
- 求余运算
- 余数的符号与左边操作数相同
如:7%3=1,-7%3=-1,7%-3=1
- 逻辑运算
- 非短路运算符:&,|
- 短路运算符:&&,||
- 字符串连接
- +连接的变量只要有一个是字符串,则按字符串连接处理。
- char对于+按照整型加法处理。
- java源文件
一个文件中可以定义多个类,但只能有一个类是public的,且public的类名与主文件名同名。 - Java的虚拟内存
- 栈区stack area
(1) 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量,操作数,方法出口等)。
(2) JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等)。
(3) 栈属于线程私有,不能实现线程间的共享。
(4) 栈的存储特性:先入后出
(5) 栈由系统自动分配,速度快。栈是一个连续的内存空间。
- 堆区heap area
(1) 堆用于存储创建好的对象和数组。
(2) JVM只有一个堆,被所有线程共享。
(3) 堆是一个不连续的内存空间,分配灵活,速度慢。
- 方法区method area
(1) 方法区也叫静态区。JVM只有一个方法区,被所有线程共享。
(2) 方法区实际也是堆,只是用于存储类,常量相关的信息。
(3) 用来存放程序中永远不变或唯一的内容(类信息,静态变量,字符串常量等)。
10. super()
构造方法的第一句就是super(),如果没定义,Java也会在第一句的位置自动加上一个super()。
- 在构造方法中调用构造方法
- 必须用this()形式调用。
- this()必须是第一句。
- this不能用于static方法中。
- 静态初始化块
static
...
//只能操作静态方法和静态属性
用于对类进行初始化。
- 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。
- Java中所有的参数传递都是值传递。
- java.lang语言核心包不需要导入,默认导入。
- 静态导入
可以将静态常量,方法等导入,以便直接使用,无需加前缀。
import static java.lang.Math.*;
...
System.out.println(PI);
...
- 枚举的基本使用
enum EnumName
枚举体(常量列表)
比如:
enum F4
XUANZANG,XINGZHE,WUJING,WUNENG
- 数组的静态初始化
int[] a1 = new int[]1, 2, 3, 4, 5, 6;
int[][] a2 = new int[][]1, 2, 3, 1, 2, 3, 4, 6, 4;
int[][][] a3 = new int[][][]1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3;
Object[] dragon2=3,"瓦塔诺",16,"登龙剑";
参考资料
以上是关于java知识点拾遗(基本语法)的主要内容,如果未能解决你的问题,请参考以下文章