复习昨日内容
* Java语言概述* Java语言概述&发展史【了解】* Java的跨平台【了解】* JDK JRE JVM 有什么作用【理解】* Java开发环境的搭建* JDK的下载与安装【理解】* Dos命令【掌握】* JDK的环境变量的配置【掌握】* 第一个Java代码HelloWorld程序的书写* HelloWorld案例【掌握】* Java基本语法【掌握】* 注释* 常量* 变量* 标识符* 数据类型转换【了解】* 运算符【掌握】* 算术运算符* 赋值运算符* 关系运算符(比较运算符)* 逻辑运算符* 三目运算符(三元表达式)
一、Java语言概述
01. Java语言发展史 (了解)
Java语言是由谁在哪家公司开发的?Java语言发展史在Sun公司由詹姆斯·高斯林及其团队开发的,现已被Oracle公司收购。
Java语言能够做什么?Java语言于1990研发,前身是“Ock”,后改名为“Java”。在1995年出现Java第一个版本,之后相继更新,其中1.5版本趋于稳定,1.8版本是最成熟的,现在已更新到16版本。
Java分为Java ME、Java SE和Java EE三个平台版本;Java ME小型版,用于嵌入式研发;Java SE标准版,用于桌面和PC端应用程序的开发;Java EE企业版,用于开发企业环境下的应用程序。
02. Java语言的跨平台性
Java语言的特点简单性:语法结构的简单,简化代码的书写量,抛弃了c语言中复杂的难以理解的在开发过程中无需着重使用的一些概念(指针/垃圾回收GC)分布式:Java允许将程序进行功能的分割执行,分布到不同的服务器同时运行减少服务器压力多线程:Java运行通过代码书写的形式同时执行多个不同功能的代码动态性:初始jdk只安装常用的基础功能,可以通过扩展的形式进行额外功能的添加健壮性:Java提供了健全的代码检查机制,正在代码编译期间就会进行检测安全性:Java在网络上传输的安全性可移植性:Java基于虚拟机运行,JDK中内置虚拟机,只要安装了JVM那么就可以运行Java.Java语言是如何实现跨平台性?
编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机JVM就是负责将字节码文件翻译成特定平台下的机器码然后运行。只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。所以java是跨平台的。
03. JDK、JRE与JVM(掌握)
什么是JDK?什么是JRE?JDK:Java标准开发工具,它提供了编译、运行Java程序所需要的各种工具和标准,包括源代码以及公共jre并且包含开发环境的所有功能。
什么是JVM?JRE:公共JRE,Java运行环境,用于解释执行Java的字节码文件。JRE的安装目录中有bin和lib两个文件夹,bin中有JVM,lib中则是JVM工作所需要的类库,而JVM和lib合起来称为JRE。
三者之间有什么关系?JVM:Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,保证程序的跨平台性,以及编译执行写好的java程序,是可运行Java字节码文件的虚拟计算机。
JDK用于开发,JRE用于运行Java程序;如果只是运行Java程序,可以只安装JRE,无需安装JDK。
JDK中包含JRE和Java的开发工具,JDK和JRE中都包含有JVM。
JVM是Java编程语言的核心并且具有平台独立性。
三者是包含关系。
二、Java开发环境的搭建
01. JDK的下载与安装
下载JDK的安装甲骨文官网:
网盘下载链接:/s/1QQjQH_T680pT98zSZG5cYw
提取码:8421
直接点击下一步安装即可。
注意:JDK 8之前的版本安装JDK时,需要额外安装JRE。
因此在安装时创建两个文件夹(JDK和JRE),JDK文件夹内放JDK的安装内容,JRE文件夹放额外安装的专用JRE。JDK和JRE的文件夹位置需要记住,在配置环境变量时需要用到。
02. 命令提示符_基本介绍
为什么要学习命令提示符?如何打开命令提示符(DOS窗口)?在接触集成开发环境之前,需要使用命令行窗口对java程序进行编译和运行;为以后学习Linux系统的命令做基础。
windows+R输入cmd
03. 命令提示符_常用命令
cddircd…cd/cls盘符名称:exit
04. 环境变量的配置
为什么要配置环境变量?如何配置?开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
JAVA_HOME:JDK的安装目录;
PATH:%JAVA_HOME%\bin;
CLASSPATH:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
三、第一个Java代码HelloWorld程序的书写
01. HelloWorld程序
Java程序运行的基本步骤是什么?编写源程序,编译程序,运行程序。
HelloWorld的基本书写
public class HelloWorld{public static void main(String [] args){System.out.println("Hello World!");}}
02. HelloWorld程序的编译运行
编译和运行的指令是?编译:javac HelloWorld.java
运行:java HelloWorld
03. HelloWorld的常见问题与Notepad++使用
常见问题大括号成对出现不要少些class后的名字中不能出现空格(必须为一个单词)严格区分大小写不能使用中文符号javac编译命令后面跟的是编译的源文件全路径java执行命令后面跟的是class后的名字class后的名字必须与文件名相同
04. 程序注释与HelloWorld说明
程序注释一般只用单行注释和多行注释
第一个程序输出用HelloWorld,是因为在c语言中第一个程序也是HelloWorld,Java是相比于c语言研发的新编程语言,寓意用Java向世界问好。
四、Java基本语法
01. 注释的使用
什么是注释?注释的分类?用于解释与说明程序的功能,根据注释书写不同的位置为不同的程序进行说明
单行注释、多行注释和文档注释。单行注释:以//开始 注释本行内容。多行注释:以/*开始 注释到*/结束中的多行内容。文档注释:以/**开始 注释到*/结束中的多行内容HelloWorld说明
第一个程序输出用HelloWorld,是因为在c语言中第一个程序也是HelloWorld,Java是相比于c语言研发的新编程语言,寓意用Java向世界问好。
02. 关键字的概念与特征
什么是关键字?关键字有哪些特征?在java中已经被赋予特殊含义的单词称之为java的关键字
都有小写单词组成;在相应的编辑工具中都会高亮显示。
03. 常量的概念与分类
什么是常量?常量的分类有哪些?在程序运行过程中不能改变的量
字符串常量、整数常量、小数常量、字符常量、布尔常量、空常量
04. 常量的打印输出
案例演示public class HelloWorld{public static void main(String [] args){//常量的打印输出System.out.println(52);}}
05. 计算机进制转换(了解)
常见的进制有哪些?十进制到二进制的转换?二进制、十进制、十六进制
二进制到十进制的转换?十进制数连续除以2,记下每次的余数,直到商为零为止,把记录的余数倒写,就得到对应的二进制数。
八四二一码(BCD码)计算
06. 计算机存储单元(了解)
计算机当中的最小存储单元是什么?常见的单位换算计算机当中的最小存储单元是B字节。
1B(字节) = 8bit1KB = 1024B1MB = 1024KB1GB = 1024MB1TB = 1024GB1PB = 1024TB1EB = 1024PB
07. 基本数据类型
为什么要有数据类型?Java的基本数据类型一共分为哪些?指的是代码编写过程中声明与保存的数据的形式
每个数据的储存大小不一样,就需要给这些数据设置不同长度的数据类型来储存。
整数类型:用于存储整数数据
浮点(小数)类型:用于存储小数数据
字符类型:用于存储单个字符
布尔类型:正反真假值的存储
08. 变量的概念与定义格式
什么是变量?变量的格式是?在程序运行过程中可以改变的量称之为变量
数据类型 变量名=值;数据类型 变量名;变量名=值;数据类型 变量名1=值,变量名2=值;
09. 变量的基本使用
案例演示八种基本数据类型的变量定义和使用// 存储整数int age = 18;// 存储小数double d = 3.1415926535;// 存储单个字符char c = 'a';// 存储真假boolean bool = true;
10. 变量的注意事项.
1. 在同一对花括号中,变量名不能重复。2. 变量在使用之前,必须初始化(赋值)。3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
11. 标识符的概念与规则
什么是标识符?标识符的组成规则?在程序书写过程中只要是我们命名的都可以称之为标识符
以字母、数字、下划线_、美元符号$组成不能以数字开头不能以关键字命名(可以使用组合命名)严格区分大小写同一{}内不允许出现同名标识符
12、数据类型转换【了解】
01. 数据类型转换
1.隐式转换(自动转换)数据类型小向数据类型大的转换
无需特殊语法,在进行转换时由程序自动进行转换操作
2.强制转换运算转换
进行算术运算时,会自动将结果转换为当前运算中最大的类型
数据类型大向数据类型小的转换
由于是强制转换可能造成数据的溢出,所以需要使用特定语法进行强制类型转换
3.数据类型转换的注意事项要转换的小的类型 变量=(要转换的小的类型)大的类型变量;
注意:强制类型转换可能造成数据的溢出,导致与元数据不符,所以一般在进行强制类型转换时,要确保存储数据在指定范围内
02 面试题
byte b1=3,b2=4,b;b=b1+b2;b=3+4;//哪句是编译失败的呢?为什么呢?
b=b1+b2;会编译失败
在进行赋值时虽然默认为int类型 但是如果数值在存储范围内不会出错
进行如果进行运算的是变量会获取对应地址存储的数据类型,进行运算后结果根据运算的类型进行转换,之后在进行赋值
03. ASCII编码表(了解)
13、运算符【掌握】
1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.三目运算符(三元表达式)
01.算术运算符
1 分类:2 算术运算符取余和除法的区别+、-、*、/、%、++、- -
3 加号的多种用法取余是指求最后的余数;除法是求商。
4 算术运算符++和–的用法算数运算符的加法、字符的连接符
//放在变量前//如果变量参与运算 在进行取值时先进行自增之后取值//放在变量后//如果变量参与运算 在进行取值时先取值进之后行自增
扩展案例
求123个位十位百位上的数字
打印格式:个位是3,十位是2,百位是1
案例代码:
package com.yunhe.day0604;public class SecondHomwork {public static void main(String[] args) {// TODO Auto-generated method stub//求一数值变量个位十位百位上的数字//打印格式:个位是3,十位是2,百位是1int num = 156;int ge = num % 100 % 10;int shi = num % 100 /10;int bai = num / 100;System.out.println("个位是:" + ge + ",十位是:"+ shi + ",百位是:"+bai);}}
02.赋值运算符:
赋值运算符有哪些?= 、+=、-=、*=、/=、%=
03.关系运算符(比较运算符)
1 关系运算符有哪些?2 关系运算符的得到的结果是什么数据类型?==、!=、>、>=、<、<=
3 =和==的区别?关系运算符的结果位bollean类型
=是赋值运算符,==是关系运算符
=用于赋值,==用于判断两个表达式是否相等
04.逻辑运算符(重点)
1 逻辑运算符有哪些?逻辑与、逻辑或、逻辑非、逻辑异或、短路或、短路与
05.三目运算符(三元表达式)
1 格式:2 执行流程:语法:数据类型 变量名=布尔表达式?值1:值2
3 注意事项:语法:数据类型 变量名=布尔表达式?值1:值2
当布尔表达式值为真时,执行值1,否则执行值2。
案例1: 比较两个数据是否相同值可以为任意类型或表达式,三目运算符会返回结果,所以一般使用变量接收
案例代码:
int number1 = 15;int number2 = 30;String str = (number1 == number2) ? "相同" : "不相同")System.out.println(str);
温故而知新,可以为师矣
每日一点点进步
不进则退