java 左右两边数据类型不一样_Java笔记-day004-[运算符]
java中的数据类型
两种\无数种
基本数据类型\引用数据类型
基本数据类型的分类[四类八种]
布尔类型
boolean true\false
字符类型
char 不区分中英文统一两个字节16个位
取值范围: 0 -65535
整数类型
byteshortintlong
位8163264
字节1248
我们在使用整数类型的时候呢,需要去注意他们的取值范围
尤其是在我们做乘法运算的时候需要注意应用Long
定义long类型的时候我们需要在数值后面加L或小写的L
浮点类型
floatdouble
位3264
字节48
默认值是Double如果我们需要使用float 需要在后面加F\f
double d = 45;//?45.0
int i = (int)45.5;//?45
Java中的运算符
+ - * / %
++两边如果是基本数据类型算数运算、
+两边如果是基本数据类型+String 那么就是字符串的拼接
-
*
/Java中整数/整数 = 整数;
%取模运算符求余数
+= -= *= /= %=
[他们能够保证运算符的左边的数据类型不发生改变 -》 隐式的强转]
面试题:
short x = 1;
x = x + 1;
System.out.println(x);//错误
short y = 1;
y += 1;//y = (short)(y + 1);
System.out.println(y);//2
++ --
[a:取值 b:运算x++ -> 先a后b++x -> 先b后a]
<= >= ! = != == < >
> < >= <= -> 返回类型boolean类型 -》 true/false
!: 非 !boolean
!true = false!false = true
!=: 判断左右两边的值是否不相等
System.out.println(45 != 45);//false
=和== 之间的区别?
=:赋值运算符 将右侧的值交给左侧的变量保管
==: 判断两边值是否相等 相当于数学上的等于
& && | ||
&&和&之间的区别?
相同点:&&和&都是逻辑的与 相当于汉文中并且的意思
需要前后两个条件都成立才可以
不同点:&&叫做逻辑的短路与 有短路特性
短路特性:如果通过前面的条件已经可以得出最终的结果
后面的条件直接舍弃不再判断
&既可以作为逻辑运算符 还可以作为按位运算符
||和|之间的区别?
相同点:||和|都是逻辑的或 相等于汉文中或者的意思
需要前后只要有一个条件成立就可以
不同点:||叫做逻辑的短路或 有短路特性
短路特性:如果通过前面的条件可以得出最终结果的话
后面的条件直接舍弃 不再判断
& | ^ ~(按位(二进制)运算符)
& | 什么情况下表示按位运算符 什么情况下表示逻辑运算符?
看运算符两边的数据类型:
如果两边是boolean类型 -> 逻辑运算符
如果两边是数字 -> 按位运算符
基本用法:(非重点)
&:按位的与 需要上下都为1才写1
System.out.println(7 & 5);//5
7:4 + 2 + 1 = 111(二进制码)
5:4 + 1 = 101(二进制码)
111
&101
101 -> 4 + 1 = 5
|:按位的或 上下只要有1就写1
System.out.println(7 | 5);//7
111
|101
111 -> 4+2+1=7
^:按位的异或 上下只要不一样就写1
System.out.println(7 ^ 5);//2
111
^101
010 -> 2
---交换两个变量的值---
int x = 39;
int y = 74;
A:创建第三块空间
int z = x;
x = y;
y = z;
B:不借助第三块空间的方式交换
x = x ^ y;
y = x ^ y;
x = x ^ y;
~:按位取反 原本二进制1 -> 0 0 -> 1
byte x = 5;
~x;
5: 4+1=00000101 -> 11111010(二进制码)
11111111 -> -1 - 1 - 4 = -6
***重点:************
&:
在某些情况下&可以取代%的元素
某些情况:
当我们拿着一个正数%上2的n次方数的时候
其实他的结果完全等价于
我们拿着这个数字&上2的n次方数-1的结果
27%2%4%8%16.......%2(n)
13311
27&1&3&7&15.......&2(n)-1
13311
>> << >>>(位(二进制)移运算符)
<>相等于除以 移动多少位相等于乘以/除以2的几次方数
*2*4*8*16.....*2(n)
<<1<<2<<3<<4.....<
/2/4/8/16...../2(n)
>>1>>2>>3>>4.....>>n
>>和>>>之间的区别?
>>叫做有符号右移 移动之后空缺的高位看原本的符号位
byte x = 55;
x >> 2;
55:32 + 16 + 4 + 2 + 1 = 00110111
00110111
00001101
byte x = -55;
x >> 2;
-55:-1-32-16-4-2 = 11001001
11001001
11110010
>>>叫做无符号右移 移动之后空缺的高位直接补0
byte x = 55;
x >>> 2;
00110111
00001101
byte x = -55;
x >>> 2;
11001001
00110010
三目运算符
1 ? 2 : 3
1:永远是个判断条件
2:符合条件要执行的语句
3:不符合条件要执行的语句
java 左右两边数据类型不一样_Java笔记-day004-[运算符]相关推荐
- java 左右两边数据类型不一样_java基础语法
常量 什么是常量 值不能改变的量 为什么使用常量 在开发不可避免的要用来一些数,这时候就可以使用常量 常量的分类 1.整型 整数 2.浮点型 小数 3.布尔类型 只有两个值用来表示真与假tr ...
- java支持的数据类型有哪些_Java支持的数据类型有哪些?什么时候自动装拆箱?...
java中的8种基本数据类型:boolean byte char short int float double long 自动拆装箱的问题引入: 由于在一开始学习java的时候,"万物皆对象 ...
- java怎么判断数据类型_Java 数据类型及其判断
一.Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型: byte.short.char.int.long.float.double.boolean它们之间的比较,应该用双等号(= ...
- java 基本的数据类型_Java的基本数据类型介绍
1. Java的数据类型 Java的数据类型包括基本数据类型和引用数据类型.其中基本数据类型就是我们通常所说的4类8种数据类型,如下图所示,4类即整数类型.浮点数类型.字符型和布尔型,8种即byte. ...
- java数据类型的站位_Java 数据类型在实际开发中应用
在前边的文章中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...
- Java学习笔记01—Java概述、数据类型、变量、标识符、类型转换
1. Java概述 1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Uni ...
- java的基本数据类型_java基本数据类型有哪些?
展开全部 java的基本数据类型有: 1.布e68a84e8a2ad62616964757a686964616f31333431373764尔型(boolean) 取值范围:True 或 False ...
- Java中的基本数据类型是哪些_java中基本数据类型有哪些
java中基本数据类型有哪些 发布时间:2021-01-16 09:19:21 来源:亿速云 阅读:98 作者:小新 小编给大家分享一下java中基本数据类型有哪些,希望大家阅读完这篇文章之后都有所收 ...
- java的数据类型有哪些_Java的变量的数据类型有哪些
Java是一门强类型的编程语言,它对变量的数据类型有严格的限定.在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错.在Java中变量的数据类型分为两种,即基本数 ...
最新文章
- HDU 1271整数对
- 如果你要实现IOC,请简单描述一下实现步骤?
- 13、mysql中视图的应用
- 最右显示请求服务器不存在,修改合流任务_实时音视频 RTC_服务端API参考_合流任务管理_华为云...
- 批量创建用户邮箱并修改别名
- myPRO HMI/SCADA 产品被曝多个严重漏洞
- IDEA 报 「Could not autowire. No beans of ‘UserMapper‘ type found」错误解决方案
- python-threading.Event实现事件功能--汽车过红绿灯(转载)
- JavaSE基础笔记——JOptionPane编写员工管理系统;GUI使用;写一个超级数组
- Word文档的基本操作
- uni-app学习心得和填坑,关于uni-app 打包h5 页面的坑
- Matlab中filter.m和filtfilt.m函数C语言实现
- 一文看全!史上以来的59家测序仪公司
- windows 2003 系统优化参考
- phpcms编辑器添加一键排版控件
- TCP套接口的FIN_WAIT_2状态超时
- 获取当前所在地的天气
- 利用FPGA仿真软件modelsim仿真波形显示图片
- 什么是Tushare
- 制作三星I9088 刷机ROM的实践(二)