凌逸

凌逸

java学习笔记

Java学习笔记之二十八 关系运算符和boolean运算符

关系运算符用来表示相等、不等、小于、大于、小于等于、大于等于。 关系运算符: * == * != * < * > * <= * >= boolean运算符。逻辑运算符。 * && 逻辑与。 * || 逻辑或。 * ! 逻辑非。 && 和 || 安装短路方式求值。 三元操作符。 * ?: condition ? expression1 : expression2 当条件condition为真时,计算第1个表达式,否则计算第2个表达式。

java学习笔记

Java学习笔记之二十七 自增运算符和自减运算符

对数值变量进行加一和减一的运算。 这两个运算符改变了变量的值,因此它的操作数不能是数值。 这两个运算符有两种形式:前缀形式和后缀形式。 前缀形式将运算符放在操作数的前面。++n 后缀形式将运算符放在操作数的后面。n++ 在表达式中,前缀方式先进行+1运算,后缀方式使用变量原来的值。 不要再其他表达式内部使用++,会造成误解和困惑。 int m = 7; int n = 7; int a = 2 * ++m; // now m is 8, a is 16 int b = 2 * n++; // now n is 8, b is 14

java学习笔记

Java学习笔记之二十六 浮点数算术精度问题

在Java中,double类型的数值采用64位存储。 在一些处理器中,使用80位的浮点寄存器。 这些寄存器增加了中间过程的计算精度。 这样导致的一个结果是,与一些64位浮点寄存器的机器的计算结果不同。 默认情况下,Java虚拟机设计者允许对中间计算结果采用扩展的精度。 对使用strictfp关键字标记的方法,必须使用严格的浮点计算。 如果将一个类标记位strictfp,则这个类中的所有方法都要执行严格的浮点计算。 实际的计算方式,依然取决于处理器。

java学习笔记

Java学习笔记之二十三 浮点类型

浮点类型用于表示有小数部分的数值。 Java中有两种浮点类型。 类型 存储需求 取值范围 float 4字节 大约 +-3.402 823 47E + 38F(有效位数为6 ~ 7位) double 8字节 大约 +-1.797 693 134 862 315 70E + 308(有效位数为15位) 大多数情况下,应用程序都采用double类型。 float类型有一个后缀F。 没有后缀F的浮点数值默认为dobule类型。 可以在浮点数值后面加D,表示double类型。 所有浮点数值的计算都遵循IEEE 754规范。 3个特殊的浮点数值: * 正无穷大 * 负无穷大 * NaN(不是一个数字) 浮点数值不适用于禁止出现舍入误差的金融计算中。 如果需要在数值计算中不含有任何舍入误差,应该使用BigDecimal类。这是一个类,不是基本数据类型。

java学习笔记

Java学习笔记之二十二 整型

整型用于表示没有小数部分的数值。 整型允许负数。 Java提供了4种整型。 类型 存储需求 取值范围 int 4字节 -2 147 483 648 ~ 2 147 483 647(正好超过20亿) short 2字节 -32 768 ~ 32 767 long 8字节 -9 223 373 036 854 775 808 ~ 9 223 372 036 854 775 807 byte 1字节 -128 ~ 127 int类型最常用。 使用哪种类型,根据具体要表示的数值大小和场合来定。 在Java中,整型的范围和运行Java代码的机器无关。所以,不同平台的机器,

java学习笔记

Java学习笔记之二十 变量初始化

声明一个变量之后,必须用赋值语句对这个变量初始化。 千万不要使用未经初始化的变量。 要对一个已经声明过的变量赋值,将变量名放在赋值符号(=)左侧,相应的取值表达式放在赋值符号的右侧。 也可以将声明和初始化放在同一行。 在Java中,可以将声明放在代码中的任何地方。 变量的声明,尽可能地放在靠近变量第一次使用地地方。这是一种好习惯。 在Java中,不区分变量的定义和声明。 一个未初始化变量就使用地例子。 int vacationDays; System.out.println(vacationDays); 分开声明和初始化: int vocationDays; vocationDays = 12; 将声明和初始化放在一起: int vocationDays = 12; 可以将变量地声明放在代码中的任何地方; double salary = 65000.0; System.out.println(salary); int vacationDays = 12;

java学习笔记

Java学习笔记之二十一 常量

在Java中,使用关键字final来声明常量。 关键字final表示这个变量只能被赋值一次。一旦变量被赋值,就不能再行更改了。 在习惯上,常量名使用全大写。 在Java中,常常希望一个常量在一个类中被多个方法使用。这样的常量被成为类常量。类常量用static final声明。 类常量位于main方法的外部。在同一个类中的其他方法也可以使用这个常量。如果一个常量被声明为public,则其他类中的方法也可以使用这个常量。 const是Java的保留字,并没有使用。必须使用final关键字来声明常量。 常量例子: public class Constants { public static void main(String[] args) { final double CM_PER_INCH = 2.54; double paperWidth = 8.5; double paperHeight = 11; System.out.println("Paper size in

java学习笔记

Java学习笔记之八 Java基本的程序设计结构

现在,我已经成功地安装了JDK,并且已经能够运行《Java核心技术卷I》(原书第8版)中给出的例子程序。 程序按照交互方式,主要有3类:一类是控制台程序。一类是图形化程序。另一类是Web程序。 这份笔记记录的是《Java核心技术卷I》第3章:Java基本的程序设计结构。里面的程序时控制台程序。 简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.println("We will not use 'Hello, World!'"); } } Java对大小写敏感。 public被称为访问修饰符,access modifier。它用于控制程序的其他部分对这部分代码的访问级别。 class表明全部内容都包含在类中。可以将类视为一个加载程序逻辑的容器。 Java应用程序的全部内容,都必须放在类中。 class后面跟的是类名。Java类名规则很宽松。

java学习笔记

Java学习笔记之七 对Java程序设计环境的学习三 应用程序的运行

在开始学习Java语法和思想之前,我先学习了Java的介绍、历史,并安装了JDK,安装了集成开发环境。 在安装了JDK和集成开发环境之后,就可以选择其中之一或者两者来开发程序。就开始学习而言,使用JDK和命令行环境可以加深对Java机制的理解。在明白了原理之后,再用集成开发环境,可以不再纠缠于细枝末节,将注意力放在开发应用程序本身上。 我在这次学习中,使用Core Java图书原书第8版的代码,并用Java 24版本的JDK来编译。 在学习Java语法之前,要编译Java代码,就需要使用别人的代码,而不是自己写。Core Java书籍的代码我已经下载到了我的电脑上。 我使用的第8版代码,存放与下述路径: * C:\java-notes\core-java\corejava8 这里的代码我会修改。所以这代码的zip文件我存放于其他位置。如果需要对比,我就重新解开zip文件,和我修改后的代码比对。 对JDK不同版本的准备工作 我下载了4个不同的JDK。在学习时,我需要选择其中一个使用。 这里使用一个便利的脚本,来达到我的目的。 我在下列目录中,新建4个bat文件。并

java学习笔记

Java学习笔记之四十七 Java集成开发环境的界面截图

为了学习Java,我在我的台式机上安装了三种集成开发环境:Eclipese IDE、Netbeans IDE、IntelliJ IDEA Community Edition。 这里的笔记记录了使用截图。 Eclipse IDE启动较慢。 Eclipse IDE使用一个目录作为工作空间。 Eclipse IDE会提示Windows Defender的扫描会拖慢程序,可以将目录排除在扫描目标之外。 Eclipse工作界面。 Eclipse IDE的关于对话框。可以看到Eclipse IDE是由各种各样的组件共同组成的。 Apache NetBeans的启动速度较慢。 Apache NetBeans没有工作空间一说。界面简洁。 IntelliJ IDEA是商业软件。这个Community Edition不知道怎么说,也不知道该不该被成为商业软件。 IntelliJ IDEA启动很快。 IntelliJ IDEA会收集数据。 IntelliJ IDEA编程,需要新建项目。它以项目来组织代码和其他资产。 这3种IDE,我都是初次接触。需要深入使用后再来看看体验如何。