文章目录

  • 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学习笔记(四)--数据类型与运算符相关推荐

  1. java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

    java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...

  2. Java学习笔记2.3.3 运算符与表达式 - 关系运算符

    文章目录 零.本讲学习目标 一.关系运算符概念 二.关系运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.比较两个学生成绩 任务2.求解一元二次方程 零.本讲学习目标 掌握Java ...

  3. B站韩顺平java学习笔记(三)--运算符章节

    目录 一.算术运算符 1.  表格 2.  练习题: 二. 关系运算符 1.  表格 三.逻辑运算符 1.  表格 2.  练习题 四.赋值运算符 1.  介绍 2.细节特点 五.三元运算符 1.  ...

  4. (JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题

    JAVA数据类型的一些扩展 一.整数类型扩展 整数各种进制表示方法: //整数扩展 十进制 二进制0b 八进制0 十六进制0xint i = 1;int i1 = 0b10;int i2 = 010; ...

  5. 【Java学习笔记四】Java中的包

    包的声明和引入:在Java语言系统中,Java编译器为每一个类生成一个字节码文件(.class),为了对类文件进行分层和按用途分类管理,同时也为了解决相同类名的文件冲突的问题,Java提供了包机制来管 ...

  6. Java学习笔记三——数据类型

    前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...

  7. Java学习笔记2.3.6 运算符与表达式 - 条件运算符

    文章目录 零.本讲学习目标 一.条件运算符概念 二.条件运算符使用 (一)语法格式 (二)案例演示 任务1.计算分段函数值 思考题:不用条件运算符怎么计算分段函数值? 任务2.根据输入年龄提示不同信息 ...

  8. Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符

    文章目录 零.本讲学习目标 一.逻辑运算符概述 二.逻辑运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.闰年判断 课堂练习:计算三角形面积 零.本讲学习目标 掌握逻辑运算符的基本 ...

  9. Java学习笔记2.3.2 运算符与表达式 - 赋值运算符

    文章目录 零.本讲学习目标 一.赋值运算符概念 二.赋值运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 1.一次对多个变量赋值 2.演示复合赋值运算符 零.本讲学习目标 掌握赋值运算符的 ...

  10. JAVA学习笔记(四十九)- Swing相关组件

    JFrame组件 import java.awt.Color;import javax.swing.JFrame; import javax.swing.JPanel;/** Swing是在AWT基础 ...

最新文章

  1. mysql5.7编译安装路径_MySQL_MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径,安装环境需求: 自从昨天安 - phpStudy...
  2. Unhandled promise rejection Error: errCode: -501007 invalid parameters | errMsg: Invalid Key Name: _
  3. vs2017编译QT with ssl
  4. C++模板的注意事项
  5. scala中def_def关键字以及Scala中的示例
  6. leetcode - 300. 最长上升子序列
  7. 软件工作相关考试001---PMP等各种考试
  8. 惠斯通电桥信号调理芯片_变频器通电后无反应,如何检查维修?
  9. UVA 12161 Ironman Race in Treeland (树分治)
  10. Apache Flink 1.7.2 发布,流处理框架
  11. 121道分布式面试题和答案
  12. 2016年 最火的 15 款 HTML5 游戏引擎
  13. 4款开源的中文分词系统
  14. win7计算机怎么录屏,win7电脑怎么录屏?这个实用工具给你答案!
  15. vue问题解决 extract:echarts: sill extract echarts@^4.2.0-rc.2 extracted to
  16. BUUCTF Crypto [HDCTF2019]together wp
  17. 计算机病毒有熊猫病毒,世界最厉害的电脑病毒排名 熊猫烧香病毒最使人讨厌...
  18. HTML——表白树动画
  19. 2020年计算机应用基础试题二,2020年计算机应用基础试题及答案
  20. 18100出多少取整_电子表格里小数取整用什么公式?

热门文章

  1. C++友元函数和友元类(三)
  2. ROC 曲线和 AUC 值
  3. 重温强化学习之马尔可夫决策过程(MDPs)
  4. 强化学习(一)---绪论
  5. tableau可视化数据分析60讲(十九)-tableau仪表板布局
  6. ClickHouse 在字节跳动广告场景的应用
  7. 深度学习核心技术精讲100篇(十五)-搜索引擎Indri系列之安装及使用
  8. Elasticsearch 使用过程中有哪些坑?教你避开这些坑
  9. Linux du命令和df命令区别
  10. MapReduce编程实战之“调试”