Java读书笔记02 基础知识

本文为我开始学习Java的记录2,这是看书(《JAVA 2核心技术 卷Ⅰ》)摘抄的一些基本知识。

主要包括:基本程序、数据类型、变量、运算符、字符串。

都是简单的介绍,没有什么深入讨论。

因为之前学过C++和C#(据说它和Java很像,但是我也只是略知一二),所以和C++一样的,并且耳熟能详的那些知识就不写了。

1.Java的简单知识

Java区分大小写。

程序中的所有内容都必须放在类中。

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

编译代码时,会得到一个包含该类字节码的文件,自动命名为ClassName.class文件。

使用java ClassName运行编译程序时,Java虚拟机将从指定类中的main方法开始执行。

main方法必须是静态的。 Public static void main(String[] args)

2.数据类型

基本数据类型(8种):

数值类型:

整型:byte, short,int, long(依次占据1、2、4、8字节)

浮点型:float,double(分别占据4字节和8字节)

字符类型

char

char这个类型很神奇,发现里面居然可以放汉字。

布尔类型

boolean

说明

Java中所有的数值类型占据的字节数量与平台无关。

Java没有任何unsigned类型。

Java使用16位的Unicode字符集。

转义序列符:\u

Java中boolean类型的值true和false不能与数值类型进行相互转换。

如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默认的初始值:

byte、short、int、long类型的初始值为0

float、double类型的初始值为0.0

char类型的初始值'\u0000'

boolean类型的初始值为false

3.变量

Java中不区分变量的声明与定义。

Java中的变量名:以下划线、字母、$符号开头,并且后跟下划线、字母、$符号以及数字,不能以数字开头

Java中,利用关键字final声明常量。

例如:

final double INCH=2.5;

关键字final表示这个变量只能被赋值一次,一旦赋值后就不能更改。

可以使用关键字static final设置一个类常量。

4.运算符

除以零:

整数被0除将会产生一个异常。

而浮点数被0除将会得到无穷大或NaN。

位运算符:

&&和||按照短路方式求值,但位运算符&和|不按短路方式进行计算。

>>和<<进行二进制位的右移或左移,当需要构建位模式屏蔽某些位时,使用这两个运算符十分方便。

>>>运算符将用0填充前面的位;>>运算符用符号位填充左边的位,没有<<<运算符。

对移位运算符右侧的参数需要进行模32的运算。

数学函数与常量:

Math类中,包含了各种数学函数。

从JDK 5.0开始,不必在数学方法名和常量名前添加前缀Math,只要在源文件的顶部加上下列内容:

Import static java.lang.Math.*;

5.字符串

标准类库中提供了预定义类String。

字符串由char值序列表示。char数据类型是一个采用UTF-16编码表示Unicode代码点的代码单元。大多数的常用Unicode字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示。

length方法将返回采用UTF-16编码表示得给定字符串所需要的代码单元数量。

substring方法提取子串,第二个参数为不想复制的第一个代码单元,s.substring(a,b)将包含b-a个代码单元。

不能修改字符串中的字符。不可变字符串的优点:编译器可以将字符串共享。

字符串存放在公共存储池中,字符串变量指向池中相应的位置。

Java字符串不是字符型数组,而是char* 指针。

两个字符串可以用+号拼接。

检测字符串相等:

使用equals方法检测两个字符串是否相等。如果不区分大小写,可以使用equalsIgnoreCase方法。

==运算符只能够确定两个字符串是否被放置在同一个位置。

posted @ 2012-08-14 22:38  圣骑士wind  阅读(1432)  评论(0编辑  收藏  举报