首页 > 代码库 > java基础知识《JAVA 核心技术》学习笔记(一)

java基础知识《JAVA 核心技术》学习笔记(一)

一:数据类型
 
     (1)java整形:

     类型                         存储要求

     int                              4字节
     short                          2字节
     long                           8字节
     byte                           1字节

          (2)浮点类型

     类型                         储存要求

     float                          4字节
     double                       8字节

     float类型的数值有一个后缀F。没有后缀F的浮点数值默认为double类型。
 
     浮点数值不适用与禁止出现舍入误差的金融计算中。例如:
System.out.println(2.0-1.1);
的结果是0.8999999999999999,
 
     而不是我们认识的0.9。其主要原因是浮点数值采用二进制表示,而在二进制系统中无法精确的表示分时1/10。这就好像十进制无法精确的表示1/3一样。如
 
果需要再数值计算中不含有任何舍入误差,这就应该使用BigDecinal类。
 
二:变量
     
     声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不要使用未被初始化的变量。
 
三:常量
 
     在JAVA中,利用关键字final指示常量。关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能在更改。习惯上,常量名使用全大写。在java
 
中,经常希望某个常量可以再一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final设置一个常量。
 
四:数值类型之间的转换
     
     1.如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
     2.否则,如果其中一个操作数是float类型,另一个操作数就会转换为float类型。
     3.否则,如果其中一个操作数是long类型,另一个操作数就会转换为long类型。
     4.否则,两个操作数都将被转换成int类型。
     
     强制类型转换:强制类型转换的格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。例如
      
double x = 9.97;int nx = ((int)x);
     如果试图将一个数值从一个类型强制转换为另一种类型,而又超出了目标类型的表示范围,结果就会截断成一个完全不同的值,例如:                      
     
System.out.println((byte)300);
控制台输出的值实际为44。
 
五:字符串
     
     每个用双引号括起来的字符串都是String类的一个实例,例如:
     
     String e = "";
     String greeting = "hello";
     
     1.子串
     
          String类的substring方法可以用一个较大的字符串中提取出一个字串。例如:
          
String greeting = "hello";String s = greeting.substring(0,3);
创建了一个有字符"hel"组成的字符串。
     
     2.拼接
     
          当将一个字符串与一个非字符串的值进行拼接时,后者将被转换成字符串,例如:
         
int age = 13;String rating = "PG"+age;
     3.不可变字符串
      
          String类没有提供用户修改字符串的方法。在JAVA文档中将Stirng类对象称为不可变字符串,如同数字3永远是数字3一样,字符串"hello"永远包含字符h          
 
     、e、l、l和o的代码单元序列,而不能修改其中的任何一个字符。当然,可以让它引用另外一个字符串。
     
     4.空串与Null串
          
          空串""是长度为0的字符串。空串是一个java对象,有自己的长度和内容。不过,String变量还可以存一个特殊的值,名为null,这表示目前没有任何对象     
     
     与该变量关联。有时候要检查一个字符串既不是null也不为空串,这种情况下就要使用以下条件:
     
if(str != null && str.length() != 0)
   
      首先要检查str不为null。如果在一个null值上调用方法,会出现错误。
     
六:构建字符串
     
     有些时候,需要由比较短的字符构建字符串。采用字符串连接的方式达到此目的的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗时,
 
又浪费空间。使用StringBuilder类就可以避免这个问题的发生。如果需要用许多小段的字符串构建一个字符串,那么首先应该构建一个控的字符串构造器:
     
StringBuilder builder = new StringBuilder();
,当每次需要添加一部分内容是,可以调用append方法:
builder.append("hello");builder.append("world");
。在需要构建字符串时就调用toString方法,就可以得到一个String对象
String str = builder.toString();