01夯实基础之Java基础语法

Java基础语法

学习目标:

1.熟悉 Java 等基本概念
2.掌握 Eclipse/IDEA 集成开发工具的安装、配置和应用
3.熟悉 Java 基本语法、基本类型、运算符和表达式
4.掌握分支、循环逻辑语句、数组等知识的应用

知识点列表:

1.JDK、JRE、JVM 基本概念
2.Java 环境搭建和配置
3.安装和使用 Eclipse/IDEA 开发环境
4.Java 基本数据类型
5.变量,运算符,表达式
6.分支语句,循环语句、数组,数组应用。

1.JDK、JRE、JVM基本概念

(1)JDK:Java Development Kit。JDK 作为 Java 开发工具包,主要用于构建在 Java 平台上运行的应用程序、Applet 和组件等。我们可以把 Java 程序设计语言、Java 虚拟机、Java 类库这三部分统称为 JDK, JDK 是支持 Java 程序开发的最小环境。
(2)JRE:Java Runtime Environment。Java 运行环境,所有 Java 程序都要在 jre 下才能运行。JDK 的工具也是 Java 程序,也需要 JRE 才能运行。为了保持 JDK 的独立性和完整性,在 JDK 的安装过程中,JRE 也是安装的一部分。所以,在 JDK 的安装目录下有一个名为 jre 的目录,用于存放 JRE 文件。我们可以把 Java 类库 API 中的 JavaSE API 子集和 Java 虚拟机两部分统称为 JRE, JRE 是支持 Java 程序运行的标准环境。
(3)JVM:Java Virtual Machine。Java 虚拟机,jvm 是 jre 的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java 语言最重要的特点就是跨平台运行。使用 JVM 就是为了支持与操作系统无关,实现跨平台。
(4)图示:

在这里插入图片描述

2.Java环境搭建和配置

目前的 jdk 的 LTS(Long Term Support) 版本为jdk8 和 jdk11,以及2021年的 jdk17。
(1)上官网下载 jdk 安装包,选择自己电脑对应的版本。
(2)下载后双击安装包进行安装,个人建议不安装在 C盘。(记住自己安装的位置,可以先复制到剪切板)
(3)配置环境变量。打开系统高级设置,进入环境变量。
在这里插入图片描述

图片: https://uploader.shimo.im/f/iivki6Vf8zCZcuLj.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzEyNzMzMjQsImciOiJxanFUa0t4UXF5dnJ5Vmo5IiwiaWF0IjoxNjMxMjczMDI0LCJ1c2VySWQiOjUzNjgzNjU0fQ.xNomsNTbPY8DMUqFnpw4SCrQkFamNhEeNQ0wiwiLK6o

path当中添加:
图片: https://uploader.shimo.im/f/gvHJi2lMoPA06QAw.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzEyNzMzMjQsImciOiJxanFUa0t4UXF5dnJ5Vmo5IiwiaWF0IjoxNjMxMjczMDI0LCJ1c2VySWQiOjUzNjgzNjU0fQ.xNomsNTbPY8DMUqFnpw4SCrQkFamNhEeNQ0wiwiLK6o

配置结束,命令行查看是否安装成功。
图片: https://uploader.shimo.im/f/eKBBaGpOUD0aqmYf.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzEyNzMzMjQsImciOiJxanFUa0t4UXF5dnJ5Vmo5IiwiaWF0IjoxNjMxMjczMDI0LCJ1c2VySWQiOjUzNjgzNjU0fQ.xNomsNTbPY8DMUqFnpw4SCrQkFamNhEeNQ0wiwiLK6o

3.安装和使用Eclipse/IDEA开发环境

入门建议安装 Eclipse,学到进阶部分以后建议安装 IDEA。

4.Java基本数据类型

由于变量中记录的数据内容大小不同,所以需要的存储单元也不同,Java 语言中使用数据类型来描述。Java 中的一个字节占8个比特,即包含八位二进制数。
Java 中的基本数据类型分为基本数据类型和引用数据类型。其中基本数据类型有8种,分别为:byte、short、int、long、float、double、boolean、char。引用数据有:class、interface、数组。
图片: https://uploader.shimo.im/f/H3WEK9BLmlym2TZK.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzEyNzMzMjQsImciOiJxanFUa0t4UXF5dnJ5Vmo5IiwiaWF0IjoxNjMxMjczMDI0LCJ1c2VySWQiOjUzNjgzNjU0fQ.xNomsNTbPY8DMUqFnpw4SCrQkFamNhEeNQ0wiwiLK6o

图片: https://uploader.shimo.im/f/VUJFfCpknzJjifqc.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzEyNzMzMjQsImciOiJxanFUa0t4UXF5dnJ5Vmo5IiwiaWF0IjoxNjMxMjczMDI0LCJ1c2VySWQiOjUzNjgzNjU0fQ.xNomsNTbPY8DMUqFnpw4SCrQkFamNhEeNQ0wiwiLK6o

特别注意:char 类型与其他语言不同,占2字节。

5.变量,运算符,表达式

(1)变量

变量是系统为程序分配的一块内存单元,用来存储各种类型的数据。
按数据类型可分为:基本数据类型变量和引用数据类型变量。
按声明位置可分为:局部变量(定义在方法或者语句块内部)和成员变量(定义在方法外部、类的内部)
类的外面不能声明变量。

(2)运算符

运算符可分为算数运算符、赋值运算符、关系运算符、逻辑运算符、字符串连接运算符、三目运算符。
算数运算符:+、-、* 、/、%(取模)、++、–。前++先对变量+1,再进行其他运算;后++先进行其他操作,再对变量+1,–的用法同理
赋值运算符:将一个值赋给另一个变量,运算顺序从右到左。有:=、+=、-=、* =、/=、%=。
关系运算符:比较两边的操作数,结果为 boolean 类型。有:==、!=、<、>、<=、>=。
逻辑运算符:用于对 boolean 类型的结果表达式进行运算。有 &、|、^、!、&&(短路与)、||(短路或)。
字符串连接符:+ 除了可以将字符串连接,还可用于将字符串与其他数据类型相连形成一个新的字符串。如:String s = “hello” + “world”;结果为"helloworld",String s = “abc” + 123;结果为"abc123"。
三目运算符:x ? y : z,其中 x 是结果为 boolean 类型表达式,先计算 x 的值,如果为 true,则结果为表达式 y 的值,否则为表达式 z 的值。

(3)表达式

表达式是由变量、常量和运算符的组合,它执行计算并返回计算结果。在表达式中运算符作用的变量或常量称为操作数。
如: a + 100,其中操作数为 a 和 100,操作符为+。

6.分支语句,循环语句、数组,数组应用。

任何简单或者复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本结构组合而成。

(1)顺序结构

顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作。

(2)分支结构

分支结构又被称为选择结构,根据条件是否成立来执行操作。Java 中的分支结构分为 if 条件语句和 switch 语句。
if 语句:

if (条件语句) {} 

if (条件语句) {} else {} 

if (条件语句) {} else if (条件语句) {} 

if (条件语句) {} else if (条件语句) {} else {}

switch 语句:

switch (表达式) { 
  case 取值 1: {
    语句块 1;
    break;
  }
  case 取值 n: {
    语句块 n;
    break;
  } 
  ...
  default: {
    语句块 n+1;
    break; 
  }
}

表达式的返回值必须是:int、byte、char、short、String 几种类型之一;
case 中的取值必须是常量,且不同的 case 中的取值应不相同。
default 语句是可选的,但是阿里编程规约建议每个 Switch 都应该加上,即使里面什么也没有。
break 语句用来执行完一个分支后跳出 switch 语句块,如果 case 后面没有 break,则直接往下执行下一条 case。
case 中的 {} 也是可选的,但是编程规约建议为这样的语句块加上大括号。

(3)循环结构

循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到不满足的条件为止。简单的说就是在循环条件满足的条件下,反复执行特定代码。
循环语句可分为: for 循环、while 循环、do/while 循环
while 循环:
先判断再执行,如果满足条件,循环执行,否则退出。

while (条件表达式) { 
  //语句块; 
}

do-while 循环:
先执行再判断,如果满足条件,循环执行,否则退出。

do { 
  循环操作 
} while (条件表达式); 

for 循环:

for (初始化参数; 判断条件; 更新循环变量) { 
  循环体; 
}

(4)数组

数组是相同数据类型的多个数据的容器。这些元素按线性顺序排列。
创建格式:

格式 1. 数据类型[] 数组名称 = new 数据类型[数组长度]; 
格式 2. 数据类型[] 数组名称 = {数组内容 1,数组内容 2,数组内容 3...数组内容 n};格式 3. 数据类型[] 数组名; 
格式 3 属于只创建了数组引用名, 并未在内存创建数组空间。 
格式 4. 数据类型[] 数组名称 = new 数据类型[]{内容 1,内容 2,内容 3...内容 n}; 

数组的下标:从0开始,对于长度为 n 的数组,下标的范围是 0 ~ n-1,通过访问下标可以快速访问到数组的每一个元素。
数组的长度通过: 数组名称.length 的方式获取。数组的长度在创建时已经固定,当然也存在对于数组的扩容方法。
如果数组未赋值,使用时会抛空指针异常,如果下标越界,会抛数组越界异常。

(5)数组的应用

冒泡排序:

原理:

  • 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
    排序口诀:
    升序排列的口诀:
    N个数字来排队 两两相比小靠前, 外层 循环length-1 内层循环length-i-1
    降序排序的口诀:
    N个数字来排队 两两相比大靠前, 外层 循环length-1 内层循环length-i-1
    因为后面的数字已经排好序了,所以不需要再做重复的操作,所以内层循环只需要 length-i-1 次
二分查找(折半查找)Binary Search:

二分查找要求数组的数据必须采用顺序结构存储结构有序排列。首先,假设数组中元素是按升序排列,将数组中间位置的数据与待查找数据比较,如果两者相等,则查找成功;否则利用 中间位置记录将数组分成前、后两个子数组,如果中间位置数据大于待查找数据,则进一步查找前子数组,否则进一步查找后子数组。重复以上过程,直到查找成功,如果不存在该元素,则查找失败。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白的Soda

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

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

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

打赏作者

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

抵扣说明:

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

余额充值