java核心技术卷基础_Java核心技术 卷Ⅰ 基础知识(1)

Java对大小写敏感

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

main方法必须声明为public

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

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

System.out.print输出不换行

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

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

499dacbab53a81f2ebe3c77e3ed5b5c5.png

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

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

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

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

cc40b28b69bb7036ceb5bc3db614b0ab.png

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一样

6dce3c621cd34ee3c12e0376bd99fbb5.png

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

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

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

aef59b49b0cadf6aa80d6f29dd388a37.png

想要知道哪些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类

983e5013fbadfdabb7fef45370a5e4b0.png

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

087df1af88332524df24e272743174f2.png

强类型转换

5ec8512de13532e65e555a014d45e6dd.png

round方法返回的是long类型

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

6d8700b4692651ae5d591a9de6ffe48d.png

a1cd89a590c3d7112b2af0ca0f98a69a.png

7f4ea1944eb0a5211fa6b8fd004e1254.png

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

843cea381cebea88679c3e2867a9774a.png

941ab3560f1aacb27e637b0a3af00bc8.png

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

e34635a74b8faf1033417ed8bae3539f.png

45061dcadcb7c5c143a9b99bc5f3f326.png

6c8ba2cace79910d10be1d01004d67e2.png

下列表达式是合法的

f0e83c7b3934bb73f181d9c229fa7ccb.png

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

47983205171c8506002c6e7d5df6d418.png

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

f4c5ccb93b31f5288ea255a45b060a40.png

f7ef9e274df75f93caadc4fcbba505e0.png

0cd6ec8ac3f1298a7e339859804d9fcd.png

ee74f4f761e2f5eb4eb44c9630b2792a.png

4a9a30737b9f30bbe64ffaff2565d3a9.png

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

78cc67a754e632a6209e82cb0a3b3618.png

50afb21b7178d96269389ac372618658.png

327e1e8224b16462adb270ce63bcbd2d.png

8a5f2b9a73382a035ab3dceffa5be13b.png

b216a26e77dc1be2b1891d40f9b807ab.png

05df05c93350166601ea16d4b43af523.png

8850323971bcda6fcca706c6b60e752d.png

读取输入

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

577cffbf9f941faababf84aa40bce085.png

3af3c54ac559747fe38dbcc6942a2cc8.png

a8bdf3b20ec7a05851e9ac114d16a4fe.png

ebd2156f9baae6ed8260ca4fc1168c66.png

d10d0942d2d7c656084d99c2cfd371a6.png

509fe5203fc74c01940f45a9b8c2f3a2.png

6ed5b2edfe7adc52430c8761fbbbc74f.png

61f534ce6e1edfb556b8361f21baee6e.png

496de5fbcd51b7c46c3539dc99584eb6.png

47bcf6d62d1656a9bdcc6fb3a2346d22.png

e79599a00373936a6dffd42952273101.png

696c8551b33a688fbf54ab691ca6e825.png

3f30824fe9ac0cc850254353a834a131.png

9d6ed7725033abdca5ec76040524153e.png

7e504fcc5cef2ce24564e611744f92a9.png

614c015ab2a672a73d6b22e27e8da41b.png

30e8d9fa41b9d9f65dc528d7acd363c6.png

06dec31fed4a55c691553c7d9ba5fcc0.png

68f2d6b188f6a0e72cf60123494203e0.png

ec6ed894a239a85d9632e5fb5587b4f7.png

b89834ac85e9c6493e75eba95cee2783.png

39891b8e5a63a0c1b2f96f968b08f982.png

0f0b79f1016376ecabd052d39b6c11f4.png

9b6b5b5942e6623d7e234c2e0f495a1c.png

2b30973faeb35fda4a3332a3c6781c6c.png

df4751549d996408cc7eeadce41f2702.png

214efd4c305137606e1f6717e4f52afa.png

aa8c13b3ab23bb3dc891c0bfb3969159.png别忘记

f6e3b841db3cf9e5589aa61cabba356a.png

110d17a3a533a7148831a76b272c6b41.png

813c09c85e9a3db9fd6ef3d5ceb32208.png

040a6bb89b40b49a18efc351b6b2f69d.png

f1e4cd815da58dd1535381e00a5bbe67.png

1c0df443a9a20c3d1d461d789ddcbfff.png

1726e586f8ac88c76794bad2f063f4b8.png

f7787fa8dee0f931da5c5ed07ef7a654.png

980f5eb621fae5407f11b21634605986.png

8b55c4600cfa9217c31df2f46d85d6ba.png

97165444af481cac14d1c737c2b1aa38.png

b87105e29373bb1d9b2f248f572a11ae.png

f42d7d9b3e9b5523848d3332f9540e56.png

550c6303714e615b036b3be466ffc8db.png

b1082922883bc110bef1beb8008352f5.png

556952cfdb13fb95aabd9189085852dd.png

daf13216b17a34f277fa301780be9c30.png

17875b0b8dd4fbbbb9d779c080db0b91.png

9852a86067fe9fb43000892bee2f04a4.png

bcac0ddce5d1aa2bbbe8df708634b5a1.png

4adb5641e842b43c16f8658f307fbd23.png

6277ed236b35697dabaa560801ebc4b6.png

c49286fa8d396c04ac1475f72669a7a2.png

7ea35a04e5a0ac01b18e8675c66d2fd4.png

b00b9d9ac99c68774e100c6b90b8316a.png

c1034c31ea97059e2cf5d09a105a3849.png

170483572aa0c32a2783880a30b135b7.png

d186a8fd759c06d88a6a82efb783f7d5.png

9540ed7f7b613bcab683a3339dc763b3.png

38bd8c6bf5060f9c41663740e451cfc7.png

58f7eb336f3469ff320e9a6505b0e5e4.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值