写在前面
经过大半个月断断续续的Java学习,在语法上对Java有了一定程度的理解。有C语言基础的我,在初学Java的时候,相对来说是轻松的,因为很多Java中很多语法和C相通,不需要重新学习,因此这段时间,我把重心放在了Java语言应用熟练程度的训练上。将几个C语言经典题,用Java写了一遍,顺便研究了一下Java和C的不同之处。
面向对象与面向过程
C和Java一个最大的区别就是:C采用的是面向过程的编程方法,而Java则采用的是面向对象的方式。
面向过程
面向过程即将解决问题的过程分解成一个一个步骤,每个步骤在函数中按顺序实现,最后在主函数中依次调用,是一个按时间线性编程的过程。
面向对象
面向对象将问题分解成多个抽象化的对象,每个对象中定义了自身的方法和属性,类似一个独立的程序,是一种高度模块化的做法,最后按需求整合在一起。是一个空间化拼接编程的方法,其代码量相对C较大,效率较低,但是就拓展性和后续的维护性来说是C没法相比的。
C经典题目Java实现
求水仙花数
public class narcissisticNumber{
public static void main(String[] args){
int num1,num2,num3;
for(int i = 100;i<999;i++){
num1 = i / 100;
num2 = i / 10 % 10;
num3 = i % 10;
if(num1*num1*num1+num2*num2*num2+num3*num3*num3 == i)
System.out.print(i);
}
}
}
成绩分级
public class gradeType{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入你的成绩:");
double score = input.nextDouble();
if (score>=90&&score<=100)
System.out.println("A");
else if (score>=80&&score<90)
System.out.println("B");
else if (score>=70&&score<80)
System.out.println("C");
else if (score>=60&&score<70)
System.out.println("D");
else if (score<60)
System.out.println("E");
else
System.out,println("Print error!")
}
}
1000以内被3整除
public class thousandDiv3{
public static void main(String[] args){
for(int i=1;i<=1000;i++)
if (i % 3 ==0)
System.out.printf("%d\n",i);
}
}