写这个博客,是我的老朋友建议的。他希望我能写一写博客来介绍Java语言,虽然我也是个二把手,但我也想写一写。这篇博客会把Java和c捆绑在一起类比介绍。但肯定会损失Java编程的很多好处,可是没关系,这篇文章就是为了Java能够直接上手。先是把C语言中概念比照一下Java,让人直接上手,燃起对Java乐趣。
一.类
Java中的类有点儿像C语言中结构体,我们可以把类当作一种特殊的自定义结构体,但是这种结构体又和函数绑定在了一起。
Java中对类是按引用调用,也可以认为Java中所有的类都是指针类型,要创建一个类的对象,得先创建引用。就可当作在C创建了一个指针。指针需要malloc 引用需要new。
在C中我们对指针分配的空间并不看重,在Java中我们new出来的空间有个专门的名字——对象。我们可以把对象这么粗糙理解一下。
struct Example
{ int name;
char ok;
}
struct a;//创建C中结构体
struct Example* = molloc(sizeof(struct Example));
class Example
{
int name;
char ok;
public void xxxx(xxxx)
{ return;}
}
Example example//引用 = new Example()//对象;
上面的表述是极其不严谨的,如果我想写有后续,我将在专门介绍类,对象,引用的博客写一点儿东西。
二.主函数变成定义在类中主函数
与C不同,Java一切行为必须在类中进行。C围绕着主函数运行,而Java可以说主函数也必须在类中,不同类都可以定义主函数。在运行的时候需要向控制台中输入信息确定你需要的主函数,IDE中不是必须的。
类中主函数的定义要求比C严格。必须严格规定一下的限定操作符,public,void,static而且必须要定义参数
public xxxx//主函数定义的类
{
public void static main(String args[])
{
xxxxx
}
}
三.函数的定义调用
我们把函数当作类中的成员,在Java中我们把函数叫作方法,成员变量叫字段,一下不使用函数叫法。
既然是类中的成员Java的方法调用就和调用字段是一样的,类名.方法名
例如Java常用的输出方法
System.out.println();
//System类,下属的out内部类,的println方法。
方法的调用与C差距不大,只是注意Java中的对象是类似于C的指针,所以一切对对象的修改都会影响他本身.我们后面会知道我们传递的是一个Java引用。这就是按引用调用。
方法的定义,定义方法基本是与C中定义函数相同,但是必须定义在类中。
四.一个简单的数组排序程序和调用
#include <stdio.h>
void Sort(int paixushuzu)
{ for(int counter1 = 0;counter1<10;counter1++)
{
int mink=counter1;
for(int counter2 = counter1+1;counter2++)
{
if(paixushuzu[mink]<paixushuzu[counter2])
{ mink =counter2;}
}
Swap(&paixushuzu[mink],&paixushuzu[counter1]);
}
}
void Swap(int* a,int* b)
{
int temp = *a;
*a = *b;
*b = *a;
}
void main()
{
int paixushuzu[10] = {0,2,3,4,1,6,9,8,10,5};
int mink=0;
Sort(paixushuzu);
}
}
public class test
{
void static main()
{
int paixushuzu[] = new int[10]();
Sort.sort(paixuzhuzu);
}
class Sort
{
void Sort(int paixushuzu)
{
int temp;
for(int counter1 = 0;counter1<10;counter1++)
{
int mink=counter1;
for(int counter2 = counter1+1;counter2++)
{
if(paixushuzu[mink]<paixushuzu[counter2])
{ mink =counter2;}
}
temp = paixushuzu[mink];
paixushuzu[mink] = paixushuzu[counter2];
paixuzhuzu[counter2] = temp;
}
}
}