算数运算符 

+    相加  字符串的连接  正数

-    相减  负数

*    相乘

/    相除    10 / 3 ==》 3  两个操作数中精度最高的是int 结果也是int

%    取模(求余)

++ 自增

-- 自减

++ 和 -- 只能够用在变量上面,不能够用在常量
a = i++:先将i的值赋给a,再自增1      a = ++i;先自增1,再将i的值赋值给a
特殊:1/0        报异常(运行报错)
      1/0.0      infinity(无限大)在java中0.0不为0,而是无限接近于0的数
      0.0/0.0    NaN(不是一个数字)
      a = NaN  if(a==a)为false(java中唯一一个自己不等于自己的特例)

赋值运算符:

=,+=,-=, *=,/=, %=

byte a = 3; a = a+5  会出现错误:a+5是一个int了类型(byte,short,char在参与运算时会自动提升为int)          
            a += 5;正确

比较运算符

==    判断是否相等

>,<, >=, <=,!=

------> 运行结果都是布尔值

> < <= >= 只能够是数字之间才可以运用

==  !=  可以使任意的类型

逻辑运算

&   逻辑与 效果相当于 and  并且    同时为true 结果才是true

|   逻辑或 效果相当于 or   或者    只要有一个为true  结果true

&&  逻辑双与 效果相当于 and  并且

||  逻辑双或 效果相当于 or   或者

^   异或

!  逻辑非

① 逻辑运算的结果是一个布尔值

② 参与逻辑运算的都是布尔值(或者说结果为布尔值的表达式)

一元

int i = 1;   i++

二元

3 + 4

表达式: 由一些常量 变量 运算符组成的一个算式

int a = 10;

double d = 3.14;

a + d * (110 - 100)

----->写这样的表达式的目的? 希望得到一个结果值

表达式的值的类型 是整个表达式中精度最高的

三元运算

格式:

X ? Y : Z

① 把 X ? Y : Z 看成是一个表达式  ----》 关注结果值

② X 可以是一个布尔值,或者是一个结果值为布尔类型的表达式;

③ Y 和 Z 都是整个表达式的结果值

Y 或者 Z  可能是一个常量值,也可能是一个变量,还可能是一个表达式

④ 如果 X的值是true ,那么整个三元运算表达式的值就是 Y的值;

如果 X的值是false ,那么整个三元运算表达式的值就是 Z的值;

⑤ ? r = X ? Y : Z   ----> Y Z 的类型必须一致

对于优先级在java中都可以使用括号解决,所以不必在意优先级。

选择语句

if(条件){

// 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

}

if(条件){

// 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

}else{

// 如果条件的值为false 则执行一次这一对大括号中的所有代码,否则就不执行

}

if(条件1){

// 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

}else if(条件2){

// 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

}else if(条件3){

// 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

}else{

}

---------------------------------------------

② switch

switch(变量){

case 变量可能的值1 :

// 功能执行语句;

break;

case 变量可能的值2 :

// 功能执行语句;

break;

....

default:

// 功能执行语句;

break;

}

注意事项:

① 执行顺序会从switch中的先找case 进行匹配,

如果找到了就执行其中的代码,执行完毕遇到break就结束整个switch;

如果所有的case都不匹配才执行default

② switch中的 多个case和default的顺序可以是任意的;

但是在实际开发中建议 安装case的值大小进行排列,然后default写在最后;

③ break; 从匹配的开始开始,到第一个break之间的的其它的case不会判断而是执行所有的功能执行语句,如果后面都没有break,就到整个switch结束

④ case后面的值类型必须和swtich()中的变量的类型一致

⑤ switch中()中的变量的类型支持哪些?

java5之前 byte  short  char  int

java5开始 枚举(enum) 在面相对象的时候

java7开始 String

java基础2_运算符,选择语句的更多相关文章

  1. java基础之运算符与语句

    一.运算符 1.算数运算符 运算符 名称 举例 + 加法 A等于10,B等于3 则A+B=13 - 减法 A等于10,B等于3 则A-B=7 * 乘法 A等于10,B等于3 则A*B=30 / 除法 ...

  2. Java基础06-条件选择语句

    1.switch多分支结构 import java.util.Scanner; public class Test1{ public static void main(String[] args){ ...

  3. Java基础-比较运算符Compare Operators

    Java基础-比较运算符Compare Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关系运算符 关系运算符包括: 1>.大于(>) 2> ...

  4. Java基础-算术运算符(Arithmetic Operators)

    Java基础-算术运算符(Arithmetic Operators) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java程序通过运算符实现对数据的处理,Java中的运算符包括: ...

  5. Java基础-位运算符Bitwise Operators

    Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^ ...

  6. 2.2JAVA基础复习——JAVA语言的基础组成运算符和语句

    JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...

  7. Java基础语法(基本语句)

    Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1.      数字不可以开头2.      不可以使用关键字Java中 ...

  8. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

  9. Java流程控制之选择语句

    选择语句 选择语句也称之为判断语句,主要有2种写法,一种是if语句,一种是switch语句.下面我们就详细的介绍一下这2种语句的用法. 判断语句if if语句第一种形式: if 格式: 执行流程 首先 ...

随机推荐

  1. How do I get the path of the current executed file in Python?

    First, you need to import from inspect and os from inspect import getsourcefile from os.path import ...

  2. VS2008控件全部消失

    新建VS2008项目之后,本该位于工具箱的控件全部消失不见,只剩下"#13119"提示,修复方法如下: 注:不一定三步都需要用到,仅在当前步骤无效情况下才用到下一步 1.步骤一 ( ...

  3. rsync参数及通信

    rsync 支持:  本机数据 <-------> 远程数据/本地数据 意义:  支持增量拷贝 --> 备份,节省带宽,时间   rsync -avL 一.常用选项  ******* ...

  4. C语言中,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句, ...

  5. 也说python的类--基于python3.5

    在面向对象的语言中,除了方法.对象,剩下的一大重点就是类了,从意义上来讲,类就是对具有相同行为对象的归纳.当一个或多个对象有相同属性.方法等共同特征的时候,我们就可以把它归纳到同一个类当中.在使用上来 ...

  6. 经受时间沉淀的15 个 Android 通用流行框架大全

    1. 缓存 名称描述 DiskLruCache: Java实现基于LRU的磁盘缓存 2.图片加载 名称描述 Android    Universal Image Loader 一个强大的加载,缓存,展 ...

  7. C# ADO.net 数据库连接池

    前一阵开发一套系统,同组的同事提供了一个数据库连接组件,是他自己封装的,使用了自定义的连接池,用着很是不爽,而且经常会因为程序不严谨的原因,导致连接池里的连接被用完,也导致其他错误,因此我想自己研究一 ...

  8. C 标准库系列之float.h

    float.h 内部主要包含了一系列的浮点数宏.指明可移植程序必要的常量:浮点数格式一般为Spxbe;其中S表示+-:p表示底数.b表示基数如2.8.10.16等进制,e为指数标识E或e: 在一般情况 ...

  9. [BI项目记]-新任务创建

    上一篇介绍了如何处理一个Bug工作,此篇主要介绍如何借助TFS对于一个新需求创建一个新的工作项. 这里假定,有一个新的需求,需要创建五个报表. 然后开发的工作流程如下: 这个流程总结起来大致如下: 首 ...

  10. C++ 系列:内存布局

    转载自http://www.cnblogs.com/skynet/archive/2011/03/07/1975479.html 为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内 ...