欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据类型与运算符

程序员文章站 2022-03-19 15:31:20
变量和类型变量:程序运行时可变的量,相当于开辟一块内内存空间保存一些数据。类型:对变量的种类进行划分,不同类型的变量具有不同的特性。整型变量基本语法:int 变量名=初始值;java中一个int变量占4个字节,和操作系统没有关系也就是说没有64位和32位的概念。数值范围:-2^31~ 2^31-1代码示例:int mum=10;注意int 表示变量的类型是一个整型变量名是变量的标识. 后续都是通过这个名字来使用变量Java 中 = 表示赋值(和数.....

变量和类型

变量:程序运行时可变的量,相当于开辟一块内内存空间保存一些数据。

类型:对变量的种类进行划分,不同类型的变量具有不同的特性。

  • 整型变量

基本语法

int 变量名=初始值;

java中一个int变量占4个字节,和操作系统没有关系也就是说没有64位和32位的概念。
数值范围:-2^31~ 2^31-1

代码示例

int mum=10;

注意
  1. int 表示变量的类型是一个整型
  2. 变量名是变量的标识. 后续都是通过这个名字来使用变量
  3. Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值.
  4. 初始化操作是可选的, 但是建议创建变量的时候都显式初始化.
  5. 最后不要忘记分号, 否则会编译失败.
  6. // 表示注释. 注释作为代码的解释说明部分, 不参与编译运行
  • 长整型

基本语法格式

long 变量名=初始值;

java中long类型占8个字节
数值范围:-2^63~ 2^63-1

代码示例

long num=10L;//也可以写成10l

注意
  1. 基本语法格式和创建 int 变量基本一致, 只是把类型修改成 long
  2. 初始化设定的值为 10L , 表示一个长整型的数字. 10l 也可以.
  3. 使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些.
  • 双精度浮点型变量

基本语法格式

double 变量名=初始值;

java中的double虽然也是8个字节,但是浮点数的内存布局和整数差别很大,不能单纯的用2^n表示数据范围
Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差.

代码示例

double num=1.0;

  • 单精度浮点型变量

基本语法格式

float 变量名=初始值;

java中float类型占4个字节,同样遵守IEEE 754标准。

代码示例

float num=1.0f;//1.0F也可以

  • 字符类型变量

基本语法格式

char 变量名=初始值;

代码示例

char ch=‘A’;

注意
  1. java中使用单引号+单个字母的形式表示字符字面值。
  2. 计算机中的字符的本质是一个整数,C语言中使用ASCII码表示字符,java中使用Unicode表示字符,一个字符表示两个字节表示的字符种类更多,包括中文。

字符编码方式参见如下:
点击跳转字符编码深究

  • 字节类型变量

基本语法格式

byte 变量名=初始值;

代码示例

byte val=0;

注意事项
  1. 字节类型表示的也是整型,只占一个字节,范围-2^7~ 2^7-1
  2. 字节类型与字符类型互不相干
  • 短整型变量

基本语法格式

short 变量名=初始值;

代码示例

short val=0;

注意事项
  1. short 占用 2 个字节, 表示的数据范围是 -32768 ~ +32767
  2. 这个表示范围比较小, 一般不推荐使用.
  • 布尔类型变量

基本语法格式

boolean 变量名=初始值;

代码示例

boolean val=true;

注意
  1. 布尔类型变量的值只取两种:true表示真,false表示假
  2. java中boolean和int不能相互转换,不存在1表示true,0表示false用法。
  3. boolean在jvm有些是1个字节,有些是1个比特位,没有明确规定。
  • 字符串类型变量

基本语法格式

String 变量名=“初始值”;

代码示例

String name=“zpf”;

注意事项
  1. java中使用双引号+若干字符的性标识字符串字面值。
  2. String不是基本数据类型而是引用类型。
  3. 字符串中一些特定的不能直接表示的字符需要进行转义。
  4. 当一个+表达式中存在字符串的时候,都会执行字符串拼接行为。
转义字符对照表

数据类型与运算符

  • 变量的作用域

变量的生效范围,一般是变量定义的代码块中(大括号呢中)

  • 变量的命名规则

硬性指标
  1. 一个变量只能字母,数字,下划线
  2. 不能以数字开头
  3. 变量名对大小写时敏感的,大小写含义是不同的
软性指标
  1. 变量名具有描述性,见名知意。
  2. 变量名不宜使用拼音
  3. 变量名的词性推荐使用名词
  4. 变量名使用小驼峰命名法,由多个单词构成时,第一个单词的首字母小写,其余单词的首字母大写。

int maxValue=100;

  • 常量

字面值常量

10,10.0,‘A’,"zpf"等

final关键字修饰的常量

final int a=10;

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

  • 变量和常量的区别

  1. 变量:运行期间可以改变的,并且变量的值是在运行时候才知道的。
  2. 常量:在编译期间就确定它的值,并且在运行期间不能再进行修改
  • 类型提升

int和long混合运算

int和long混合运算时,int会提升为long类型,需要使用long类型的变量接收结果,非要用int接收结果就必须进行整型提升。

byte和byte的运算

byte和byte进行运算时,byte都会提升为int然后在进行运算,结果也要用int来接收。

由于计算机的cpu通常是按照4个字节为单位从内存中读取数据,为了硬件上实现的方便,诸如short和int这种小于int的4个字节的类型,都先会提升为int,再参与运算。

类型转换总结
  1. 不同数字类型的变量之间的赋值,表示范围更小的类型能隐式转换为范围较大的类型。
  2. 如果需要把范围的类型赋值给范围小的类型,需要强制类型转换,但是可能会有精度损失。
  3. 将一个字面值常量进行赋值的时候,java会自动对数字范围进行检查。
  • 图总

数据类型与运算符

运算符

  • 算术运算符

基本四则运算

+, -, *, %, /

增量运算符
  1. 增量赋值运算符

+=,-=,*=,/=,%=

  1. 自增/自减运算符

++,–
前置自增/自减是先参加运算在自增/自减
后置自增/自减是先自增/自减再参加运算

陷阱
int i=10;
i=i++;
System.out.println(i);//结果i=10 c语言中i=11
  • 关系运算符

== != >= <= > <

运算符的表达式关返回值都是boolean类型

  • 逻辑运算符

&& || !

逻辑&&(也称短路与)

规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

逻辑或

规则:两个操作数都为false,结果才问ifalse,否则结果为true

逻辑!

规则:操作数为true,结果为false.操作数为false,结果为true,这个运算符是一个单目运算符,只有一个操作数。

短路求值
  1. 对于 && , 如果左侧表达式值为 false, 则表达式的整体的值一定是 false, 无需计算右侧表达式.
    比特科技
  2. 对于 ||, 如果左侧表达式值为 true, 则表达式的整体的值一定是 true, 无需计算右侧表达式
  • 位运算

& | ~ ^

位操作表示按照二进制位运算,计算机中都是用二进制来表示数据,按位运算是按二进制位的每一位进行计

按位&

如果两个二进制位都是1,则结果为1,否则结果为0

按位|

如果两个二进制位都是0,则结果为0,否则结果为1

按位~

如果该位为1则转为0,该位为0则转为1

按位异或^

如果两个二进制位相同,则结果为0,相异结果为1

  • 移位运算

<< >> >>>

左移<<

左侧舍弃,右侧补0

右移>>

右侧舍弃,左侧补符号位(正)数补0,负数补1)

无符号右移

右侧舍弃,左侧补0

面试题

如何将一个数乘N或除N,一定要回答用左移或右移,一定不要说乘除,真的很low,计算机只认识左右移,乘除还要转换成左右移,明显低效率。

注意
  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义
  • 条件运算符

表达式1?表达式2:表达式3

当表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.

注释

  • 基本规则

单行注释://
多行注释:/* /
文档注释:/
* */

  • 注释规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).

本文地址:https://blog.csdn.net/qq_45630711/article/details/111881005

相关标签: JAVA SE