Java学习笔记(四)--数据类型与运算符
文章目录
- Java语言基础(二)
- 一、基本数据类型
- 1.1 整数类型
- 1.2 浮点类型
- 1.3 字符类型
- 1.4 布尔类型
- 二、变量与常量
- 2.1 标识符和关键字
- 2.2 声明变量
- 2.3 声明常量
- 2.4 变量的有效范围
- 三、运算符
- 3.1 赋值运算符
- 3.2 算术运算符
- 3.3 自增和自减运算符
- 3.4 关系运算符
- 3.5 比较运算符
- 3.6 位运算符
- 3.7 三元运算符
- 3.8 运算符优先级
- 四、数据类型转换
- 4.1 隐式类型转换
- 4.2 显式类型转换
Java语言基础(二)
一、基本数据类型
Java中有8种基本数据类型来存储数值、字符和布尔值。
1.1 整数类型
整型数据在Java程序中有3种表现形式,分别是十进制、八进制(以0开头)和十六进制(以0X或0x开头)。
整型数据根据它所占内存大小的不同,可分为 byte、short、int 和 long 4种类型。
Java 把整数常量的数据类型均视为int 型,对于 long型值,若赋给的值大于 int 型的最大值或小于 int 型的最小值,则需要在数字后面加L或l,表示该数值为长整数。
1.2 浮点类型
Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double)。
默认情况下,小数都会被看成double类型,若使用float型小数,则必需要在小数后面添加F或f。double型小数后面可加或不加后缀D或d。
1.3 字符类型
1、char型
字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示。
2、转义字符
转义字符是一种特殊的字符变量,它以反斜杠 “ \ " 开头,后跟一个或多个字符。
将转义字符赋值给字符变量时,与字符常量一样需要使用单引号,
1.4 布尔类型
布尔类型又称逻辑类型,通过关键字boolen来定义布尔类型变量,只有 true 和 false 两个值。分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。通常用在流程控制中作为判断条件。
二、变量与常量
2.1 标识符和关键字
1、标识符
Java 中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java 中的保留关键字。
在Java语言标识符中的字母严格区分大小写,其使用Unicode标准字符集,最多可以标识65535个字符,因此Java语言中的字母不仅包括通常的拉丁文字,还包括汉字、日文以及其他许多语言中的文字。
2、关键字
Java 中的保留关键字:
abstract | const | finally | interface | short | transient |
---|---|---|---|---|---|
assert | continue | float | long | static | try |
boolean | default | long | native | strictfp | void |
break | do | goto | new | super | volatile |
byte | double | if | package | switch | while |
case | else | implements | private | synchronized | |
catch | enum | import | protected | this | |
char | extends | instanceof | public | throw | |
class | final | int | return | throws |
goto、const 是C++保留的关键字,在Java中没有任何意义;
字面常量 true、false和null不是关键字,但也不能用作标识符。
2.2 声明变量
在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。给这个空间取的名字称为变量名。内存空间内的值就是变量值。
变量的命名规则:
变量名必须是合法标识符。变量名不可以使用Java中的关键字。变量名不能重复。应选择有意义的单词作为变量名。
2.3 声明常量
在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为“final 变量”。声明常量语法如下:
final 数据类型 常量名称[=值]
常量名通常使用大写字母。
常量在整个程序中只能被赋值一次。当定义的final变量属于“成员变量”时,必须在定义时就设定它的初值。
2.4 变量的有效范围
在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为静态变量和实例变量两种。在成员变量的类型前加上关键字static,称为静态变量。静态变量的有效范围可以跨类,以“类名.静态变量”的方式在其他类中使用。
在类的方法体中定义的变量称为局部变量,局部变量只能在当前代码块中有效。局部变量与成员变量的名字相同时,此成员变量将被隐藏,即这个成员变量将在此方法中暂时失效。
三、运算符
3.1 赋值运算符
赋值运算符“=”是一个二元运算符,其功能是将右方操作数所含的值付给左方的操作数。左方操作数必须是一个变量,右边操作数可以是任何表达式,包括变量、常量、有效的表达式。
3.2 算术运算符
算数运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),都是二元运算符。
3.3 自增和自减运算符
自增(++)、自减(–)运算符都是单目运算符。作用是使变量的值增1或减1.放在操作数前面的自增、自减运算符,会先将变量的值加1或减1,然后再使用该变量的值参与表达式的运算;放在操作数后面的自增、自减运算符,会先使用变量参与表达式的运算,然后再将该变量的值加1或减1。
3.4 关系运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。
3.5 比较运算符
逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符的操作元必须是boolean型数据。
逻辑运算符”&“会判断两个表达式,属于“非短路”运算符;而“&&”当第一个表达式为false时则不会去判断第二个表达式,直接输出结果,属于“短路”运算符。
3.6 位运算符
包括按位与“&”、按位或“|“、按位取反”~“、按位异或”^“、位移操作(左移 ”<<“、右移 ”>>“、无符号右移 ”>>>“)
">>>“运算符将用0填充高位;”>>"运算符用符号位填充高位。
3.7 三元运算符
三元运算符格式为:
条件式?值1:值2
三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2。
3.8 运算符优先级
四、数据类型转换
类型转换是将一个值从一种类型更改为另一种类型的过程。
从低精度数据类型向高精度数据类型转换,则永远不会溢出;而把高精度数据类型向低精度数据类型转换则必然会信息丢失,有可能失败。
数据类型转换有两种方式:隐式转换和显示转换。
4.1 隐式类型转换
从低级类型向高级类型的转换,系统将会自动执行,程序员无须进行任何操作,这种类型的转换称为隐式转换。类型按精度从低到高排列顺序:byte<short<int<long<float<double。
4.2 显式类型转换
把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。语法如下:
(类型名)要转换的值
当执行显式类型时可能会导致精度损失。
Java学习笔记(四)--数据类型与运算符相关推荐
- java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组
java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...
- Java学习笔记2.3.3 运算符与表达式 - 关系运算符
文章目录 零.本讲学习目标 一.关系运算符概念 二.关系运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.比较两个学生成绩 任务2.求解一元二次方程 零.本讲学习目标 掌握Java ...
- B站韩顺平java学习笔记(三)--运算符章节
目录 一.算术运算符 1. 表格 2. 练习题: 二. 关系运算符 1. 表格 三.逻辑运算符 1. 表格 2. 练习题 四.赋值运算符 1. 介绍 2.细节特点 五.三元运算符 1. ...
- (JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题
JAVA数据类型的一些扩展 一.整数类型扩展 整数各种进制表示方法: //整数扩展 十进制 二进制0b 八进制0 十六进制0xint i = 1;int i1 = 0b10;int i2 = 010; ...
- 【Java学习笔记四】Java中的包
包的声明和引入:在Java语言系统中,Java编译器为每一个类生成一个字节码文件(.class),为了对类文件进行分层和按用途分类管理,同时也为了解决相同类名的文件冲突的问题,Java提供了包机制来管 ...
- Java学习笔记三——数据类型
前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
- Java学习笔记2.3.6 运算符与表达式 - 条件运算符
文章目录 零.本讲学习目标 一.条件运算符概念 二.条件运算符使用 (一)语法格式 (二)案例演示 任务1.计算分段函数值 思考题:不用条件运算符怎么计算分段函数值? 任务2.根据输入年龄提示不同信息 ...
- Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符
文章目录 零.本讲学习目标 一.逻辑运算符概述 二.逻辑运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.闰年判断 课堂练习:计算三角形面积 零.本讲学习目标 掌握逻辑运算符的基本 ...
- Java学习笔记2.3.2 运算符与表达式 - 赋值运算符
文章目录 零.本讲学习目标 一.赋值运算符概念 二.赋值运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 1.一次对多个变量赋值 2.演示复合赋值运算符 零.本讲学习目标 掌握赋值运算符的 ...
- JAVA学习笔记(四十九)- Swing相关组件
JFrame组件 import java.awt.Color;import javax.swing.JFrame; import javax.swing.JPanel;/** Swing是在AWT基础 ...
最新文章
- mysql5.7编译安装路径_MySQL_MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径,安装环境需求:
自从昨天安 - phpStudy...
- Unhandled promise rejection Error: errCode: -501007 invalid parameters | errMsg: Invalid Key Name: _
- vs2017编译QT with ssl
- C++模板的注意事项
- scala中def_def关键字以及Scala中的示例
- leetcode - 300. 最长上升子序列
- 软件工作相关考试001---PMP等各种考试
- 惠斯通电桥信号调理芯片_变频器通电后无反应,如何检查维修?
- UVA 12161 Ironman Race in Treeland (树分治)
- Apache Flink 1.7.2 发布,流处理框架
- 121道分布式面试题和答案
- 2016年 最火的 15 款 HTML5 游戏引擎
- 4款开源的中文分词系统
- win7计算机怎么录屏,win7电脑怎么录屏?这个实用工具给你答案!
- vue问题解决 extract:echarts: sill extract echarts@^4.2.0-rc.2 extracted to
- BUUCTF Crypto [HDCTF2019]together wp
- 计算机病毒有熊猫病毒,世界最厉害的电脑病毒排名 熊猫烧香病毒最使人讨厌...
- HTML——表白树动画
- 2020年计算机应用基础试题二,2020年计算机应用基础试题及答案
- 18100出多少取整_电子表格里小数取整用什么公式?