Java SE 基础 Java语言概述

Posted 逆轮回

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java SE 基础 Java语言概述相关的知识,希望对你有一定的参考价值。

概述

Sun Microsystems于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯·高斯林 (James Gosling)被誉为“Java之父”。

是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序

(applet)。applet使用现代的图形用户界面与Web用户进行交互。 applet内嵌在html代码中。随着Java技术在web方面的不断成熟,已经

成为Web应用程序的首选开发语言。

Java的历史

1996年发布JDK 1.0

1998年发布JDK 1.2

平台名称:J2SE(Stadard Edition)、J2EE(Enterprise Edition)、J2ME(Micro Edition)

2004年发布JDK 1.5 版本更名:Java 5.0

平台名称:Java SE、Java EE、Java ME

2006年发布Java 6.0

2009年被Oracle收购

2011年由Oracle发布Java 7.0

2014年由Oracle发布Java 8.0

2017年由Oracle发布Java 9.0

2019年由Oracle发布Java 14.0

JDK各个版本发布时间和版本名称表

版本名称发行日期
JDK 1.0Oak(橡树)1996-01-23
JDK 1.1none(无)1997-02-19
JDK 1.1.4Sparkler(宝石)1997-09-12
JDK 1.1.5Pumpkin(南瓜)1997-12-13
JDK 1.1.6Abigail(阿比盖尔–女子名)1998-04-24
JDK 1.1.7Brutus(布鲁图–古罗马政治家和将军)1998-09-28
JDK 1.1.8Chelsea(切尔西–城市名)1999-04-08
J2SE 1.2Playground(运动场)1998-12-04
J2SE 1.2.1none(无)1999-03-30
J2SE 1.2.2Cricket(蟋蟀)1999-07-08
J2SE 1.3Kestrel(美洲红隼)2000-05-08
J2SE 1.3.1Ladybird(瓢虫)2001-05-17
J2SE 1.4.0Merlin(灰背隼)2002-02-13
J2SE 1.4.1grasshopper(蚱蜢)2002-09-16
J2SE 1.4.2Mantis(螳螂)2003-06-26
Java SE 5.0 (1.5.0)Tiger(老虎)2004-09-30
Java SE 6.0 (1.6.0)Mustang(野马)2006-04
Java SE 7.0 (1.7.0)Dolphin(海豚)2011-07-28
Java SE 8.0 (1.8.0)Spider(蜘蛛)2014-03-18
Java SE 9.0none(无)2017-09-21
Java SE 10.0none(无)2018-03-21
Java SE 11.0none(无)2018-09-25

Java技术体系平台

Java SE(Java Standard Edition)标准版

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE。

Java EE(Java Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE。

Java ME(Java Micro Edition)小型版

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。

java SE 基础概念梳理


 (一)First

摘要:Java概述、Java开发环境搭建、程序开发流程

Java概述

  •  Java的应用

开发QQ、迅雷程序(桌面应用软件)
开发淘宝、京东(互联网应用软件)

  • Java的擅长

互联网:电商、P2P等等
企业级应用:ERP、CRM、BOS、OA等等

  • Java语言平台

JavaSE(标准版)
JavaEE(企业版)

 

Java开发环境搭建

  • 常用的DOS命令

win+r--cmd--回车:   打开Dos控制台   
cd.. :        退回到上一级目录
cd\ :         退回到根目录
d: :          回车 盘符切换
dir :         列出当前目录下的文件以及文件夹
cls :         清除屏幕
ipconfig:       查看本机的相关网络配置

  • JDK的下载和安装
    1. 从官网上下载并安装JDK。(注意设置环境变量)
    2. 验证安装是否成功:打开Dos控制台输入javac,如果正常显示一些内容,说明安装成功。
  • JDK和JRE和跨平台

    JDK与JRE的关系

JDK:它是Java开发运行环境;
JRE:它是Java运行环境(Java Runtime Environment);( JDK包含了JRE)

     跨平台特性

平台指的是操作系统 (如:Windows,Linux,Mac)。
Java程序可以在任意操作系统上运行,一次编写到处运行。实现跨平台需要依赖Java的虚拟机 JVM 。

 

程序开发流程

  • Java代码的编写执行过程

源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
运行:最后使用解释器来运行字节码文件。

  • Java注释注意点

1:对于单行和多行注释,被注释的文字,不会被JVM解释执行
2:对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
3:单行注释可以嵌套使用,多行注释不能嵌套使用

  • 一般命名习惯:

类名&接口名:大驼峰式 HelloWorld
变量名&方法名:小驼峰式 helloWorld
常量名:使用_连接HELLO_WORLD

  • Java数据类型

基本数据类型:整数(byte、short、int、long)、小数(float、double)、字符类型(char)、布尔类型(boolean)
引用数据类型:数组、类、接口

 


 (二)Second

摘要:变量、运算符、引用类型、流程控制语句

变量

  • 数据类型四类八种

整型  byte    -128~127
    short 
    int 
    long 
浮点型 float
    double
字符型 char 表示一个字符
布尔型 boolean只有两个值true与false

整形常量默认是int类型
小数常量默认是double类型
定义长整形数据如果值超过int取值范围后面要加"L"
定义float类型的数据后面一定要加"f" 

String 是引用数据类型

 

  • 自动转换

范围大的数据类型 变量 = 范围小的数据类型值;  如:int i = 1;double j = i; 

  • 强制转换

范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;  如:int i = (int)6.718; //i的值为6

运算符

  • 算数运算符
  • 逻辑运算符

& 与     false&true False
| 或      false|true True
^ 异或     true^flase True
! 非      !true Flase
&& 短路与   false&&true False
|| 短路或   false||true True


短路与&&:  参与运算的两边数据,有false,则运算结果为false;
短路或||:    参与运算的两边数据,有true,则运算结果为true;

  • 三元运算符

    (条件表达式)?表达式1:表达式2;==>不能嵌套使用

  • 运算符优先级

优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减,非 ++、--、!
4 乘除,取余 *、/、%
5 加减 +、-
6 移位运算 <<、>>、>>>
7 大小关系 >、>=、<、<=
8 相等关系 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 条件运算 ?:
15 赋值运算 =、+=、-=、*=、/=、%=
16 位赋值运算 &=、|=、<<=、>>=、>>>=

 

引用类型

  • 引用数据类型的定义格式

     数据类型 变量名 = new 数据类型();

例如:

Scanner类的使用

    1. import导包:import java.util.Scanner;
    2. 创建对象 Scanner sc = new Scanner(System.in);
    3. 读取键盘录入的一个整数:int enterNumber = sc.nextInt();
    4. 读取键盘录入的字符串 : String enterString = sc.next();

Random随机数类的使用

    1. import导包:import java.util. Random;
    2. 创建实例:Random rd = new Random ();
    3. nextInt(int maxValue) 产生[0,maxValue)范围的随机数,包含0不包含maxValue
    4. nextDouble() 产生[0,1)范围的随机数

 

流程控制语句(if语句、while语句、do-while语句、for语句、switch语句)

  • if语句对比三元运算符
    1. 判断条件多,使用if;  2.三元运算符必须有结果的, if 可以没有结果的;
  • switch语句

      关键字: switch case default break

      case穿透问题

      switch语句中的表达式的数据类型

JDK1.0 - 1.4 数据类型接受 byte short int char
JDK1.5 数据类型接受 byte short int char enum(枚举)
JDK1.7 数据类型接受 byte short int char enum(枚举), String

 


 (三)Third

摘要:数组

数组

  • JVM内存划分(划分为5个区域)

 

寄存器:         内存和CUP之间
本地方法栈:       JVM调用了系统中的功能
方法和数据共享:      运行时期class文件进入的地方
方法栈:        所有的方法运行的时候进入内存
堆:          存储的是容器和对象

 

 

  • 一维数组的定义

      数据类型[] 数组名 = new 数据类型[元素个数或数组长度];  如:int[] x = new int[10];

  • 一维数组初始化

动态初始化 : 在定义数组时只指定数组的长度,由系统自动为元素赋初值的方式称作动态初始化。
1、类型[] 数组名 = new 类型[长度];
int[] arr = new int[4];
静态初始化: 在初始化数组时还有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。
2、类型[] 数组名 = new 类型[]{元素,元素,……};
int[] arr = new int[]{1,2,3,4};
3、类型[] 数组名 = {元素,元素,元素,……};
int[] arr = { 1, 2, 3, 4 };

  • 二维数组的定义

第一种定义格式:
int[][] arr = new int[3][4];

第二种定义格式
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

第三种定义格式(不常用)
int[][] arr = new int[3][];
第三种方式和第一种类似,只是数组中每个元素的长度不确

  • 二维数组的例子

class ArrayDemo {
public static void main(String[] args){

//定义二维数组的方式
int[][] arr = new int[3][4];
System.out.println( arr );
System.out.println("二维数组的长度: " + arr.length);
//获取二维数组的3个元素
System.out.println( arr[0] );
System.out.println( arr[1] );
System.out.println( arr[2] );

System.out.println("打印第一个一维数组的元素值");
System.out.println( arr[0][0] );
System.out.println( arr[0][1] );
System.out.println( arr[0][2] );
System.out.println( arr[0][3] );

System.out.println("打印第二个一维数组的元素值");
System.out.println( arr[1][0] );
System.out.println( arr[1][1] );
System.out.println( arr[1][2] );
System.out.println( arr[1][3] );

System.out.println("打印第三个一维数组的元素值");
System.out.println( arr[2][0] );
System.out.println( arr[2][1] );
System.out.println( arr[2][2] );
System.out.println( arr[2][3] );
}
}

 

以上是关于Java SE 基础 Java语言概述的主要内容,如果未能解决你的问题,请参考以下文章

大数据开发理论基础与项目实战Java SE之1.初识计算机和Java语言

java SE基础(Collection接口概述)

Java基础学习_01 概述及环境配置

Java SE01.Java程序设计概述

Java概念语法和变量基础整理

Java SE 基础 Java的语言特点