JAVA学习划重点第一部分

来源:互联网 发布:天猫和淘宝是什么关系 编辑:程序博客网 时间:2024/05/07 13:03

学习Java笔记,与C/C++比较


一,基本数据类型

1、基本类型:byte(8),short(16),int(32),long(64),float(32),double(64),char(16),boolean(1)
2、对象类型:Byte,Short,Integer,Long,Float,Double,Character,Boolean

要注意的是char是2byte,C中是1byte,所以它几乎可以囊括所有的字符,包括中文字,另外就是对象类型是对基本类型的包装类。

float f1 = 7.1F;//java可以直接在类里初始化,需加fdouble d1 = 7.1;//d可加可不加long l1 =-123L;//long需要加Lfinal double PI = 3.14;//常量//--------移位操作long l2 = l1>>>1;//注意这个是无符号右移,最高位补0,无论正负System.out.println(l2);l2 = l1>>1;//最高位保持不变System.out.println(l2);l2 = l1<<1;//最低位补0System.out.println(l2);

输出结果如下:

9223372036854775746-62-246

移位操作负数要注意原码反码补码问题。


二,数组的定义与初始化

与c/c++相比,java的多维数组定义初始化简直太方便了

//一维数组定义以及初始化方式int arr1[];//方法一arr1 = new int[5];int arr2[] = new int[5];//方法二int arr3[] = new int[]{1,2,3,4,5};//方法三int arr4[] = {2,3,4,5};//方法4   //二维数组定义以及初始化方式   int a2rr1[][];//方法一a2rr1 = new int[2][3];int a2rr2[][];//方法二a2rr2 = new int[2][];a2rr2[0] = new int[3];a2rr2[1] = new int[4];int a2rr3[][] = {{1,2},{3,4,5}};//方法三int a2rr4[][] = new int[][]{{1},{2,3},{4,5,6}};//方法四

多维数组类推,还可以定义不对称数据,如二维数组的方法二。


三,String类常用的几个方法罗列如下

public String[] split(String regex)
将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组

public int length()
返回字符串的长度;

public int indexOf(String str)
返回字符串中第一次出现str的位置;

public String toUpperCase()
返回一个字符串为该字符串的大写形式;

public String toLowerCase()
返回一个字符串为该字符串的小写形式

public String substring(int beginIndex)
返回该字符串从beginIndex开始到结尾的子字符串;

public String substring(int beginIndex,int endIndex)
返回该字符串从beginIndex开始到endsIndex结尾的子字符串


四,类

刚开始学java时,肯定有过跟我一样的经历,与C++比较,会发现区别还是很大的,且在eclipse使用是,注意:

一个project可以有若干个package,

一个package可以有多个java的源文件

一个源文件的主类必须是public,类名与文件名相同,且只能有一个主类,被修饰为public,其他类不能修饰为public。

如下层次结构能够看到在默认包中有多个源文件。


1,类的修饰符

C++中类是没有修饰符的,只有在继承的时候才有修饰是什么类型的继承。

类的修饰符分为:

(1)可访问:公共类修饰符 public。

          最多只能有一个public 类,也可以一个都没有;规定文件名只能public 公共类的类名称一致;

         公共类是指这个类可以被所有的其它类或其它包中的类访问和引用,是可见的、可以使用的。


(2)不加修饰符:class前面没有加任何的访问修饰符,通常称为“默认访问模式”,在该模式下,这个类只能被同一个包中的类访问或引用。


(3)不可访问:抽象类修饰符 abstract,接口亦为抽象类,需要被继承重写之后才能被使用。

                  

(4)最终类修饰符:final,当一个类不可能有子类时可以用修饰符 final把它说明为最终类,final类是不允许被继承。


2,类成员变量的修饰符

public:      定义变量为公共的,可以被对象直接访问。

protected:定义变量可以别被本类和子类访问。

private:     定义变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

friendly:    若不写修饰符即默认为friendly,在同一个包中的类可以访问,其他包中的类不能访问。


其他与类无关的修饰符:

final: 最终修饰符,指定此变量的值不能变。

static: 变量属于这个类。

volatile:(易失性)表示变量可以同时被几个线程修改。


3,类成员方法(在C++中称为成员函数)修饰符

public: 类以及子类的所有对象都可以调用该方法

protected:可以被它的类和子类调用该方法。

private:自己类等方法访问,其他的类不能访问(包括子类)


其他与类无关的修饰符:
final:该方法不能被重载。

static:不需要实例化就可以使用的方法。

          静态方法中不能调用非静态方法和变量,不能使用this

synchronize:用于多线程中的同步操作,同一时刻只能有一个线程对该方法的访问。







原创粉丝点击