《Java核心技术》读书笔记(一)

    对于一个之前学C++而后转向学Java的人来说,通过《Java核心技术》来学习Java无疑是一个很好的选择。因为每到JavaC++有一些值得解释的不同的时候,书中都会专门辟出一个C++注释的部分,帮助我们厘清二者在某些具体语法上的相似性与差异。以下内容是我现今初读《Java核心技术 卷1:基础知识》第八版的第3章的读书笔记,对于像我一样从C++转向Java的或许会有些帮助。


第3章 Java的基本程序设计结构


* 基本语法及约定

1.Java应用程序的全部内容都必须放置在类中。

2.类名通常采用以大写字母开头的名词,并且采用骆驼命名法(CamelCase)。

3.源代码的文件名必须与公有类的名字相同,并用.java为扩展名。

4.当使用java ClassName 运行编译程序时,Java虚拟机将从指定类的main方法开始执行,因此为了代码能够执行,在类ClassName的源代码中必须包含一个main方法。

5.根据Java语言规范,main方法必须为public

6.Java中除了C++中两种常用注释符外,还有/** */,可以用来自动生成文档。另外,/* */注释不能嵌套。


** 基本数据类型

1.相比C++,Java中多了一个byte类型,而且整型范围都是固定的。Java中没有任何无符号类型。整型值和布尔型(boolean)不能相互转换,因此Java中不会出现这样的麻烦:

if (x = 0)
{
// do something
}

而在C++中,这是可以编译运行的,只不过if判断条件总为false


*** 常量与变量

1.变量名必须是一个以字母开头的有字母或数字组成的序列。在Java中,“字母”和“数字”可以是在某种语言中代表字母或数字的任何Unicode字符,如ä德语中的字母)、π(希腊字母)。

2.在Java中,不区分变量的声明与定义。

3.在Java中,用关键字final声明常量,而某个常量若在多个方法中使用(即为类常量),则应当声明为static final,

类常量的定义位于main方法的外部。constJava的保留关键字,但目前并没有使用。


**** 运算符

1.&和|应用于布尔值时,得到的结果也是布尔值,只是不按短路径求值的方式。

2.相比C++Java中多了一个>>>运算符,作用为用0填充高位。没有<<<运算符。

3.与C++不同,Java中不使用逗号运算符。


***** 字符串

1.当将一个字符串与一个非字符串进行拼接时,后者被转换为字符串,在Java中,任何一个Java对象都可以转换为字符串。

2.Java语言中字符串的连接重载了“+”运算符,但没有重载其他运算符。


****** 控制流程

1.在Java中,不能在嵌套的两个块中声明同名的变量;没有goto语句,但break语句可以带标签。

2.switch语句中的case标签必须是整数或者枚举常量,不能测试字符串。

3.相比C++,Java中增加了一条带标签的break语句,用于跳出多重嵌套的循环,这个标签必须放在希望跳出的最外层循环之前,并且紧跟着一个冒号。执行时,程序将跳转到带标签的语句块末尾。

4.continue语句用于while循环中,可以将控制转移到最内层循环的首部;用于for循环中,将跳到循环的“更新”部分;另外,带标签的continue语句,将跳到与标签匹配的循环首部。


******* 数组

1.两种形式声明数组,形如1)int[] a; 2)int a[];

2.Foreach循环:

for (variable : collection)
   statement
3.Java中,允许数组长度为0,并且数组长度为0与null不同;Java中的[]运算符被预定义为检查数组边界,而且没有指针运算,即不能通过a加1得到数组的下一个元素。

4.Java应用程序的main方法中,程序名并没有存储在args数组中。

5.在Java中,允许将一个数组变量拷贝给另一个数组变量,这时,两个变量将引用同一个数组。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值