轩辕编程(Java第二讲):Java概述

发布时间:2024年01月24日

这一篇博客,主要是继续让大家对Java有一个了解,如果说上一篇博客是让大家对比C和Java,那么这一篇博客是为了让大家简单了解一下Java,粗略地讲了下其面向对象的特点.整篇博客都可以是了解即可

首先在学习Java之前,大家得了解到Java是一个面向对象的语言,而之前所学的C是面向过程的语言.至于对象是什么,在Java里,万物都是对象,具体的内容会在后续章节中讲到.为了让大家对面向对象有个初步的认识,拿上一篇博客的代码来进行举例

import java.util.Scanner;//导入Scanner库,因为代码中需要输入内容
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//Scanner类创造一个对象sc
        int a = sc.nextInt();//输入a
        int ge = a % 10;
        int shi = a / 10 % 10;
        if (a >= 10 && a <= 99) {
            System.out.println(shi + " " + ge);//输出
        } else if (a <= 999) {
            int bai = a / 100 % 10;
            System.out.println(bai + " " + shi + " " + ge);
        }
    }
}

我们重点来看这三行代码

import java.util.Scanner;//导入Scanner库,因为代码中需要输入内容
Scanner sc = new Scanner(System.in);//Scanner类创造一个对象sc
int a = sc.nextInt();//输入a

其中第一句叫作导包,导入java(包).util(子包).Scanner(类),从大家所学的C语言可以先理解成#include的操作,主要是为了使用一些Java已经写好的代码,比如这里的Scanner,Scanner是一个类,所以在第二句中我们利用Scanner这个类创建出了一个对象,这个对象为sc,new关键字是用来创建对象时使用的.第三句是使用对象的方法(nextInt就是方法名,至于System.in暂时不是重点,就是一个参数).可以暂且先理解成Java里的方法就是C语言里的函数.但大家应该也能感受到不同了,在C语言中,我们调用函数时,都是函数名(参数...),而在这却是对象名.方法名(参数),这也就是Java面向对象语言的特点.先有类(类中一般会定义好成员变量和成员方法等),再由类来创建对象,最会由对象调用方法.当然在Java中,也有一种情况是类名.方法名来使用方法.

有了上面的分析,大家可以来看看下面这段代码(也是上篇博客的代码)其中的两句话

import java.util.Arrays;//后续调用Arrays.fill
import java.util.Scanner;
 
public class Main {
    public static int []dist=new int[48];
    public static int fib(int n){
        if(n==0 || n==1){
            return n;
        }
        if(dist[n]!=-1){
            return dist[n];
        }
        dist[n]=fib(n-1)+fib(n-2);
        return dist[n];
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Arrays.fill(dist,-1);//使数组初始化为-1
        System.out.println(fib(n));
    }
}
import java.util.Arrays;
Arrays.fill(dist,-1);//使数组初始化为-1

第一句,大家已经能清楚了,这就是导入java(包).util(子包).Arrays(类),从而能使用Arrays这个(工具)类中的反方法.但到了第二句,诶,是不是有点奇怪了,怎么没有创建对象了,而是直接类名.方法名了,因为Arrays是一个工具类,里面的方法都是有static修饰的,所以只能用类名.方法名的形式,这一块大家暂时不用弄清楚,只需了解即可,后续在类和对象章节中会进一步阐述.

我想此时,大家也有点理解为什么Java一个输出,要用System.out.println()这样的写法了吧,也是为了体现出其面向对象的特点

我想,到现在大家可能对面向对象有了那么一丝的了解.那就暂时足够了.

那么接下来我们来学习学习Java的特点吧(了解即可)

1.跨平台特性:也就是说一个应用程序可以在不同的操作系统平台上运行,也就是所谓的"Write Once,runanywhere",

2.完全面向对象和简单性

3.可靠性

4.安全性

接下来再说说Java对C语言基本语法的一些改进(了解即可)

1.不支持全局变量和宏替换,使用最终变量代替宏替换,避免全局变量和宏替换副作用。

2.为每种数据类型分配固定长度,实现数据类型的跨平台特性。

3.进行类型相容性检查,防止不安全的类型转换。

4.不支持goto语句。

5.不支持指针类型,通过引用模型实现了指针的功能。

6.不支持结构类型,使用类代替;不支持联合类型。

7.不支持头文件,用import语句声明导入指定包中的类或接口。

8.内存动态存储且自动管理,动态申请数组和对象的存储空间,自动释放空间,没有指针操作方式。

文章来源:https://blog.csdn.net/weixin_60268064/article/details/135744385
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。