当前课程知识点:Java程序设计 >  第一章 Java语言基础知识 >  1.2-基本数据类型与表达式 >  1.2.1-基本数据类型与表达式

返回《Java程序设计》慕课在线视频课程列表

1.2.1-基本数据类型与表达式在线视频

1.2.1-基本数据类型与表达式

下一节:1.3.1-数组

返回《Java程序设计》慕课在线视频列表

1.2.1-基本数据类型与表达式课程教案、知识点、字幕

大家好

欢迎回来继续学习

java语言程序设计

这一节我们来学习

基本数据类型和表达式

这一节我将给大家介绍

变量与常量

基本数据类型

运算符与表达式

还有呢

数据类型之间的转换

首先呢

我们来了解一下

什么叫做文字量

我们知道

我们用计算机写程序

最基本的功能

就是要让计算机

能够给我们做数据处理对吧

所以程序中呢

必然要出现数据

那么各种数据

如果直接以文字的形式出现

那么它就叫文字量

所以文字量呢

是直接出现在程序中

并且被编译器直接使用的

比如说我们直接写30

3.141592654

这都是文字量

文字量呢

也称为文字常量

什么叫常量呢

所谓常量就是在其生存期内

它的值不可改变的量

除了文字量呢

我们在程序中

应该有大量的

各种自定义的名字对吧

就叫标识符

标识符就是一个程序语言

自己定义的名称

通常呢

它会与内存中的某个位置

也就是某个地址来相对应

标识符的第一个字母

必须是大小写英文字母

下划线 美元符号

这其中之一

标识符的第二个字符

以及后继的字符呢

可以是刚才说的

大小写字母 下划线

美元符号

还可以是数字0到9

那么我们在程序中

要处理数据呢

就要有地方

去存放这个数据

那作为高级语言

我们虽然说知道

会在程序运行期间

为我们的程序

分配内存空间

并且把我们的数据

放到这个内存空间里面去

但是我们在

高级语言程序语句中

却是没有必要

去关注这个数据的

实际内存地址的

那么我们怎么去使用

分配给程序的内存空间

怎么去存储 访问

和对数据进行运算呢

我们就要程序中的变量

一个变量呢

它要由标识符来表示

实际上它就是一个

变量名就是一个标识符

变量呢还要定义类型

那么变量

实际上它是关联到

某个内存地址的

所以呢

我们可以在变量里面存储数值

由于它是变量

它的意思也就是说

这个值在程序的运行过程中

它是可以被改变的

那么相对于变量呢

常量它一旦被初始化以后

其中的值它就不可改变了

接下来我们看看

在java里面能存储和处理

哪些基本的数据类型

所谓基本的数据类型呢

也就是在语言标准中

语言规范中规定了的

编译器直接能够识别的

这些类型

也叫内置数据类型

我们来看这张表

这张表中呢

给出了java里面的

基本的数值类型

包括整数类型

和浮点数类型

那么整数类型呢

有单字节的整数

有短整数

和基本整数

和长整数

浮点数有单精度浮点数

和双精度浮点数

那这些数值类型

它们的文字常量

形式是什么样的呢

这个表中呢

给出了数值类型的

文字常量的表现形式

大家可以看一下这些例子

应该说呢

大部分跟C语言中的

是很类似的

基本上是一样的

那么有一点

它有布尔类型

布尔类型它的文字量

只有两个

一个是true

表示布尔值真

一个是fales

表示布尔值假

在java中

还有大量的数据

是以字符的形式出现的

所以呢

基本数据类型里面

还有一个叫做字符型

字符类型的文字常量呢

是由单引号括起来的

字符或者是转义序列

在java中呢

字符类型采用

Unicode的编码方式

那这里呢

也给出了一些例子

我们看到

单引号里面的单个字母

或者用一个反斜杠

表示的这样的转义符

为什么我们还要有转义序列呢

就是因为有些字符

它是不可显示的字符

所以这个时候呢

我们就要用

这样的转义字符来表示

这个呢

跟在C语言中也是类似的

java中呢

用布尔类型来表示

逻辑值真和假

布尔类型它只有两个取值

true和false

跟我们通过这个

小程序段的例子呢

可以看到布尔值怎么用

我们可以定义

布尔类型的变量

然后呢

我们用布尔常量

给布尔变量赋值

后面呢

当我们讲到选择结构

循环结构的时候呢

在这些选择条件

循环控制条件中

都会大量的

用到布尔类型的表达式

字符串也是我们程序中

常用的一种数据类型

但是在java的基本数据类型中呢

是没有字符串类型的

那么在java中

怎么表示字符串呢

这也跟我们以前学过的

C语言不同

它不能用字符数组

来表示字符串

我们来看看java里面

表示字符串

是用什么办法的

java里面呢

有一个String类

它是java的基础类库中的

一个预定义好的类

我们在下一章呢

会给大家介绍类与对象

那现在呢

我们可以先就讲String

当作一个数据类型来用

就可以了

比如说这里我们定义一个

String类型的对象animal

然后呢

给它初始化成一个字符串

那么String里面

就存放了一个字符串了

我们可以这样来使用

字符串类型

字符串的文字量呢

是由零个或多个字符组成的

需要用双引号括起来

每一个字符

除了可以用可显示的

这种字符直接写出来以外呢

也可以用转义序列来表示

那么大家看这里

例子中呢

有直接显示出来的字符

也有呢

我们用转义序列表示的字符

都可以放在双引号里面

作为字符串的组成部分

接下来呢

我们就来看在java中

有哪些预定义好的运算符

以及如何用这些运算符

来构成运算表达式

首先我们来看算术运算符

这些呢大家看都很眼熟

在C语言中

应该都是学过的

包括自增自减运算符

一元正号复号

还有加减乘除运算符

还有呢(07:53)

另外呢

在java中

跟我们以前学过的C语言一样

赋值呢

也是用赋值运算来实现的

所以java中也有

简单的赋值运算符

以及复合赋值运算符

为了进行大小关系比较呢

在java中

那么是由关系运算符

构成的这样的表达式

关系运算的结果

永远是布尔类型

也就是说

只能是真或者假

关系运算符呢

包括算术比较运算符

还有类型比较运算符

算术比较运算符呢

我们在以前的C语言课中呢

都见到过

比较大小用的

那么类型比较运算符呢

是java的一个特色的功能

instance of

可以用来比较某个对象

是不是属于某个类型

另外呢

就是相等关系运算符

有用于比较

数值型数据是否相等的

相等不等

也可以用来比较呢

两个布尔量

相等或者是不等

还有呢java里面

一个很有特色的数据类型

就叫做引入类型

它是面向对象程序设计的

一个特色的数据类型

后面呢

我们在学到类和对象的时候

会给大家介绍什么是引用

那我们比较两个引用

相等或者不等

也可以用相等 不等

比较运算符

它们都是叫做

相等关系运算符

仅仅只有关系运算符呢

还不能进行复杂的逻辑判断

只能进行一些简单的比较

所以在java中呢

我们还经常要用到逻辑运算符

在java中有逻辑与

逻辑或 逻辑非

逻辑与呢

是当两个操作数

都为真的时候

它的运算结果才为真

否则呢

结果就是假

逻辑或呢

是当两个操作数

都为假的时候

运算结果才为假

否则就是真

逻辑非是一个一元运算符

操作数原来是真就变成假

结果是假了

如果操作数原来是假

那么结果就变成真了

三项条件运算符呢

也是一个很有趣的运算符

这个呢

在C语言中也是有的

在java中呢

它的功能也是一样的

首先计算表达式1

当表达式1的值

为真的时候呢

就选择表达式2的值

作为整个表达式的值

如果表达式1的值为假

就选择表达式3的值

作为整个表达式的结果值

每个参与运算的数据

每个表达式都是有类型的

如果一个表达式的类型

与上下文的语法要求不相符

那这个时候怎么办呢

这个时候

进行编译的时候

编译器会尝试着隐含的

或者自动的为我们做类型转换

那么如果没办法转换

转换不成功

那么这个时候呢

编译器就会认为

这是个语法错误

会给我们报错

那么类型转换呢

可以分成扩展转换

和窄化转换

所谓扩展转换呢

就是由低类型向高类型转换

也就是由表示数据的范围

比较小的类型

向表示数据范围

比较大的类型转换

那么这种转换呢

有可能损失精度

比如说从整数类型

向浮点数类型转换

那么就会损失精度

如果说在浮点处中

从float向double转换

那么就不会损失任何信息

但是窄化转换是危险的

是有可能丢失信息的

比如说double类型的

表示数据范围更宽

而整数int类型

表示的数据范围更窄

那么你将一个double数据

转化成整数的时候

有可能数据太大了

整数(里面)放不下

还有呢

它的小数部分

就结掉了 丢掉了

那么这些都是会丢失信息的

所以窄化转换呢

是有危险的 要慎用的

刚才说了

如果说我们给的

表达式类型与上下文不符

编译器呢

有时候会试图帮我们做转换

那么这个呢

实际上我们叫它隐含转换

隐含转换呢

有赋值转换

方法调用转换

和字符串转换

字符串转换呢

是java语言的特色

在java语言中 任何类型

都可以转化为字符串类型

比如说我们可以用

这个加法运算符

去将一个字符串

跟另外类型的数据

做加法

string类型

跟另外类型做加法

这个时候呢

另外不管是什么类型

它都能够

自动转换成string类型

这是隐含转换

另外呢就是显示转换

也叫强制转换

那我们比如说

可以将一个5.0

5.0这个写

直接写出来常量

默认是什么

默认是double类型

我们将它强制转换成

float类型

我们就用括号

里面float来指定

我要将这样一个

double类型的常量

转换成float类型

然后你转换变量

也是这样写的

一样的

这一节呢

我给大家简单介绍了

java的基本数据类型

运算符和表达式

其中大部分呢

跟C语言中是一样的

也有一些不同点

需要大家特别关注

接下来下一节

我给大家介绍数组

那么java的数组跟C语言

差别还是很大的

Java程序设计课程列表:

第一章 Java语言基础知识

-1.0-导学

--1.0-导学

--JDK的安装与配置01

--JDK的安装与配置02

--JDK的安装与配置03

--编辑并执行第一个java程序01

--编辑并执行第一个java程序02

--编辑并执行第一个java程序03

--eclipse的安装和配置01

--eclipse的安装和配置02

--eclipse的安装和配置03

--使用eclipse进行Java的开发01

--使用eclipse进行Java的开发02

--使用eclipse进行Java的开发03

-1.1-Java与面向对象程序设计简介

--1.1.1 Java与面向对象程序设计简介

--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介

-1.2-基本数据类型与表达式

--1.2.1-基本数据类型与表达式

-第一章 Java语言基础知识--1.2-基本数据类型与表达式

-1.3-数组

--1.3.1-数组

-第一章 Java语言基础知识--1.3-数组

-1.4-算法的流程控制

--1.4.1-算法的流程控制

--第一章 Java语言基础知识--1.4-算法的流程控制

-1.5-第一章小结

--1.5.1-第一章小结

-第一章编程练习题

-课件

--外部链接

第一章续-习题讲解视频

-Java环境配置、Eclipse使用、Helloworld程序详解

--JAVA的安装和配置

--编写并执行第一个Java程序及Java的跨平台性

--eclipse的安装和配置

--使用eclipse建立Java项目、编写和运行Java程序

--Java注释和Eclipse中的注释操作

--详解HelloWorld程序

-Java数据类型

--Java数据类型介绍

--Java整数类型

--Java浮点类型

--Java字符类型和布尔类型

--数据类型实战

--数据类型转换

--Java强制类型转换精度损失示例与表达式中的数据类型转换

-Java数组

--Java数组介绍、声明与使用

--一维数组的初始化与length属性

--数组索引的原理与使用

--二维数组的介绍与使用

-Java变量

--Java的变量

-命令行参数

--命令行参数的介绍

第二章 类与对象

-2.0-导学

--2.0-导学

-2.1-面向对象方法的特性

--2.1-面向对象方法的特性

--第二章 类与对象--2.1-面向对象方法的特性

-2.2-1-类声明与对象创建

--2.2-1-类声明与对象创建

--第二章 类与对象--2.2-1-类声明与对象创建

-2.2-2-数据成员

--2.2-2-数据成员

--第二章 类与对象--2.2-2-数据成员

-2.2-3-方法成员

--2.2-3-方法成员

--第二章 类与对象--2.2-3-方法成员

-2.2-4-包

--2.2-4-包

--第二章 类与对象--2.2-4-包

-2.2-5-类的访问权限控制

--2.2-5-类的访问权限控制

--第二章 类与对象--2.2-5-类的访问权限控制

-2.3-1-对象初始化

--2.3-1-对象初始化

--第二章 类与对象--2.3-1-对象初始化

-2.3-2-内存回收

--2.3-2-内存回收

--第二章 类与对象--2.3-2-内存回收

-2.4-枚举类

--2.4-枚举类

--第二章 类与对象--2.4-枚举类

-2.5-应用举例

--2.5-应用举例

-2.6-第2章小结

--2.6-第2章小结

-第二章编程练习题

-课件

--第二章课件

第三章 类的重用

-3.0-导学

--3.0-导学

-3.1.1-3.1.2-类继承的概念和语法

--3.1.1-3.1.2-类继承的概念和语法

--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法

-3.1.3-隐藏和覆盖

--3.1.3-隐藏和覆盖

--第三章 类的重用--3.1.3-隐藏和覆盖

-3.2-Object 类

--3.2-Object 类

--第三章 类的重用--3.2-Object 类

-3.3-终结类与终结方法

--3.3-终结类与终结方法

--第三章 类的重用--3.3-终结类与终结方法

-3.4-抽象类

--3.4-抽象类

--第三章 类的重用--3.4-抽象类

-3.5-泛型

--3.5-泛型

--第三章 类的重用--3.5-泛型

-3.6-类的组合

--3.6-类的组合

-3.7-小结

--3.7-小结

-第三章编程练习题

-课件

--课件

第四章 接口与多态

-4.0-导学

--导学

-4.1-接口

--接口

--第四章 接口与多态--4.1-接口

-4.2.1-4.2.2-类型转换

--类型转换

--第四章 接口与多态--4.2.1-4.2.2-类型转换

-4.2.3-方法的查找

--方法的查找

--第四章 接口与多态--4.2.3-方法的查找

-4.3-多态的概念

--多态的概念

--第四章 接口与多态--4.3-多态的概念

-4.4-多态的应用举例

--多态的应用举例

--第四章 接口与多态--4.4-多态的应用举例

-4.5-构造方法与多态性

--构造方法和多态性

--第四章 接口与多态--4.5-构造方法与多态性

-4.6-本章小结

--本章小结

-第四章编程作业

-课件

--课件

第五章 输入输出

-5.0-导学

--5.0-导学

-5.1.1-5.1.2-异常处理的概念

--5.1.1-5.1.2-异常处理的概念

--第五章 输入输出--5.1.1-5.1.2-异常处理的概念

-5.1.3-5.1.5-异常的处理

--5.1.3-5.1.5-异常的处理

--第五章 输入输出--5.1.3-5.1.5-异常的处理

-5.2-输入输出流的概念

--输入输出流的概念

--第五章 输入输出--5.2-输入输出流的概念

-5.3.1-写文本文件

--写文本文件

--第五章 输入输出--5.3.1-写文本文件

-5.3.2-读文本文件

--读文本文件

--第五章 输入输出--5.3.2-读文本文件

-5.3.3-写二进制文件

--写二进制文件

--第五章 输入输出--5.3.3-写二进制文件

-5.3.4-读二进制文件

--读二进制文件

-5.3.5-File类

--File类

-5.3.6-处理压缩文件

--处理压缩文件

-5.3.7-对象序列化

--对象序列化

-5.3.8-随机文件读写

--随机文件读写

-5.4-本章小结

--本章小结

-课件

--课件

第六章 对象群体的组织

-6.0-导学

--导学

-6.1-Java集合框架介绍

--Java集合框架介绍

--第六章 对象群体的组织--6.1-Java集合框架介绍

-6.2-主要接口及常用的实现类

--6.2-主要接口及常用的实现类

--第六章 对象群体的组织--6.2-主要接口及常用的实现类

-6.3-常用算法

--常用算法

-6.4-数组实用方法

--6.4-数组实用方法

-6.5-基于动态数组的类型(Vector, ArrayList)

--基于动态数组的类型(Vector, ArrayList)

-6.6-遍历Collection

--遍历Collection

-6.7-Map接口及其实现

--Map接口及其实现

-6.8-第6章小结

--第6章小结

-课件

--课件

第七章 图形用户界面

-7.0-导学

--导学

-7.1-绘图

--绘图

-7.2-Swing基础

--Swing基础

-7.3-Swing的层次

--Swing的层次

-7.4-布局管理

--布局管理

-7.5-内部类

--内部类

-7.6-事件处理的基本概念

--事件处理的基本概念

-7.7-事件派发机制

--事件派发机制

-7.8-顶层容器

--7.8-顶层容器

-7.9-中间层容器(一)

--7.9-中间层容器(一)

-7.10-中间层容器(二)

--7.10-中间层容器(二)

-7.11-原子组件(一)

--7.11-原子组件(一)

-7.12-原子组件(二)

--7.12-原子组件(二)

-7.13-原子组件(三)

--7.13-原子组件(三)

-7.14-其它Swing特性

--7.14-其它Swing特性

-7.15-第7章小结

--7.15-第7章小结

-课件

--课件

1.2.1-基本数据类型与表达式笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。