java-基础语法01
一、变量
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的更多相关文章
- 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序
006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...
- 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介
005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...
- 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...
- 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...
- Java基础语法01——变量与运算符
本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).
- Java基础语法01
一.Java入门 Java 是最好的语言吗? 不是,因为在每个领域都有更合适的编程语言. Java技术体系平台 JavaSE//JavaEE//JavaME Java程序的结构 类{ 方法{ 语句; ...
- Java基础语法入门01
Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
随机推荐
- 潜移默化学会WPF--值转换器
原文:潜移默化学会WPF--值转换器 1. binding 后面的stringFormat的写法----连接字符串 <TextBlock Text="{Binding Path=Qty ...
- WPF 获得DataGridRow和 DataGridCell的方法
原文:WPF 获得DataGridRow和 DataGridCell的方法 原文地址 简介 在WPF中,DataGrid控件并没有提供访问其DataGridRow或者DataGridCell的方法. ...
- XF 导航页面
using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; [assembly: XamlCompilation (XamlCompila ...
- Lexer的设计--下(5)
一个礼拜之后我终于从成都回来了, 从今天开始更新会恢复... 一点小的改进 写lex()的时候距离我上一次写已经一个礼拜了, 所以我回顾了一下之前的代码, 发现还是有瑕疵. 比如考虑到一个较短的程序, ...
- WPF将点列连接成光滑曲线——贝塞尔曲线
原文:WPF将点列连接成光滑曲线--贝塞尔曲线 背景 最近在写一个游戏场景编辑器,虽然很水,但是还是遇到了不少问题.连接离散个点列成为光滑曲线就是一个问题.主要是为了通过关键点产生2D的赛道场景.总之 ...
- /etc/passwd和/etc/group文件详解
用户管理 想要知道, 系统中有哪些用户, 可以查看这个文件: /etc/passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nolo ...
- AStyle 2.02版本 AStyle(全称Artistic Style)是一个C、C++、C#和Java源代码缩进、格式化和美化工具
http://download.csdn.net/detail/akof1314/3323725
- Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)
Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build ...
- 解决C/C++程序执行一闪而过的方法(使用getchar,或者cin.get,不推荐system(“pause”))
简述 在VS编写控制台程序的时候,包括使用其他IDE(Visual C++)编写C/C++程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上system(“pause”).g ...
- AnmpServer 0.9.3 发布
摘要: AnmpServer是一款集成Apache服务器.Nginx服务器.MySQL数据库.PHP解释器的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发,助力PH ...