5.运算符

(1)算数运算符

//算数运算符:+ - * / %(取余)
//++ --(自增,就是在原有数据基础上+1,再赋给原有数据)
///int x = 6370;
//x = x/1000*1000;
//int a = 4, b = 5;
//int a = 3,b;
//b = a++;
//System.out.println("a="+a+",b="+b);
//int i = 3;
//i = i++;
//System.out.println(i);

(2)赋值运算符

//赋值运算符: = += -+ *= /+
//int a,b,c;
//a = b = c = 3;
short a = 4;
//a+=2;//编译成功,自动进行了类型的提升。赋值过程中做了强制转换动作。是赋值运算具有的特点。
a = a+2;//编译失败,+的值不确定,可能会丢失精度。
System.out.println(a);

(3)比较运算符

class OperateDemo
{
  public static void main(String[] args)
  {
  /*
   输出true,比较运算符,运算出肯定室友结果,比较运算符运算出的结果要么是true,要么是false
  */
  System.out.println(3>2);
  }
}

比较运算符

运算符

运算

范例

结果

==

相等于

4==3

false

!=

不等于

4!=3

true

<

小于

4<3

false

>

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

false

instanceof

检查是否是类的对象

“Hello”  instanceof String

true

注1:比较运算符的结果都是boolean型,也就是要么true,要么false。

注2:比较运算符“==”,不能误写成“=”

(4)逻辑运算符

逻辑运算符有什么作用?

用于连接两个boolean类型的表达式

运算符

运算

范例

结果

&

and(与)

false&true

false

|

  • or(或)

false|true

true

^

xor(异或)

false^true

true

!

not(非)

!true

false

&&

and(短路)

false&&true

false

||

  • or(短路)

false||true

true

class OperateDemo
{
public static void main(String[] args)
{
/*
输出true,比较运算符,运算出肯定室友结果,比较运算符运算出的结果要么是true,要么是false
逻辑运算符有什么作用?
用于连接两个boolean类型的表达式
| 运算特点:
|运算两边只要有一个是true,结果肯定是true。
只要两边都是false,结果是false。
true^true = true;
true^false = true;
false^true = true;
false^false = false;
^ 异或:和或有点不一样。
^运算特点:
^符号两边如果相同,结果是false。
两边的结果不同,结果是true。
true^true = false;
true^false = true;
false^true = true;
false^false = false;
&& 下面对比&与&&的相同点和不同点
&&:和&运算的结果是一样的,但是运算过程有点小区别
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为假时,右边是不参与运算的。
int x = 3;
&&与与
x>2 & x<5 true
x>2 && x<5 true
int x = 6;
&&与与
x>2 & x<5 false
x>2 && x<5 false
int x = 1;
&&与与
x>2 & x<5 false
x>2 && x<5 false//只有左边为假,右边就直接不运算了,相当于物理中的电流不通,断路了,当然返回结果还是false。
||:
和|运算的结果是一样的,但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为假时,右边是不参与运算的。
*/
System.out.println(3==2);
}
}

(5)位运算符

位运算符

运算符

运算

范例

<<

左移

3<<2=12-->3*2*2=12

>>

右移

3>>1=1-->3/2=1

>>>

无符号右移

3>>>1=1-->3/2=1

&

与运算

6&3=2

|

或运算

6|3=7

^

异或运算

6^3=5(一个数异或同一个数2次,结果还是这个数)

~

反码

~6=-7

位运算符细节

<<

空位补0,被移除的高二进制位丢弃,空位补0.

>>

被移位的二进制最高位是0,右移后,空位补0;最高位是1,空位补1.

>>>

被移位的最高位无论是0或者是1,空位都补0.

&

二进制位进行&运算,只有1&1时结果是1,否则是0.

|

二进制进行|运算,只有0|0时结果是0,否则是1.

^

相同二进制进行^运算,结果是0;1^1=0,0^0=0;

不同二进制进行^运算结果是1.

~

(6)三元运算符

格式:条件表达式?表达式1:表达式2

如果条件为true,运算后的结果是表达式1

如果条件为false,运算后的结果是表达式2

示例:

获取两个数中的数值大的数

  int x = 3,y=4;
z=(x>y)?x:y;//z变量存储的就是两个数的大数。

6.语句

(1)判断结构

if语句三种格式

a.if(条件表达式){

执行语句

}

b. if(条件表达式){

执行语句

}else{

执行语句

}

c. if(条件表达式){

执行语句

} else if(条件表达式){

执行语句

} else{

执行语句

}

If:

a. 对具体的值进行判断

b. 对区间进行判断

c. 对运算结果是boolean类型的表达式进行判断

(2)选择结构

switch(需要判断的值)

{

case "值1":

执行语句1;

break;

case "值2":

执行语句2;

break;

case "值3":

执行语句3;

break;

default:

默认执行语句;

break;

}

Switch:

a. 对具体的值进行判断

b. 值的个数通常是固定的

对于几个固定值的判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高一点。

(3)循环结构

while(条件表达式)

{

执行语句;

}

int x = 1;
while(x<3)
{
System.out.println("x="+x);
x++;
}

java学习第03天(运算符、语句)的更多相关文章

  1. java学习阶段三:运算符和结构学习

    import java.util.Scanner;/* * JAVA中运算符的学习: * 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. * 赋值运算符:=.+=.-=.*=./=. ...

  2. java学习第04天(语句、函数、数组)

    (3)循环结构 格式: for(初始化表达式,循环条件表达式,循环后的操作变大时){ 执行语句,循环体: } 注: a. for循环里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真 ...

  3. java学习第二天 回顾运算符

    一.回顾运算符: 补充: 三元运算符. 代码: /* 三目运算符: 三元运算符: 结构: 条件?条件成立的结果 :条件不成立的结果 ; */ class Demo1 { public static v ...

  4. 【8-21】java学习笔记03

    内部类(静态内部类&非静态内部类) 静态外部类成员方法(如main方法)不能直接访问内部类,但是可以通过外部类的方法,在其中创建内部类实例对象,间接使用: 非静态内部类可以直接访问外部类的私有 ...

  5. Java学习笔记三:运算符

    1.算术运算符: GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac01.java +  -  *  /  ...

  6. Java学习笔记之——if条件语句和三目运算符

    一.if条件语句 语法: if(条件){ 执行语句1: }else{ 执行语句2: } 二.三目运算符 ?    条件运算符 语法: 表达式?结果1:结果2: 如果表达式结果为true,则结果为结果1 ...

  7. java学习(二)运算符

    一.运算符 赋值运算符:=  +=  -=  *=  /=  %= 算术运算符:+ - *  /  %   ++   -- int x = 3;  int y = 4   int c = x*1.0 ...

  8. java学习笔记之位运算符

    java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如  3&5=1 ...

  9. java 学习第二篇关系运算符和布尔值

    关系运算符,顾名思义.用来看什么关系.(也就是用来比较) 看下表 JAVA 关系运算符 a=6,b=5 关系运算符 举例 值 解释 > a>b true a大于b < a<b ...

随机推荐

  1. [翻译]:Cinemachine 官方文档(0)

    目录 Overview : Installation and Getting Started :安装并开始 User Guide :用户指南 What is Cinemachine? : 什么是Cin ...

  2. 关于使用AzureCli登陆提示SSLError的错误解决方案

    如果使用Powershell的azure cli命令登陆Azure时提示sslerror,大致如下的错误: 这个是由于你的网络前有网关造成的ssl验证没法通过. 解决方案: 在powershell中执 ...

  3. 华为云Istio服务网格,让应用治理智能化、可视化

  4. 20135327郭皓--Linux内核分析第四周 扒开系统调用的三层皮(上)

    Linux内核分析第四周 扒开系统调用的三层皮(上) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/U ...

  5. Beta博客集合

    Beta博客集合 Task1:beta冲刺准备 冲刺准备 Task2:Beta阶段冲刺合集 Beta阶段冲刺一 Beta阶段冲刺二 Beta阶段冲刺三 Beta阶段冲刺四 Beta阶段冲刺五 Task ...

  6. java8新特性(三)_Optional类的使用

    说实话,我第一次知道这个东西是从阿里规约中,因为公司前一段时间一直在搞代码审核,我的代码写的就感觉很烂,就像规范下.让别人看起来没那么烂.于是就开始看阿里规约,在看到NPE处理的时候,上面提到用Opt ...

  7. mybatis之一对一关联

    MapperAsso.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper ...

  8. 【题解】第n小的数

    题目描述 给你一些整数,你要找出第n小的数,也就是说把数据按升序排序后,输出下标是n的那个数,注意,我们规定下标是从0开始的.但是我们给出的数据的格式比较奇怪,我们是按区间给出,例如:给出两个区间:[ ...

  9. BZOJ2440 中山市选2011完全平方数(容斥原理+莫比乌斯函数)

    如果能够知道不大于n的合法数有多少个,显然就可以二分答案了. 考虑怎么求这个.容易想到容斥,即枚举完全平方数.我们知道莫比乌斯函数就是此种容斥系数.筛出来就可以了. 注意二分时会爆int. #incl ...

  10. group replication && Galera replication

    不愧是 Oracle 的 MySQL Community Manager,把对手的 Galera Cluster 讲得一无是处. http://lefred.be/content/group-repl ...