java基础(二):变量和数据类型

1. java的基本数据类型

java是一种强类型语言,每个变量都必须声明其类型。

 

2.变量

变量:一个数据存储空间的表示。

不同数据存入具有不同 内存地址的空间,相互独立

使用变量的步骤:

 变量命名规则:

 

 变量命名规范:

  通常第一个单词的首字母小写,其后单词的首字母大写。

 关键字/保留字:

先声明变量并赋值,然后才能使用。

int %hour = 18; 代码错误  ,变量名不能以%开始

局部变量和实例变量

局部变量:方法或语句块内部定义的变量 在使用前必须先声明和初始化(赋初值)。

实例变量(成员变量): 方法外部、类的内部定义的变量 如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0 ,布尔型默认是false)  

常量定义:

使用关键字 final

final double PI = 3.14;

常量只能被初始化一次。

命名规范

  •  所有变量,方法,类名:见名知意
  • 变量、方法名:
    • 首字母小写,和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则

java语言支持的运算符

 

 ^   按位异或 

~   取反

>>>  无符号右移:忽略符号位,空位都以0补齐

例如:4的2进制表示为  100

>> 1 右移1位 二进制为 10 ,十进制为2

<< 1 左移1位,二进制为1000, 十进制为8

>>> 1 无符号右移1位 二进制为  10 

 

二元运算符类型提升:

整数运算: 如果两个操作数有一个为Long, 则结果也为long 没有long时,结果为int。

即使操作数全为shot,byte,结果也是int.

浮点运算: 如果两个操作数有一个为double, 则结果为double. 只有两个操作数都是float, 则结果才为float.

 

逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。

 

字符串连接符

“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

三目条件运算符

语法格式: x ? y : z 

自动类型转换:

容量小的数据类型可以自动转换为容量大的数据类型。

优化: 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

例如:

short b = 12; //合法

short b = 1234567; //非法

 

 黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。

自动类型转换规则:

1.满足自动类型转换的条件 两种类型要兼容: 数值类型(整型和浮点型)互相兼容

2.目标类型大于源类型: 例如:double 型大于 int 型

强制类型转换

又被称为造型,用于显式的转换一个数值的类型.

在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出

语法:

(类型名)表达式

int b = (int)10.2;

小数格式化:

import java.text.DecimalFormat
double a = 2.3659874;
//小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入)
DecimalFormat df = new DecimalFormat("0.000");
String num = df.format(a);
System.out.println(num);
posted @   Vincent-yuan  阅读(285)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2019-05-29 RabbitMQ学习之Topics(5)
点击右上角即可分享
微信分享提示