Java入门—学习笔记[2]

1、数据类型:
  (1)Java中有8中基本类型,4种整型,2种浮点类型,1种表示Unicode编码的字符类型char和1种表示真值的boolean类型。
  (2)Java中的“big number”,表示任意精度的算术包,但不是一种新的Java类型,而是一个Java对象
  (3)在Java中,所有的数值类型所占据的字节数量与平台无关,也没有任何无符号类型。这在C和C++中,int表示的整型与目标相关。
  (4)浮点数中的三个特殊表示一处和出错的值:分别是正无穷大、负无穷大和NaN(不是一个数字)。值得注意的是,所有“NaN(非数值)”的值是不相同的,所有不能检测一个人特定值是否等于NaN。
  (5)char类型是一个字符类型的数据类型,但是存在编码的不同,所以在程序中不建议使用。最好把需要处理的字符串用抽象数据类型表示。
  (6)boolean类型,在Java中,数值不同替代boolean值;比如if(x=0)是不同通过测试,但在C/C++中可以的。
  (7)C和C++区分变量的声明和定义,声明数据类型,不初始化。定义包括初始化。这一点在Java中,变量只有声明一说,且要进行初始化。
  (8)在Java中,final声明的是常量,表示这个要被声明为常量的变量只能赋值一次,通常用大写表示变量名。如果希望在一个类中的多个方法都可以使用,只需要使用关键字“static final”声明为类常量。但是注意要声明在这些方法外部。若一个常量被声明为public,那么其他类的方法也可以使用这个常量。Const是Java保留的关键字,以备扩充,所以,必须使用final定义常量。
  (9)在Java中,运算过程中,若是int/0=异常,若float/0=无穷大或NaN。
  (10)数值类型之间的转换:实线表示无损转换,虚线表示有损转换。
          这里写图片描述
  (11)Java中没有内置的字符串类型,但提供了一个预定义类String。所以每个用双引号括起来的string都是String类的一个实例。
  (12)由Java字符串的不能修改,所以在String类对象称为不可变字符串。但可以使用greeting.substring(x1,x2)+”*“形式实现。考虑到运行效率,不可变字符串有一个优点:编译器可以让字符串共享。
  (13)检查字符串是否相等:使用s.equals(t),若s==t,则返回ture;否则为false。s和t可是变量,也可以是常量。不区分大小写,则使用equalsIgnoreCase()。注意:不能使用==判断字符串是否相等,因为这个运算符只判断两个字符串是否放在同一个位置上。实际上,只有字符字符串常量是共享的。
  (14)空串与Null串:空串是str.length()==0或者str.equals(“”)。说明空串表示为”“。空串是一个对象。有自己的串长度(0)和内容(empty)。但string变量可以赋值为null,表示没有任何对象与该变量关联。即是str==null。
  (14)字符串拼接:使用StringBuilder类构造空的字符串和append()拼接,调用出来使用toString()。
  (15)字符串文件的输出和输入:输入,构造一个Scanner对象,Scanner in =new Scanner(Paths.get(“myfile.txt”)),注意路径包含多级,则需要加入反斜杠。写入文件,使用PrintWriter out=new PrintWriter(“myfile.txt”)
  (16)block:不能再嵌套的连个块中声明同名的变量,这一点与C++不同。
  (17)数组:是一种数据结构,存储同一类型值的集合。声明时,数组长度可以不是常量,例如new int[n]>。对象数组的元素初始化是null,比如String name[] = new String[10];数字数组是0。数创建之后,是不能改变大小的,如果经常需要扩展数组的大小,就应该使用另一种数据机构——数据列表(array list)。
 (17)数组:增加版的for 循环。for(variable : collection),比如,

    for(int element:a)
    {
        System.out.println(elemenrt);
    }

表示,循环a中的每一个元素。

  (18)数组的初始化还可以用集合直接初始化,不需要new。还可以声明一个匿名数组,例如, new int[]{17, 19,23}
  (19)**main命令行参数:**String arg[]是命令行参数,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值