一、变量

  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. 潜移默化学会WPF--值转换器

    原文:潜移默化学会WPF--值转换器 1. binding 后面的stringFormat的写法----连接字符串 <TextBlock Text="{Binding Path=Qty ...

  2. WPF 获得DataGridRow和 DataGridCell的方法

    原文:WPF 获得DataGridRow和 DataGridCell的方法 原文地址 简介 在WPF中,DataGrid控件并没有提供访问其DataGridRow或者DataGridCell的方法. ...

  3. XF 导航页面

    using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; [assembly: XamlCompilation (XamlCompila ...

  4. Lexer的设计--下(5)

    一个礼拜之后我终于从成都回来了, 从今天开始更新会恢复... 一点小的改进 写lex()的时候距离我上一次写已经一个礼拜了, 所以我回顾了一下之前的代码, 发现还是有瑕疵. 比如考虑到一个较短的程序, ...

  5. WPF将点列连接成光滑曲线——贝塞尔曲线

    原文:WPF将点列连接成光滑曲线--贝塞尔曲线 背景 最近在写一个游戏场景编辑器,虽然很水,但是还是遇到了不少问题.连接离散个点列成为光滑曲线就是一个问题.主要是为了通过关键点产生2D的赛道场景.总之 ...

  6. /etc/passwd和/etc/group文件详解

    用户管理 想要知道, 系统中有哪些用户, 可以查看这个文件: /etc/passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nolo ...

  7. AStyle 2.02版本 AStyle(全称Artistic Style)是一个C、C++、C#和Java源代码缩进、格式化和美化工具

    http://download.csdn.net/detail/akof1314/3323725

  8. Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)

    Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build ...

  9. 解决C/C++程序执行一闪而过的方法(使用getchar,或者cin.get,不推荐system(“pause”))

    简述 在VS编写控制台程序的时候,包括使用其他IDE(Visual C++)编写C/C++程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上system(“pause”).g ...

  10. AnmpServer 0.9.3 发布

    摘要: AnmpServer是一款集成Apache服务器.Nginx服务器.MySQL数据库.PHP解释器的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发,助力PH ...