IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JAVA--数据类型与运算符 -> 正文阅读

[Java知识库]JAVA--数据类型与运算符

这是一篇对JAVA数据类型与运算符的简单梳理框架以及注意事项

一、变量和类型

? ?1.整型变量

int num=10;
system.out.println(num);

? int占四个字节(-2^31~2^31)和操作系统没有直接关系.

? ?2.长整形变量

long num=10L;
system.out.println(num);

L最好大写以免与1相似,long占八个字节(-2^63~2^63)

? 3.双精度浮点型变量

double num=1.0;
system.out.println(num);

在Java中int除以int的值依旧是整型int(如有小数则会直接舍弃小数部分只留整数部分)。

double占八个字节,但因为浮点数的内存布局与整数相差很大,不能直接用2^n的形式表示范围。

? 4.单精度浮点型变量

float num=1.0f;
system.out.println(num);

float占四个字节,但精度范围较小,一般优先考虑double。

? 5.字符类型变量

char ch='A';
system.out.println(ch);

java中用Unicode表示字符,一个字符占用两个字节,表示的字符种类很多包括中文。

? 6.字节类型变量

byte value =0;
System.out.println(value);

字节类型表示的也是整数,只占一个字节表示的范围较小(-128~127)

? 7.短整型变量

short value =0;
system.out.println(value);

short占用两个字节(-32768~32767)

? 8.布尔类型变量

boolean value =0;
System.out.println(value);

boolean类型的变量只有true和false两种取值(真和假)。

Java的boolean类型和int类型不能相互转换。

Boolean有些占一个字节但没有明确规定。

? 9.字符串类型变量

string name ="zhangsan";
System.out.println(name);

与上面不同,string是引用类型。

字符串中一些不太方便表示的字符需要转义。

//创建一个字符串 My name is "张三"
string name ="My name is\"张三\""
转义字符解释
\n换行
\t水平制表符
\'单引号
\"双引号
\\反斜杠

二、常量

? ? 1.字面值常量

10/010/0x10/10L/1.0/1.5e2/1.0f/true/'a'/"abc"

? ? 2.fianl关键字修饰的常量

final int a=10;

a=20;//编译出错,无法为最终变量a分配值

常量不能在运行过程中发生修改。

三、相关规则

? ?1.变量的作用域

变量生效的范围是变量定义所在的代码块(即变量定义所在的大括号)

{
 {
  int x=10;
  System.out.println(x);//编译通过
 }
 System.out.println(x);//编译失败,找不到变量x
}

? ?2.变量命名的规则

  • 变量名只能包含数字,字母,下划线(也可有¥$)
  • 数字不能开头
  • 推荐小驼峰命名法(当变量名由多个单词组成的时候,除了第一个单词之外,其他单词首字母都大写)

? ?3.理解类型转换

long 表示的范围更大,可以将 int 赋给给 long,但是不能将 long 赋给 int.

double 表示的范围更大,可以将 int 赋值给 double ,但是不能将double赋值给int.

  • 不同数字类型的变量之间赋值,表示的范围更小的类型能隐式转换成范围较大的类型,反之则不能。
  • int 和boolean是毫不相干的两种类型,不能相互赋值。
  • 使用字面值常量赋值的时候,Java会自动进行一些检查校验,判断赋值是否合理。
  • 强制类型转换可能导致精度丢失,而且不一定可以成功,互不相干的类型之间无法强转。

? ?4.理解数值提升

int a= 10;
long b= 20;
int c= a+b;//编译出错,提示将long转化成int会丢失精度
long d= a+b;//编译成功
  • 当int和long混合运算的时候,int会提升成long,而int可以转化成long而long不可以转化成int,如果非要用int来接受结果则需要进行强制类型转换。
byte a=10;
byte b=20;
byte c=a+b;
System.out.println(c);//编译报错
  • byte和byte是相同的类型但是计算a+b会先将a和b都提升成int在进行计算,所以最后的结果也是int型赋给c。
  • 由于计算机的cpu通常是按照四个字节为单位从内存中读取数据,所以像byte和short这种低于四个字节的类型会先提升为int再参与计算。

? ?5.int和string之间的相互转换

int num =10;
//方法一 
string str1 = num+"";
//方法二
string str2 = string.valueof(num);
string str ="100";
int num =integer.parseInt(str);

四、运算符

? ?1.算数运算符

  • int除以int 还是int,需要计算的话应使用double。
  • 0不能做除数。
  • %表示除余
  • 增量赋值运算符+=? -=? *=? /=??%=(a+=1就是a=a+1)
  • 自增自减运算符++? ?--

? ? 2.关系运算符

  • ==? ?!=? ?<? ?>? ?<=? ?>=
  • 关系运算符的表达式返回值都是boolean类型

? ? 3.逻辑运算符

  • &&? ?||? ?!(操作数和返回值都是boolean)
  • 前两者都是短路求值的规则,对于&&,如果左侧表达式值为false,则表达式的整体的值一定是false,无需计算右侧表达式;对于||,如果左侧表达式为true则整体的值一定是true,无需计算右侧表达式。

? ? 4.位运算符

  • &(按位与)? ?| (按位或)? ~ (按位取反)? ^(按位异或)
  • java当中对数据操作的最小单位不是字节而是二进制

? ? 5.移位运算

  • <<? ? >>? ? >>>(都是按照二进制来运算)
  • <<? 最左侧不要了,最右侧补0.
  • >>? 最右侧不要了,最左侧补0.(正数补0,负数补1)
  • >>> 无符号右移,最右侧位不要了,最左侧补0

? ? 6.条件运算符

  • 表达式1?表达式2:表达式3
  • Java中唯一的三目运算符

补充:给定一个十进制整数,如何转化成二进制形式,如何转化成十六值形式?

? ?转化成二进制:除二取余,自下而上。

? ?转化成十六进制:除十六取余,自下而上。

?

?

?

?

?

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:16:13  更:2021-10-28 12:18:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:59:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码