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-[运算符]相关推荐

  1. java 左右两边数据类型不一样_java基础语法

    常量 什么是常量 值不能改变的量 为什么使用常量 在开发不可避免的要用来一些数,这时候就可以使用常量 常量的分类 1.整型    整数 2.浮点型  小数 3.布尔类型  只有两个值用来表示真与假tr ...

  2. java支持的数据类型有哪些_Java支持的数据类型有哪些?什么时候自动装拆箱?...

    java中的8种基本数据类型:boolean byte char short int float double long 自动拆装箱的问题引入: 由于在一开始学习java的时候,"万物皆对象 ...

  3. java怎么判断数据类型_Java 数据类型及其判断

    一.Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型: byte.short.char.int.long.float.double.boolean它们之间的比较,应该用双等号(= ...

  4. java 基本的数据类型_Java的基本数据类型介绍

    1. Java的数据类型 Java的数据类型包括基本数据类型和引用数据类型.其中基本数据类型就是我们通常所说的4类8种数据类型,如下图所示,4类即整数类型.浮点数类型.字符型和布尔型,8种即byte. ...

  5. java数据类型的站位_Java 数据类型在实际开发中应用

    在前边的文章中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...

  6. Java学习笔记01—Java概述、数据类型、变量、标识符、类型转换

    1. Java概述 1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Uni ...

  7. java的基本数据类型_java基本数据类型有哪些?

    展开全部 java的基本数据类型有: 1.布e68a84e8a2ad62616964757a686964616f31333431373764尔型(boolean) 取值范围:True 或 False ...

  8. Java中的基本数据类型是哪些_java中基本数据类型有哪些

    java中基本数据类型有哪些 发布时间:2021-01-16 09:19:21 来源:亿速云 阅读:98 作者:小新 小编给大家分享一下java中基本数据类型有哪些,希望大家阅读完这篇文章之后都有所收 ...

  9. java的数据类型有哪些_Java的变量的数据类型有哪些

    Java是一门强类型的编程语言,它对变量的数据类型有严格的限定.在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错.在Java中变量的数据类型分为两种,即基本数 ...

最新文章

  1. HDU 1271整数对
  2. 如果你要实现IOC,请简单描述一下实现步骤?
  3. 13、mysql中视图的应用
  4. 最右显示请求服务器不存在,修改合流任务_实时音视频 RTC_服务端API参考_合流任务管理_华为云...
  5. 批量创建用户邮箱并修改别名
  6. myPRO HMI/SCADA 产品被曝多个严重漏洞
  7. IDEA 报 「Could not autowire. No beans of ‘UserMapper‘ type found」错误解决方案
  8. python-threading.Event实现事件功能--汽车过红绿灯(转载)
  9. JavaSE基础笔记——JOptionPane编写员工管理系统;GUI使用;写一个超级数组
  10. Word文档的基本操作
  11. uni-app学习心得和填坑,关于uni-app 打包h5 页面的坑
  12. Matlab中filter.m和filtfilt.m函数C语言实现
  13. 一文看全!史上以来的59家测序仪公司
  14. windows 2003 系统优化参考
  15. phpcms编辑器添加一键排版控件
  16. TCP套接口的FIN_WAIT_2状态超时
  17. 获取当前所在地的天气
  18. 利用FPGA仿真软件modelsim仿真波形显示图片
  19. 什么是Tushare
  20. 制作三星I9088 刷机ROM的实践(二)

热门文章

  1. python中的一些算法
  2. 移动端H5图片上传的那些坑
  3. 十二天深入理解计算机系统(一)
  4. 小白学数据分析-----从购买记录分析道具支付环节
  5. Html5+razor+jqmobile尝鲜
  6. 不为人知的网络编程(七):如何让不可靠的UDP变的可靠?
  7. centos6上虚拟主机的实现
  8. antd源码解读(4)- ButtonGroup
  9. 如何打造一个小而精的电商网站架构?
  10. 我的javaweb学习之旅--html常用块级标签