一、变量

  1、 何为变量?:在数学中变量就是一个不确定的量,随时都会改变,在java中变量也是这样,只不过它是内存中装载数据的小盒子,你只能用它来存数据和取数据。

  

  2、 变量的基本类型(四类八种),见下图:

3、 变量使用的注意事项

   1) 变量定义后可以不赋值,使用时再赋值,不赋值不能使用。

   2) 变量使用时有作用域的限制(一对花括号{}为一个作用域,即变量在一个花括号内声明只能在此花括号内使用)。

   3) 变量不可以重复定义

4、 数据类型转换

   将各种数据类型按照数据范围从小到大依次列出:

    byte->short->int->long->float->double

自动类型转换

表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换

自动类型转换格式:

范围大的数据类型 变量 = 范围小的数据类型值;

如:

强制类型转换

表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换

强制类型转换格式:

范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;

如:

二、运算符

1、 算算术运算符

  运算符是用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。

  算术运算符最常见的操作就是将操作数参与数学计算,具体使用看下图:

我们在使用算术运算符时,记得要注意下列事项:

  1) 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

  2) 除法 / 当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。

  3) % 为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。

  4) 整数做被除数,0不能做除数,否则报错。

2、 运算符++、--的使用

  在一般情况下,算数运算符不会改变参与计算的变量值。而是在原有变量值不变的情况下,计算出新的值。

  但是有些操作符会改变参与计算的变量的值,比如++,--。

  看一段代码

上面代码的输出结果a值为4,b值为2。

说明a的原有值发生了改变,在原有值的基础上自增1;b的原有值也发生了改变,在原有值的基础上自减1。

++运算符会在原来的基础上自增1。

--运算符会在原来的基础上自减1。

我们再看一段代码

上面代码的输出结果a值为4,b值为2。

这说明++,--运算符单独使用,不参与运算操作时,运算符前后位置导致的运算结果是一致的。

接下来,介绍下++,--运算符后置时,参与运算操作时,发生了怎样的变化,我们来看一段代码:

上面代码的输出结果a值为4,b值为13。

这里我要强调一下了,当++,--运算符参与运算操作时,后置++,--的作用:

++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1。

再介绍下++,--运算符前置时,参与运算操作的变化,我们来看一段代码:

上面代码的输出结果a值为4,b值为14。

这里我强调一下,当++,--运算符参与运算操作时,前置++,--的作用:

++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。

3、 赋值运算符

   赋值运算符的使用看下图:

注意:诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。

写一个代码,我们看一下赋值运算符的使用

运行结果如下图所示

  4、比较运算符

    比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true

    或者false。

赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:

  1) 赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量。

  2) 比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。

我们通过下面的一段代码,我们演示一下这个注意事项:

上面代码输出的结果第一个值为4,第二个值为false。

5、 逻辑运算符

逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。

看完图后,我们来看一下逻辑运算符的常规使用方式:

逻辑运算符通常连接两个其他表达式计算后的布尔值结果

当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。

我们通过代码演示一下:

我们来总结一下运算符的结果规律吧:

1) 短路与 && :参与运算的两边数据,有false,则运算结果为false,如果左边为false,右边不参与运算。

2) 短路或 || :参与运算的两边数据,有true,则运算结果为true,如果左边为true,右边不参与运算。

3) 逻辑非 ! :参与运算的数据,原先是true则变成false,原先是false则变成true。

6、 三目运算符

接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算

的数据。

格式:

表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如:

1)3 + 2 ,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。

2)3 > 2 ,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表

三元运算符运算规则:

先判断 条件表达式 的值,若为 true ,运算结果为 表达式1 ;若为 false ,运算结果为 表达式2 。

通过代码演示,我们来学习下三元运算符的使用:

7、 运算符优先级

一张图明了:

java-基础语法01的更多相关文章

  1. 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序

    006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...

  2. 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介

    005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...

  3. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  4. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  5. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  6. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  7. Java基础语法01——变量与运算符

    本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).

  8. Java基础语法01

    一.Java入门 Java 是最好的语言吗? 不是,因为在每个领域都有更合适的编程语言. Java技术体系平台 JavaSE//JavaEE//JavaME Java程序的结构 类{ 方法{ 语句; ...

  9. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

  10. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

随机推荐

  1. MyBatis Generator 详解 专题

    idea中有plugin可提高效率: http://www.henryxi.com/use-idea-mybatis-plugin-generate-mapper-files eg: <?xml ...

  2. Java CLASSPATH 引发的问题

    # 问题 在做 OJ 的时候,由于程序需要编译运行,出于安全性考虑,我选择利用类 ProcessBuilder ,一个通过命令行调用 Java 程序的类. 我在 Eclipse 中或者在 CMD 中执 ...

  3. VS2012中使用CEGUI项目发布到XP平台的问题(核心方法就一句话。“你项目使用的所有外部依赖库都用/MT编译。”)

    接着上一篇文章,详细说说如何把一个带CEGUI的项目发布到XP平台. 这个问题纠缠了我好几天.这里把详细解决思路记下来.有同样问题的朋友可以少走很多弯路. 核心方法就一句话.“你项目使用的所有外部依赖 ...

  4. mvn 命令在command prompt无法识别

    Download maven from this website: https://maven.apache.org/download.cgi 解压binary包后放到一个位置,比如C:\apache ...

  5. vs2015 cordova环境安装【个人遇到的几个问题】

    原文:vs2015 cordova环境安装[个人遇到的几个问题] 问题1: vs2015,设置  Debug  Android 设备[真机调试] Exception in thread "m ...

  6. mysql多对一、多对多查询实践

    最近做的功能涉及这方面,算是练了一下. 首先多对一部分较简单.多的那一方表,多设置一个字段是少的那一方的id(主键). 具体查询时候关联查询即可. 可设置外键进行级联操作. 具体以后做到这个功能再更新 ...

  7. Linux之文件的压缩与解压缩

    压缩格式 .zip,.rar,.7z,.tar,.gz,.xz,.bz2,.tar.gz,.tar.xz,.tar.bz2,其中,形如*.tar.gz为tar打包,gz压缩的文件 zip压缩打包程序 ...

  8. [转] Protobuf高效结构化数据存储格式

    从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结.下面的操作以C++为编程语言,protoc的版本为libprotoc 3.2.0. 一.Protobuf? 1. 是什么?  Goo ...

  9. springboot 2.x处理404、500等异常

    404错误 404错误是不经过Controller的,所以使用@ControllerAdvice或@RestControllerAdvice无法获取到404错误 springboot2处理404错误的 ...

  10. Qt:解析命令行(使用QCommandLineOption和QCommandLineParser)

    Qt从5.2版开始提供了两个类QCommandLineOption和QCommandLineParser来解析应用的命令行参数. 一.命令行写法命令行:"-abc" 在QComma ...