java基础入门

  • Java的基础知识
  • Java流程控制语句
  • Java常用包和类
  • 数组操作
  • 面向对象的概念
  • 异常处理
  • 文件访问IO流
  • 数据集合操作 集合框架
  • JDBC访问数据库

本章内容

  1. java语言简介
  1. JDK安装和配置
  1. java运行原理
  1. Hello World案例
  1. java的数据类型、变量、运算符、注释
  1. 控制台的输入输出

一、java简介

1.1 前言

Java语言是美国Sun公司(stanford University Network),在1995年推出的高级编程语言。所谓编程语言是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。

詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大Java编程语言的共同创始人之一,一般公认他为“Java之父”。

诺基亚 塞班系统 安卓 google java

oracle 公司

趣闻:java 爪哇岛

1.2 java历史版本

版本

名称

发行日期

JDK 1.0

Oak(橡树)

1996-01-23

JDK 1.1

none(无)

1997-02-19

JDK 1.1.4

Sparkler(宝石)

1997-09-12

JDK 1.1.5

Pumpkin(南瓜)

1997-12-13

JDK 1.1.6

Abigail(阿比盖尔–女子名)

1998-04-24

JDK 1.1.7

Brutus(布鲁图–古罗马政治家和将军)

1998-09-28

JDK 1.1.8

Chelsea(切尔西–城市名)

1999-04-08

J2SE 1.2

Playground(运动场)

1998-12-04

J2SE 1.2.1

none(无)

1999-03-30

J2SE 1.2.2

Cricket(蟋蟀)

1999-07-08

J2SE 1.3

Kestrel(美洲红隼)

2000-05-08

J2SE 1.3.1

Ladybird(瓢虫)

2001-05-17

J2SE 1.4.0

Merlin(灰背隼)

2002-02-13

J2SE 1.4.1

grasshopper(蚱蜢)

2002-09-16

J2SE 1.4.2

Mantis(螳螂)

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.0

none(无)

2017-09-21

Java SE 10.0

none(无)

2018-03-21

Java SE 11.0

none(无)

2018-09-25

jdk 1

1.3 java特点

​ Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式健壮性安全性跨平台与可移植性、多线程、动态性等特点。

单核心 单线程 多核心 多线程。(微秒级)

windows,mac,linux,unix .apk .ipa

面向对象三大特征 :封装,继承,多态

java面向对象: 封装,继承,多态,抽象,接口

需求:我想吃番茄炒蛋!

1.自己做

2.去餐厅

面向过程: 自己做

1.买食材

2.处理食材

3.起锅烧油

。。。

3.出锅

面向对象: 去餐厅,老板,来份番茄炒蛋!

思想:

1.4 java开发方向

JavaSE

Java Standard Edition PC方向 桌面应用

JavaEE

Java Enterprise Edition 可扩展的企业级应用Java平台 服务器项目 网页

爱奇艺 打开网页

JavaME

Java Micro Edition用于嵌入式Java平台;移动设备应用

安卓(java):google sun oracle 收购

诺基亚:人需要什么我们就造什么

乔布斯曰过:人的需求是我们创造的

1.4Java语言能做什么?

java语言可以编写桌面应用程序(类似于电脑QQ,但是java不擅长)、Web应用程序(服务器程序)、分布式系统和嵌入式系统应用程序等。人工智能。python(黄金语言) 。

主要应用在web程序的开发领域,常见的互联网应用比如天猫,京东,物流系统,网银系统等,以及服务器后台处理大数据的存储,查询,数据挖掘等也有很多应用。

二、Java开发环境组成 (jdk)

2.1 jvm虚拟机

JVM 是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

跨平台(不同的操作系统) 任何软件的运行都需要运行在操作系统上,而我们使用Java编写的软件可以运行在任何的操作系统上,这个特性成为java语言的跨平台性。这个特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Windows OS MacOS Linux OS

不同的操作系统,内部的运行原理是不一样,换句话说,windows的软件不能在mac电脑上面进行安装。所以我们很多软件的制作成本就加大了。例如 爱奇艺,需要制作windows版 还需要制作mac版。此时就需要两个开发团队。假如你是老板,急需一种操作:能不能开发一个版本在不同的平台中都能运行,这就是跨平台。

Java是支持跨平台操作的一门语言。

java程序的执行过程:源代码(.java)->编译->字节码(.class)->jvm解释->机器码->系统执行

jvm的作用:加载由源文件编译生成的字节码文件,将其转为机器码,发给系统执行

jvm实现跨平台:java针对不同的系统平台都开发了对应的jvm虚拟机。从而实现同一个字节码文件可以在任意系统上运行,从而实现了跨平台性。所以,jvm就像不同语言的翻译官,同样是一句“你好”,在对英国人说时,英文jvm将它翻译为英语 。对韩国人说时,韩语jvm将它翻译为韩语。

2.2 JRE

Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由SUN微系统所研发,JRE可以让计算机系统运行Java应用程序(Java Application)。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。

2.3 jdk

JDK(java development kit)是 Java 语言的软件开发工具包,主要用于各种环境下的java程序开发,包括移动设备嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。(电工的工具包钳子,螺丝刀,欧姆表。。。 )jdk中自带有jre。

java程序的执行过程

心理准备: 学习java,先学语法 ---》我们可能刚开始不明白什么意思---》学完后边的内容,我们就明白了。不要着急!

2.4 jdk的安装(oracle官网下载jdk安装包)

Plain Text

约定:

0. 以后任何安装路径都不要有中文路径

1. 以后我们的软件统一装到某个盘的某个文件夹中 E:\app

2. 我们安装完成之后 又弹出一个框 这是提示我们安装jre,Jdk安装完成之后 已经有jre了 所以 这个地方取消安装

3. 安装完成jdk之后 在jdk文件夹中

Bin(binary 二进制文件) 这里面是java的执行文件

Include 这里面导入c和c++的一些代码

Jre   java的运行环境

Lib 资源库

4. 配置jdk的环境变量(可以理解成告诉你的电脑 我们安装了jdk 我们要开发java 并且 jdk安装到哪了)

2.5 环境变量的配置

【我的电脑】-右键-【属性】-【高级系统设置】-【环境变量】

【系统变量】-【新建】JAVA_HOME :jdk安装根目录

【编辑】-path:添加 %JAVA_HOME%\bin

配置完毕后,依次点击确定就可以了。

如果不配置环境变量,那么java的的可执行文件只能在安装位置的bin目录下才可以执行。

配置环境变量就是为了,可以在任意路径下运行java可执行文件。

JAVA_HOME

​ 指向jdk的安装目录,Eclipse/idea/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

Plain Text

JAVA_HOME

自己jdk安装路径

CLASS_PATH (可以不用配置 jdk1.5就不用配置了,会自动找。)

​ 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。

需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

新版的软件,classpath没有什么用了,因为在安装的时候已经选了JDK而且可以添加

Plain Text

CLASS_PATH

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

Path

​ 作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。

需要把jdk安装目录下的bin目录增加到现有的PATH 变量中,bin目录中包含经可执行文件javac/java/javadoc等待,

设置PATH变量后,就可以在任何目录下执行javac/java等工具了。

bin目录 是公认的可执行文件 放置的目录。

Plain Text

Path

%JAVA_HOME%\bin

三、HelloWorld入门程序

3.1 程序开发步骤说明

开发环境搭建完成后,可以开始开发我们的第一个java程序了。

Java程序开发三步走:编写,编译,运行

编程语言分类:

解释性语言:比如 javascript, python, perl, shell

编译型语言:比如 java,c,c++,c#

XXX.java--编译-->XXX.class

javac.exe :编译器 javac 编译命令

java.exe :解释器 java 运行命令

3.2 编写Java源程序

1.新建一个文本文档文件,其中编写以下代码

Plain Text

public class HelloWorld{

public static void main(String[] args){

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

}

}

注意:类名要跟文件名完全一致。要遵循大驼峰命名。规定。

Plain Text

定义类的格式:

public class 类名{}

面试题一个XXX.java文件中可以有多个类吗

答:可以,但是只能有一个公共的类(使用public 修饰的类)

注意:类名要跟文件名一致,开头字母使用大写,遵循驼峰命名法。

2.编译和运行

window+R 打开命令行模式,输入cmd 将目录切换到 java文件所保存的目录

输入:javac 文件名称 生成.class类型的字节码文件

输入:java 字节码文件 运行程序

3.3 使用idea工具编写代码

打开百度--》搜索idea用法---》整体浏览

创建项目

创建包

包就是文件夹。类比,css,js,img。

不同模块的代码可能有相同的名字。使用包来分割/存储不同的功能的代码。

包的命名规范:

特点:全小写,点分隔,反域名。

www.taobao.com

com开头:公司项目 com.aaa.chaoshi.util

org开头:公益项目

java开头:java中的类包

扩展:自己去百度--》包的命名规范

创建java文件

3.4 java 注释

文档注释用于在生成文档时对写的类,方法或字段进行解释

多行注释,用于写多行的说明信息,常用于注释一段代码

单行注释,描述的信息比较少的时候,使用单行注释

3.5 关键字

是指在java中有特殊含义的,被保留的,不能随意使用的字符

特点:

​ 会识别

​ 全小写

​ 有颜色

3.6 标识符(变量名,方法名,类名)

概念:在程序中我们自己定义的内容。比如类的名字、方法的名字和变量的名字等,都是标识符

**标识符的命名规则硬性要求

  1. 构成:字母、数字、下划线 、$符号
  1. 首个只能是:字母 、下划线 、$符号,不能以数字开头
  1. 不能使用关键字

**标识符的命名规范:软性要求

  • 类名规范:首字母大写,后边每个单词的首字母大写(大驼峰)
  • 变量名规范:首字母小写,后边每个单词的首字母大写(小驼峰)
  • 方法名规范:同变量名
  • 见名知意

四.常量

4.1 概述

常量:是指在java程序运行期间固定不变的数据

4.2 分类

类型

含义

数据类型

整数常量

所有的整数

0,1,567,-9

浮点数常量

所有的小数

0.0,-0.1,3.55

字符常量

单引号引起来,只能写一个字符,必须有内容

'a' , 'x ' , '好','2'

字符串常量

双引号引起来,可以写多个字符,也可以不写

"A", "Hello" , "你好" ,""

布尔常量

只有两个值,流程控制语句中使用

true, false

空常量

只有一个值(引用数据类型讲解)没有任何数据

null

常量命名:全大写+下划线字母命名

练习:演示打印输出所有的类型

五.变量和数据类型

5.1 变量

​ 1.概述:程序中可以改变的量称为变量,内存中最小的存储单元

​ 为什么用变量?间接的思想,间接的越多,证明程序越优秀!

​ 数学中可以使用字母代替数字的方式运算,例如x=1+5或者6=x+5;程序中也是一样是的,相当于一个容器,内部可以存储数据。Java中要求一个变量每次只能保存一个数据,必须明确保存的数据类型。

定义变量的格式

​ 数据类型 变量名 ;

变量名=值;

Plain Text

int a;

a = 10;

数据类型 变量名 =值;

Plain Text

public class Demo02 {

​ int b = 20;

   public static void main(String[] args) {

       //年龄

       int age; //定义一个int类型的变量  

       age = 10;//给age赋值在内存中开辟一块内存空间 起名为age 并且这块内存空间中只能存储int类型的数据

       //int a,b,c;//同时定义多个变量

       int a=10,b=8,c=9; //定义变量的同时,初始化

       System.out.println(age);

  }

}

**注意:

  1. 变量必须初始化后才能使用
  1. 不能有同名变量
  1. 在该个类型的变量中只能存储该类型的数据。
  1. 可以同时定义多个变量并赋值(但是,不推荐使用!)

5.2 数据类型

声明:数据类型 变量名 = 初始值;

背住:

基本数据类型

​ 四类八种:

​ 整型 整数 byte short int long

​ 浮点型 小数 float double

​ 字符型 一个字符 char

​ 布尔型 boolean

引用数据类型:

​ String字符串 数组,函数,对象 Enum枚举

分类

整数类型变量

  • 整型类变量用来存储整数数值,即没有小数部分的值

整数类型分四种不同的类型:

字节型(byte)、短整型(short)、整型(int)默认、长整型(long)

1TB = 1024GB

1GB = 1024MB

1MB = 1024KB

1KB = 1024Byte

1Byte = 8 bit 比特

int是默认类型。

byte 一个8位二进制数 01011010

反编译。

  • ** 如果想使用long 必须在数据的后边 加一个 L 后缀

为什么java中要整四个类型表示整数

  • 因为不同的类型 所占的内存大小不一样,那么存储的范围也就不一样。

Plain Text

       //右侧不能超出左侧的数据范围

       byte a = 124;

       System.out.println("a:"+a);

       short b = 2560;

       System.out.println("b:"+b);

       int c = 2000;

       System.out.println("c:"+c);

       double d = 30000000;

       System.out.println("d:"+d);

浮点类型

  • 浮点类型分为两种:单精度浮点(float)、双精度浮点(double)
  • double型所表示的浮点数比float型更精确;浮点数的默认类型为double类型。
  • 小数默认double 如果非要用float 必须加上 F 的后缀

字符类型

  • 字符类型变量用于存储一个单一字符,Java中用char表示。
  • Java中,每个char类型的字符变量都会占用2个字节,16位。
  • char类型的变量赋值时,需要英文的单引号' '把字符括起来,如'a'。

char类型的变量赋值范围是0~65535内的整数。

char a = '中';

面试题:char类型能存储汉字吗?

​ 能,因为一个汉字是两个字节

  • 任何字符在内存中都是以数字的形式存储的。

注意事项

​ 1.字符串是引用数据类型

​ 2.浮点型可能只是一个近似值,并非精确的值

​ 3.数据范围与字节数不一定相关,

​ 例如float 数据范围比long更加广泛,但是float是4字节,long是8字节

​ 4.浮点数默认double类型,如果一定要使用float类型,需要加上一个后缀 F/f。

如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L/l表示long类型。

​ 后缀推荐使用大写字母。

Boolean

布尔类型变量用来存储布尔值,在Java中用boolean表示,boolean类型的变量只有两个值,即true和false,默认值为false。每个boolean占8位。

Plain Text

      boolean flag = true;

      System.out.println("flag:"+flag);

变量使用时的注意事项:

1.如果创建多个变量,那么变量之间的名称不可以重复。

2.对于float和long类型来说,字母后缀F和L不能丢掉。

3.变量右侧的数据值不能超过左侧类型的范围。

4.变量一定要赋值*(初始化)后才能使用。不赋值不能直接使用。

5.变量的使用不能超出作用域的范围。

作用域: 从定义变量的一行开始,一直到直接所属的大括号结束为止。

6.可以通过一个语句来创建多个变量,但是不推荐使用。

六.运算符

算术运算符:+(字符串拼接运算) - * / % ++ -- ;

++ -- 一元运算符

​ 1.如果直接使用,前置++跟后置++没有区别

​ 2.如果用于 赋值 js中那一套。

关系(比较)运算符:>= <= > < !=;

==:

1.如果是基本数据类型比较值。

2.如果是引用数据类型 比较的内存的地址值!

​ 他的结果一定是一个boolean值,true/false,如果是连续判断不能连着写。

逻辑运算符:只能使用boolean值,条件可以连续写

​ &&(并且) 所有条件全都满足才是true,否则false

​ ||(或者) 至少有一个是true就是true否则false

​ ! (取反) 直接相反的结果

赋值运算符:=, += , -=, *= ,%= ,/= 复合赋值运算符会隐含强制类型转换。

条件运算符:? : 三目表达式

​ 格式:数据类型 变量名称 = 条件判断 ?表达式A : 表达式B;

​ *(表达式A和表达式B 要同时符合左侧的数据类型)

​ 流程:首先判断条件是否成立

​ 如果成立 表达式A

​ 如果不成立 表达式B

​ 一元,二元,三元 元就代表需要一个数据

优先级

() ++ ,-- , !》 算术运算符 (* / +-)--》关系运算符--》逻辑运算符(&& ||)--》赋值运算符--》条件运算符

  • ++
  • 条件运算符

七.类型转换(数值数据)

Java中要求参与计算的数据,必须保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

  • 隐式转换(自动)
  • 特点:自动完成,不需特殊处理
  • 规则:范围从小-->大
  • 显式转换(强制)
  • 特点:需要数据处理,不能自动进行
  • 规则:小范围 变量名 = (范围小的类型)范围大的数据

Plain Text

  byte a = 10;

  int b = a;

  //1.自动转换

  //此时 a是Byte b 是int类型   ---》由小范围 ——-》大范围

  System.out.println(b);

  int c = 10;

  byte c1 = (byte) c;

  //此时 c是 int   c1 是byte --> 此时放不下

  //2.如果非要放 强制类型转换

  // 由大范围 ——-》小范围

  // 小数据类型 变量 = (左边的小数据类型) 大类型的值。

  //注意:强制类型转换有可能会造成 精度丢失 和 数据溢出

  //精度丢失

  double d1 = 3.141592657678686876;

  float d2 = (float) d1;

  System.out.println("d2 :"+d2);

  int d3 = (int)d2;

  System.out.println("d3 :"+d3);

  //数据溢出

  long l1 = 7000000000L;

  int l2 = (int)l1;

  System.out.println("l2: "+l2);

  //元码,补码,反码

}

两个数据运算,得到的结果会自动的提升为两个数据中较大的类型。

特殊情况:

八、Scanner类,控制台的输入

是java提供给我们的类,我们只需要直接用就可以了。

附件

ASCII(小表):American Standard Code for Information Interchange 美国信息交换标准代码

Unicode码表(大表):万国码,也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符。

Emoji:

ascii表格

unicode : 万国码 任意一个字符都可以在这里找到。

Emoji 颜文字

面试题:

请问:下边的代码执行的结果是什么?

short a = 5;

a = a+5;

System.out.println(a);

请问下边代码执行的结果是?

short a = 5;

a+=5;

System.out.println(a);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/70898746 【完整课程列表】 完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础2(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 集合框架(共18页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类和对象1(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类与对象2(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类与对象3(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 类与对象4(共35页).ppt 完整版 Java基础入门教程 Java程序语言设计 04 IO流 输入输出流(共31页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI AWT 事件模型(共27页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI 编程(共37页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt 完整版 Java基础入门教程 Java程序语言设计 06 异常处理 异常和垃圾收集(共27页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 JDBC(共21页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 反射机制(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 网络编程(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 线程(共23页).ppt

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值