java学习第03天(运算符、语句)
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 |
| |
|
false|true |
true |
^ |
xor(异或) |
false^true |
true |
! |
not(非) |
!true |
false |
&& |
and(短路) |
false&&true |
false |
|| |
|
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天(运算符、语句)的更多相关文章
- java学习阶段三:运算符和结构学习
import java.util.Scanner;/* * JAVA中运算符的学习: * 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. * 赋值运算符:=.+=.-=.*=./=. ...
- java学习第04天(语句、函数、数组)
(3)循环结构 格式: for(初始化表达式,循环条件表达式,循环后的操作变大时){ 执行语句,循环体: } 注: a. for循环里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真 ...
- java学习第二天 回顾运算符
一.回顾运算符: 补充: 三元运算符. 代码: /* 三目运算符: 三元运算符: 结构: 条件?条件成立的结果 :条件不成立的结果 ; */ class Demo1 { public static v ...
- 【8-21】java学习笔记03
内部类(静态内部类&非静态内部类) 静态外部类成员方法(如main方法)不能直接访问内部类,但是可以通过外部类的方法,在其中创建内部类实例对象,间接使用: 非静态内部类可以直接访问外部类的私有 ...
- Java学习笔记三:运算符
1.算术运算符: GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac01.java + - * / ...
- Java学习笔记之——if条件语句和三目运算符
一.if条件语句 语法: if(条件){ 执行语句1: }else{ 执行语句2: } 二.三目运算符 ? 条件运算符 语法: 表达式?结果1:结果2: 如果表达式结果为true,则结果为结果1 ...
- java学习(二)运算符
一.运算符 赋值运算符:= += -= *= /= %= 算术运算符:+ - * / % ++ -- int x = 3; int y = 4 int c = x*1.0 ...
- java学习笔记之位运算符
java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如 3&5=1 ...
- java 学习第二篇关系运算符和布尔值
关系运算符,顾名思义.用来看什么关系.(也就是用来比较) 看下表 JAVA 关系运算符 a=6,b=5 关系运算符 举例 值 解释 > a>b true a大于b < a<b ...
随机推荐
- 技术进阶:Kubernetes高级架构与应用状态部署
在了解Kubernetes应用状态部署前,我们先看看Kubernetes的高级架构,方便更好的理解Kubernetes的状态. Kubernetes 的高级架构 包括应用程序部署模型,服务发现和负载均 ...
- PAT甲题题解-1010. Radix (25)-二分搜索
题意:给出n1和n2,以及其中一个数的进制,问另一个数是多少进制的情况下,才会是两个数相等.不存在的话,则输出Impossible 这题思路很简单,但是要考虑的比较多,在简单题里面算是比较好的. 有两 ...
- 《Linux内核设计与实现》Chapter 5 读书笔记
<Linux内核设计与实现>Chapter 5 读书笔记 在现代操作系统中,内核提供了用户进程与内核进行交互的一组接口,这些接口的作用是: 使应用程序受限地访问硬件设备 提供创建新进程与已 ...
- [转载] Activiti Tenant Id 字段释疑
TENANT_ID_ : 这个字段表示租户ID.可以应对多租户的设计. 转载自: http://www.cnblogs.com/yg_zhang/p/4201288.html http://www. ...
- Linux命令(六) 查看文件 cat tac more less tail
如果要查看文件,使用 cat less tac tail 和 more 中的任意一个即可. 1.cat 使用 cat 命令查看文件时会显示整个文件的内容,注意cat只能查看文本文件的内容,如 ...
- [转帖]devops 容器管理平台 rancher 简介
https://testerhome.com/topics/10828 chenhengjie123 for PPmoney · 2017年11月13日 · 最后由 c19950809 回复于 201 ...
- 通过第三方软件打开sqlite
1.SQLite Expert 使用之前,可以先下载SQLite Expert,方便查看.db3数据库 下载链接是http://www.sqliteexpert.com/ 可以谷歌找到licen ...
- day3——关于<s:if/>和文件上传
一个小的注意点 <s:if test='#backyear==#yearatd'>selected="selected"</s:if> <s:if t ...
- 免费SSL证书(https网站)申请
如何拥有一个自己的免费的SSL证书,并且能够长期拥有.这篇文章让你找到可用的免费证书o(* ̄︶ ̄*)o 各厂商提供的免费SSL基本是Symantec(赛门铁克),申请一年,不支持通配符,有数量限制. ...
- Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins问题的解决
今天换了个maven仓库,结果新建maven工程的时候,忽然报错: Cannot read lifecycle mapping metadata for artifact org.apache.mav ...