Java对大小写敏感

命名规范为骆驼命名法,不能使用保留字

main方法必须声明为public

如果main方法正常退出,java应用程序的退出代码为0,表示成功运行了程序。如果希望终止程序时返回其他代码,那就需要调用System.exit方法。

Java通用语法是 object.method(parameter),这等价于函数调用

System.out.print输出不换行

三种注释方式 //、 /*  */(不能嵌套)、第三种可以用来自动生成文档

Java是一种强类型语言,八种基本类型,四种整型,两种浮点型,一种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolen类型

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java

byte和short主要用于特定的应用场合,例如,底层文件处理或需要控制占用存储空间量的大数组。

数据类型取值固定,所以不会发生整数溢出

从java7开始,还可以为字面量加下划线,如用1_000_000表示一百万,编译器会去除下划线

java中,所有的数值类型所占据的字节数量与平台无关,没有任何无符号类型(unsigned)

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_02

double的数值精度是float的两倍

实际上,只有很少的情况适合试用float类型,例如,需要快速地处理单精度数据,或者需要存储大量数据

float类型的数值有一个后缀F,没有默认为double

在JDK5.0中,可以使用十六进制表示浮点数值。例如,0.125可以表示成0x1.0p-3

表示溢出和出错的三个特殊的浮点数值:正无穷大、负无穷大、NaN(不是一个数字)。例如,一个正整数除以0的结果为正无穷大。计算0/0或者负数的平方根结果为NaN

所有“非数值”的值都认为是不相同的,不能用特定值等于Double.NaN,可以使用Double.isNaN方法

浮点数值不是用于禁止出现舍入误差的金融计算中。例如,System.out.println(2.0-1.1)将打印出0.899999999,主要原因为浮点数值采用二进制表示,无法精确表示分数1/10,就像十进制中无法精确表示1/3一样

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_03

我们强烈建议不要在程序中试用char类型,除非确实需要对UTF-16代码单元进行操作。最好将需要处理的字符串用抽象数据类型表示。

在java中,if(x=0)不能通过编译,x=0不能转换为布尔值(整型值和布尔值之间不能进行相互转换)

在java,每一种变量属于一种类型,声明变量示例

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_04

想要知道哪些Unicode字符属于Java中的“字母”,可以使用Character类的isJavaIdentifierStart和isJavaIdentifierPart方法进行检测

$是一个合法的Java字符,但不要在你自己的代码中使用这个字符,它只用在Java编译器或其他工具生成的名字中。

声明一个变量之后,必须用赋值语句对变量进行显示初始化

在Java中,不区分声明和定义

习惯上,常量名使用全大写

在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量,可以使用关键字static final设置一个类常量。如果一个常量被声明为public,那么其他类的方法也可是用这个常量

const是Java保留的关键字,但目前没有使用

整数被0除会产生一个异常,浮点数被0除将会得到无穷大或NaN结果

如果将一个类标记为strictfp,这个类中的所有方法都要使用严格的浮点计算

自增运算符和自减运算符

建议不要在其他表达式内部使用++

&&和||是按照“短路”方式求值的,如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。若x=0,1/x不被计算,也不会出现除以0的错误

x

int fourthBitFromRight=(n&0b1000)/0b1000; 如果n是一个整型变量,并且用二进制表示的n从右数第4位为1,返回1,否则0

int fourthBitFromRight=(n&1<<3)>>3;  当需要建立位模式屏蔽某位时,使用这两个运算符十分方便

>>>运算符将用0填充高位;>>运算符用符号位填充高位;没有<<

Math.sqrt Math.PI Math.E 源文件顶部加 import static java.lang.Math.*; 就不必在数学方法名和常量名前添加前缀“Math.”

如果想得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_05

3个虚箭头,表示可能有精度损失的转换

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_06

强类型转换

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_07

round方法返回的是long类型

如果强类型转换超出目标类型表示范围,结果会截断成一个完全不同的值,(byte)300实际值为44

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_08

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_09

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_10

从概念上讲,Java字符串就是Unicode字符序列。

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_11

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_12

String类没有修改字符串的方法,如果真的希望改的话

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_13

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_14

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_15

下列表达式是合法的

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_16

==运算符检测两个字符串是否放在同一位置上

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_17

实际上,只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_18

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_19

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_20

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_21

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_22

isSupplementaryCodePoint(int codePoint) 是Character类的一个boolean型方法,用来确定指定字符(Unicode 代码点)是否在增补字符范围内。 通俗的讲,增补字符集就是在基本数据类型的标准老版本基础上升级之后产生的新字符.增补字符使char拜年的复杂但功能更强大。特别是东南亚市场的商业需求。 如果你使用的Unicode2.0版本,中国的GB18030就属于其增补字符集。 i+=2意味着占2个字节。

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_23

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_24

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_25

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_26

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_27

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_28

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_29

读取输入

首先需要构造一个Scanner对象,并与“标准输入流”System.in关联

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_30

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_31

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_32

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_33

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_34

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_35

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_36

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_37

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_38

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_39

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_40

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_41

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_42

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_43

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_44

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_45

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_46

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_47

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_48

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_49

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_50

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_51

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_52

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_53

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_54

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_55

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_56

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_57

别忘记

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_58

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_59

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_60

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_61

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_62

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_63

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_64

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_65

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_66

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_67

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_68

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_69

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_70

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_71

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_72

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_73

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_74

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_75

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_76

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Math_77

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_78

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_79

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_80

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_81

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_82

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_83

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_Java_84

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心技术卷基础_85

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_86

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_java核心卷一种重要的内容_87

java核心卷一种重要的内容 java核心技术·卷 i 基础知识_运算符_88

现在,已经看到了Java语言的基本程序结构,下一章节将介绍Java中的面向对象的程序设计。