java与C的某些区别

来源:互联网 发布:网络大学有什么专业 编辑:程序博客网 时间:2024/06/04 01:09
1.定义常量:  final char A="w";(用final表示该类型为常量)——常量名一般大写;


2.char:   兼容char a='男';(在C中字符不能赋予汉字);


3.比较:  如(a>b)在JAVA中返回的是布尔值,TURE或FALSE而非0或1;


4.逻辑运算符:  在JAVA中比C多一种运算符——亦或运算符:(a^b)——表示有且仅有一个为真时返回TURE;


5.字符串的比较:“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。
比如:
String s1,s2 = "abc" ;
s1 = new String("abc");
s2 = new String("abc");
  那么:
s1==s2   是 false      //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
故不相等。
s1.equals(s2) 是 true    //两个变量的所包含的内容是abc,故相等。


6.导入工具包: 在package下一行,使用import导入   如:import java.util.Scanner(导入此包后才能使用输入功能)


7.实现输入功能: 1.导入Scanner工具包     
2.在函数内创建Scanner对象    如:Scanner input(设置对象名称,可以任意起,但一般为input)=new Scanner(System.in);
3.对象创建成功后即可使用输入功能  如:int a=input.nextInt()   String a=input.next()  doule a=input.nextDouble()


8.输出:System.out.println() 会自动换行,但System.out.print()不会 


9.生成随机数:通过 (int)(Math.random() * 100) 生成 100 以内的随机数
注:Math 类是用于进行算术操作的类,Math.random() 生成 0--1 的浮点数。 


10.静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
如: HelloWorld test=new HelloWorld();
System.out.println(     test.className            );
在普通成员方法和构造方法中,则可以直接访问同类的非静态变量和静态变量
静态方法中不能直接调用非静态方法和构造方法,需要通过对象来访问。但可直接调用静态方法;
   


11.数组复制:
char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n','a', 't', 'e', 'd' };
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 0, copyTo, 0, 5);
则copyTo=caffe;


12.构造函数名必须与类名相同;


13.this.可以调用当前对象的方法和变量(this不能在静态方法中使用);


14.非静态内部类的对象创建:1.先创建外部类对象o    2.再创建内部类对象Inner i=o.new Inner();    即i为内部类的对象;


15.静态内部类的对象创建:直接和外部类对象创建相同:Inner i=new Inner();


16.final的用法:
final -类不可继承
final-方法不可被重写
final-属性必须赋值,或者在构造函数赋值且不可修改
final-变量不可修改值


17.接口:Interface创建接口
   implements实现接口(Implements关键字放在class声明后面,可有多个接口)


18.文本操作的各种方法
import java.io.*;—文件操作流
System.getProperty("user.dir")—返回当前默认路径
File f1 = new File(way,name+".txt");—在路径way中创建一个叫name.txt的文本文件,way可以不声明,则使用当前路径
f1.exists()—若(way没声明)查找当前路径该文件是否存在并返回boolean值,声明way则在路径way里创建
f1.createNewFile();—(若way没声明)若不存在,则在当前创建文本,若声明way则在路径way创建
f1.getAbsolutePath()—返回f1的路径。
Reader r = null;—reader对象不能直接实例化所以不能使用Reader r = new reader();
r = new InputStreamReader(new FileInputStream(a));
r.read()—读取一个字符(返回ASCII码值,结束字符为-1),可加参数char[] cbuf则将字符存于数组


19.多线程问题:Runnable接口实现的线程便于资源共享。而通过Thread类实现,各自线程的资源是独立的,不方便共享。
原创粉丝点击