Java语言概述

第1章  Java概述

 

1.1 Java语言概述

     首先看什么是Java呢?

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE, JavaME)的总称。   Java是一个纯的面向对象的程序设计语言。

    Java的特点:Sun公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

 

有的同学对C也感兴趣,看看他们的区别吧

1.2 Java与c/c++的关系与比较:

C语言出现最早,在上世纪70年代初问世的,发展的比较早。当今最流行的程序设计语言之一。可以说Java是在c语言的基础上发展起来的完全面向对象的高级语言。Java与C的相似之处远多于不同之处,Java的语法基础继承或相似于C语言,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。尤其是,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。从这几方面说来,Java显得更加方便。



1.3 javaEE概述,什么是JavaEE呢?

1.3.1为什么需要JavaEE

我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展。当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担。

为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发

 

1.3.2什么是JavaEE

JavaEE是一个开发分布式企业级应用的规范和标准。

Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(JavaPlatform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Platform Micro Edition,Java标准版)、适用于企业应用的JavaEE(Java Platform Enterprise Edition,Java企业版)。

 

1.3.3JavaEE包括的技术

JavaEE应用程序是由组件构成的。J2EE组件是具有独立功能的单元,他们通过相关的类和文件组装成JavaEE应用程序,并与其他组件交互。

JavaEE包括的技术有:Web Service、Struts、hibernatespring、JSP、Servlet、JSF、EJB、JavaBean、JDBC、JNDI、XML、JavaSE。

 

1.3.4什么框架

框架即Framework,我们可以把框架理解为某种应用的半成品,就是一组组件,供用户选用,完成用户自己的系统。简单地说就是使用别人准备好的组件,来实施自己的项目。

 

1.3.5 JavaEE与框架的关系

框架技术是在JavaEE的基础上形成的,而应用程序是在框架的基础上创建的。

 

1.3.6、  JavaEE的体系结构

应用程序的三层结构如下:

表示层:由用户界面和用户生成界面的代码组成。

中间层:包含系统的业务和功能代码。

数据层:负责完成存取数据库的数据和对数据进行封装。

三层体系结构的优点:

一个组件的更改不会影响其他两个组件。例如:如果用户需要更换数据库,那么只有数据层组件需要修改代码。同样,如果更改了用户界面设计,那么只有表示层组件需要修改。

由于表示层和数据层相互独立,因而可以方便地扩充表示层,使系统具有良好的可扩展性。

代码重复减少,因为在3个组件之间尽可能地共享代码。

良好的分工与协作。这将使不同的小组能够独立地开发应用程序的不同部分,并充分发挥各自的长处和优势。

 

1.4 JVM,JRE,JDK的概述

1.4.1   什么是跨平台?

平台:指的是操作系统(Windows,Linux,Mac)

跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行

原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)


1.4.2    JVM  JRE   JDK
说明

A:什么是JVM

JVM是java虚拟机(JVMJava Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台

B:什么是JRE

包括Java虚拟机(JVMJava Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

       JRE:JVM+类库。

C:什么是JDK

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

       其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等

       JDK:JRE+JAVA的开发工具。

D:为什么JDK中包含一个JRE

       为什么JDK中包含一个JRE呢?

       开发完的程序,需要运行一下看看效果。

E:JDK,JRE,JVM的作用和关系

JDK包含JRE和开发工具包

JRE 包含 核心类库和JVM


1.5  helloworld案例

1.5.1   编写代码步骤

首先定义一个类

public class 类名

在类定义后加上一对大括号{}

在大括号中间添加一个主(main)方法/函数

public static voidmain(String [] args){ }

在主方法的大括号中间添加一行输出语句

System.out.println(“HelloWorld”);


1.5.2    案例代码一

 

1

2

3

4

5

public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("HelloWorld");

    }

}

运行代码步骤:

•       在命令行模式中,输入javac命令对源代码进行编译,生成字节码文件

–      javac 源文件名.java

•       编译完成后,如果没有报错信息,输入java命令对class字节码文件进行解释运行,执行时不需要添加.class扩展名

–      javaHelloWorld

 

 

第2章  环境配置

 

 

2.1 工具安装

2.1.1 Notepad软件的安装和配置

      为了让我们写的程序错误看起来更直接,我们安装一款高级记事本软件。

      Notepad软件的安装和配置

      设置 – 首选项 – 新建 –默认语言和编码


2.2  环境变量配置

2.2.1 案例说明

为什么要配置

–     程序的编译和执行需要使用到javac和java命令,所以只能在bin目录下写程序

–     实际开发中,不可能把程序写到bin目录下,所以我们必须让javac和java命令在任意目录下能够访问

如何配置

–     创建新的变量名称:JAVA_HOME

计算机-右键属性-高级系统设置-高级-环境变量-系统变量

–     为JAVA_HOME添加变量值:JDK安装目录

–     在path环境变量最前面添加如下内容

%JAVA_HOME%\bin;

 


2.3  注释

2.3.1   注释概述

A: 什么是注释

 用于解释说明程序的文字

B: Java中注释分类

单行注释

 格式: //注释文字

多行注释

 格式: /*  注释文字  */

文档注释

 格式:/**注释文字 */

C: 注释的作用

        a:解释说明程序

        b:帮助我们调试错误

2.4  关键字

2.4.1   关键字概述

 被Java语言赋予特定含义的单词

2.4.2   关键字特点

 组成关键字的字母全部小写

 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。

 

第3章  语法格式

 

 

3.1  常量

3.1.1   常量概述

–      在程序执行的过程中,其值不可以发生改变的量

3.1.2   常量分类

–      字符串常量 用双引号括起来的内容(“HelloWorld”)

–      整数常量    所有整数(12,-23)

–      小数常量    所有小数(12.34)

–      字符常量    用单引号括起来的内容(‘a’,’A’,’0’)

–      布尔常量    较为特有,只有true和false

–      空常量        null(数组部分讲解)


3.2  
变量

3.2.1   变量概述

–      在程序执行的过程中,在某个范围内其值可以发生改变的量

–      从本质上讲,变量其实是内存中的一小块区域

3.2.2   变量定义格式

–      数据类型变量名 = 初始化值;

–      注意:格式是固定的,记住格式,以不变应万变

3.2.3    变量图解


3.3  数据类型

3.3.1   计算机存储单元

变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。

除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:

–      1B(字节) = 8bit

–      1KB = 1024B

–      1MB = 1024KB

–      1GB = 1024MB

–      1TB = 1024GB


3.3.2    数据类型概述和分类

A:为什么有数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

B:Java中数据类型的分类

        基本数据类型

        引用数据类型

              面向对象部分讲解

   

 

 

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

/*[/size][/align][size=3]    常量:在程序执行的过程中,其值不可以发生改变的量

    

    常量分类:

        A:字符串常量 "HelloWorld"

        B:整数常量       12,-23

        C:小数常量       12.34

        D:字符常量       'a','0'

        E:布尔常量       true,false

        F:空常量     null(后面讲解)

*/

public class ChangLiang {

    public static void main(String[] args) {

        //字符串常量

        System.out.println("HelloWorld");

        

        //整数常量

        System.out.println(12);

        System.out.println(-23);

        

        //小数常量

        System.out.println(12.34);

        

        //字符常量

        System.out.println('a');

        System.out.println('0');

        

        //布尔常量

        System.out.println(true);

        System.out.println(false);

    }

}


3.4  
标识符

3.4.1   标识符概述

A 作用

–     给包,类,方法,变量等起名字

B 组成规则

–     由字符,下划线_,美元符$组成

•      这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。

–     注意事项

–     不能以数字开头

–     不能是Java中的关键字

 

C : 命名原则:见名知意

a

        最好是域名倒过来,要求所有的字母小写

b类或者接口

        如果是一个单词首字母大写

        如果是多个单词每个单词首字母大写(驼峰标识)

c方法或者变量

        如果是一个单词全部小写

        如果是多个单词,从第二个单词首字母大写

d常量

        如果是一个单词,所有字母大写

        如果是多个单词,所有的单词大写,用下划线区分每个单词


3.5  
定义变量

3.5.1 基本数据类型变量的定义和使用

变量的定义格式:

             数据类型 变量名 = 初始化值;

       基本数据类型:

             byte,short,int,long,float,double,char,boolean

       注意:

             整数默认是int类型,定义long类型的数据时,要在数据后面加L。

             浮点数默认是double类型,定义float类型的数据时,要在数据后面加F。

3.5.2    案例代码

 

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

public class VariableDemo {

    public static void main(String[] args) {

        //定义byte类型的变量

        byte b = 10;

        System.out.println(10);

        System.out.println(b);

        

        //定义short类型的变量

        short s = 100;

        System.out.println(s);

        

        //定义int类型的变量

        int i = 10000;

        System.out.println(i);

        

        //定义long类型的变量

        long l = 1000000000000000L;

        System.out.println(l);

        

        //定义float类型的变量

        float f = 12.34F;

        System.out.println(f);

        

        //定义double类型的变量

        double d = 12.34;

        System.out.println(d);

        

        //定义char类型的变量

        char c = 'a';

        System.out.println(c);

        

        //定义boolean类型的变量

        boolean bb = false;

        System.out.println(bb);

    }

}

3.5.3    变量定义的注意事项

•       变量未赋值,不能直接使用

–      引出变量的第二种使用格式

•       变量只在它所属的范围内有效。

–      变量在哪对大括号内,变量就属于哪对大括号

•       一行上可以定义多个变量,但是不建议

3.5.4    案例代码

 

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

/*

    变量定义注意事项:

        1:变量未赋值,不能直接使用

        2:变量只在它所属的范围内有效

            变量属于它所在的那对大括号

        3:一行上可以定义多个变量,但是不建议

*/

public class VariableDemo2 {

    public static void main(String[] args) {

        //定义变量

        int a = 10;

        System.out.println(a);

        

        int b;

        b = 20; //变量在使用前赋值都是可以的

        System.out.println(b);

        

        

        {

            int c = 100;

            System.out.println(c);

        }

        //System.out.println(c);

        

        /*

        int aa,bb,cc;

        aa = 10;

        bb = 20;

        cc = 30;

        */

        

        /*

        int aa = 10;

        int bb = 20;

        int cc = 30;

        */

        

        int aa=10,bb=20,cc=30;

    }

}

3.6  数据类型转换

3.6.1 隐式数据类型转换

取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

3.6.2    案例代码

 

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

/*

    +:是一个运算符,做加法运算的。

    我们在做运算的时候,一般要求参与运算的数据类型必须一致。

    

    类型转换:

        隐式转换

        强制转换

        

    隐式转换

        byte,short,char -- int -- long -- float -- double

*/

public class TypeCastDemo {

    public static void main(String[] args) {

        //直接输出了运算的结果

        System.out.println(3 + 4);

        

        //定义两个int类型的变量

        int a = 3;

        int b = 4;

        int c = a + b;

        System.out.println(c);

        

        //定义一个byte类型,定义一个int类型

        byte bb = 2;

        int cc = 5;

        System.out.println(bb + cc);

        

        //我能不能不直接输出,用一个变量接受呢?

        //用变量接受,这个变量应该有类型

        //可能损失精度

        //byte dd = bb + cc;

        int dd = bb + cc;

        System.out.println(dd);

    }

}


3.6.3 强制类型数据转换

强制转换的格式

       * b = (byte)(a + b);

强制转换的注意事项

       * 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

3.6.4    案例代码

 

01

02

03

04

05

06

07

08

09

10

11

12

13

14

/*

    强制转换:

        目标类型 变量名 = (目标类型) (被转换的数据);

        不建议强制转换,因为会有精度的损失。

*/

public class TypeCastDemo2 {

    public static void main(String[] args) {

        int a = 3;

        byte b = 4;

        int c = a + b;

        //byte d = a + b;

        byte d = (byte) (a + b);

    }

}

 


今天的学习就到这里,如果你是刚接触编程的话可能需要消化一会不过不要紧慢慢来,再写一遍HelloWorld吧~


本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值