【Java初级教程1】Java的概念和基本语法


Java是一种广受程序员和企业亲赖的语言,具有良好的就业形势,且具有 代码开源、跨平台兼容、强性能的特性。因此,具有对Java语言的熟练掌握是十分有必要的。

在《Java初级教程1》中,我们采用以下的学习路径来完成对于Java初级知识的学习。

Java初级教程1涉及内容
Java基础知识Java的编译到运行+Java的基本概念+编译器推荐
Java基本语法工程、新建与输入+包、类、对象
Java类的应用封装+继承、接口+多态+应用
Java异常处理异常的概念+声明异常、抛出异常+自定义异常
Java数据库编程数据库概念+数据库编程+Java的数据库编程
Java窗多线程编程多线程概念+线程控制+线程同步
Java窗口面板、组件、布局+交互应用
Java网络通信网络通信概念+TCP编程+UDP编程

一、Java的基本运行原理

Java是一种面向对象的编程语言,之所以称之为面向对象,是因为在其应用中,多把事物给对象化,包括其属性行为。(这点我们在在以后学习“”这个概念的过程中会提到)
在这里插入图片描述

1.1 Java的编译到运行

.java
编译器
.class字节码
JVM

1).java:Java源程序文件。
2).class:经过编译后的字节码文件,是一个二进制文件。必须在Java虚拟机中才能运行。

.class字节码
JVM for Windows
JVM for MAC
JVM for Unix

3)Java虚拟机结构:Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
在这里插入图片描述

1.2 JVM/JRE/JDK的概念

JDK
编译器等开发工具
JRE
基础类库
JVM
  1. JVM:Java Virtual Machine(Java虚拟机),在实际的计算机上仿真模拟各种计算机功能。同时,每个操作系统都有自己的JVM。
  2. JRE:Java运行环境(Java Runtime Environment)是一个软件,由太阳微系统所研发,JRE可以让计算机系统运行Java应用程序。面向Java程序的使用者。
  3. JDK:Java开发过程中使用的工具包(Java Development Kit)。面向Java程序的开发者。

1.3 Java的软件推荐

在撰写代码的过程中,使用一款高效的编译软件是很有必要的,在这里我推荐两个比较实用的编译软件。

1. IntelliJ IDEA(下载地址:link)
2. My Eclipse(下载地址:link)
IDEA的代码提示功能
My Eclipse的代码补提示功能

之所以推荐这两款软件,是因为他们都具有非常强大的代码补全和提示功能(界面的效果也很好看),有助于开发者对于Java结构的理解和撰写。(在整篇文章后面的讲述中我们用IDEA作为背景)

二、Java的基本语法

2.1 工程、新建与输出

Java是一种面向对象的编程语言,因为在撰写的过程中,他以(class)为基础,在其中添加自有的成员变量成员方法,通过这样的方式构建成Java最基础的代码体系。

成员变量
成员方法

因此,在编译软件种撰写Java代码的时候,通常遵循以下步骤。

新建Project
新建Class
名字
类编写
编写主类main完成程序实现

【例1】比如,当我们编写一个简单的程序,目的是在控制台显示Hello World!。
在这里插入图片描述
我们先新建一个项目用来存放Class文件。
在这里插入图片描述
在主函数区域,我们编写代码。在Java语法种,输出的指令是。

System.out.println("Hello World!");

输入后,我们点击右上角的运行按钮可以在控制台中得到想要的结果。
在这里插入图片描述

2.2 包、类、对象与输入

2.2.1 包的概念

要想充分理解java总程序的编写方法,首先必须明确的概念。

——java程序是由一个public类和众多非public的类组成,在java程序的第一行加入“package 包名称;”,就可以把*.class文件保存在相应的包内。这样可以避免相同类名的冲突。

Project
包1
包2
类1
类2
类1
类2
类3

Java开发工具包已经由开发者存储了一些包,也存储了一些实现不同小功能的基本方法,诸如数据的读取,对象的创建,以及网络编程等。

包名称包功能
java.lang提供了Java语言进行程序设计的基础类,它是默认导入的包。具有Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类等。
java.util提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类
java.io文件系统、数据流和序列化提供系统的输入与输出。
java.sql使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
javax.swing、java.awt提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
java.net提供实现网络应用与开发的类,诸如Socket等。

在撰写程序并且需要使用到包的时候,我们需要对他进行调用,通常在程度的最开头的位置,并且我们采用这样的方式。(“.*”指调用java.util包中的所有内容)

import java.util.*;

我们也可以发现,在整个java.util包中,可以调用的内容会具体的通过代码提示显示出来,我们也可以选择使用。
在这里插入图片描述

2.2.2类的概念

在java中,类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型。它是对所具有相同特征实体的抽象。在一个类中,通常包含三个概念:构造方法+成员变量+成员方法。

具有相同特征的实体
构造方法
成员变量
成员方法

1)构造方法:是在进行类的对象创建使用的时候,有助于预先给类定义的方式。(如果我们定义一个名为Person的类,我们可以为它赋予这几种不同但不仅有这几种的构造方法)

    class Person{
        Person(){
            
        }
        Person(int height,String name){

        }
        Person(int age,int height,String name){
            
        }
    }

2)成员变量:成员变量是局部变量方法里定义的变量,用来进行类表示的数据的存储和处理。(我们给Person类添加成员变量)

    class Person{
        int age;
        int height;
        String name;
    }

3)成员方法:成员方法是局部变量方法里定义的方法,用来进行类可以执行的自定义操作。
(我们给Person类添加成员方法)

    class Person{
        int age;
        public int getAge(){
            return age;
        }
    }

4)一个比较具体的类。(包含构造方法、成员变量、成员方法的Person类)

class Person{
        int age;
        int height;
        String name;
        Person(){ }
        Person(int height,String name){
            this.height=height;
            this.name=name;
        }
        Person(int age,int height,String name){
            this.age=age;
            this.height=height;
            this.name=name;
        }
        public int getAge(){
            return age;
        }
    }

2.2.3对象的概念

在编写程序的过程中,由于需要对各种包中的类,或者我们自己编写的类进行调用。需要我们采用实例化的方式进行,有时候我们也可以称对象的实例化。对象实例化的过程如下:

调用对象所在包
确定所要使用的类
创建对象
调用对象方法

更深层次一点理解这个问题,我们可以用这样的方法解释它。

  1. 我们用关键词class定义一个类其实只是定义了一个类的模板,没有在内存中实际产生一个类的实例对象,也没有分配内存空间
  2. 要想在内存中产生一个类的实例对象就需要使用new关键字申请分配内存空间,加上类的构造方法提供申请空间的大小规格,在内存中实际产生一个类的实例。
  3. 一个类使用 new 加此类的构造方法,执行之后就在内存中分配了一个此类的内存空间,有了内存空间就可以向里面存放定义的数据和进行方法的调用了。
  4. (我们用一个例子来解释这一点)

【例2】输入一串数字并且在控制台中打印出。
读取输入的方法集成在java.util包中。

1)调用Scanner对象所在的包java.util

import java.util.*;
  1. 创建一个以Scanner为类的sc对象。
 Scanner sc=new Scanner(System.in);

3)调用sc的成员方法存储输入数据。

int i=sc.nextInt();

4)输出刚才输入的数字。

 System.out.println(i);

这样,通过调用需求包,创建对象实例化,调用成员方法,完成输出操作。一个基本的输入输出操作就完成啦。(完整代码如下)

import java.util.*;
public class Main {
    public static void main(String[] args) {
	    Scanner sc=new Scanner(System.in);
        int i=sc.nextInt();
        System.out.println(i);
    }
}

(在教程中如果有不对的地方欢迎指出和建议QAQ)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R.e.&Knight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值