变量
就是可以变化的量
java是一种强类型语言,每个变量都必须声明其类型、
可以是基本类型,也可以是引用类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
变量作用域
类变量 写在类里面的,要加上static(静态的意思)
实例变量 写在方法外面,类里面。从属于对象
局部变量 写在方法里面,只在{}里有用
常量
标识符
java所有的组成部分都需要名字。类名(例如class),变量名以及方法名(例如main)都被称为标识符
数据类型
基本类型
1数值类型
整数
- byte 表示-128~127,占一个字节
- short 表示-32768~ 32767,占两个字节
- ✓int 表示正负21亿,占四个字节
- long 占八个字节,要在数字后加L
表示
二进制 0b
八进制0 例如010 表示8
十六进制0x 0x10 表示16
浮点(小数)
float占四个字节,要在数字后加F
✓double占八个字节
浮点数是有限的,离散,舍入误差,接近但不等于
最好完全避免使用浮点数进行比较!
例如
点击查看代码
float f1 = 23232322323122f;
float f2 = f1 + 1;
System.out.println(f1==f2);//true
点击查看代码
float f = 0.1f;
float d = 1.0/10;
System.out.println(f==d);//false
字符 char占两个字节,只能输入一个字
2boolean(布尔)
boolean flag = true/false,占一位bit
引用类型
类(例如string) 接口 数组
类型转换
运算中,不同类型的数据先转换为同一类型,然后再进行运算
因为java是强类型语言
小数的优先级一定大于整数
强制转换
(类型)变量名,从高到低
int i = 128;
byte b =(byte) i;//内存溢出
自动转换
从低到高
int i = 128;
double b = i;
tip
不能对布尔值进行转换
不能把对象类型转化为不相干的类型,人不能转化成猪
可能会有精度值问题
多类型相加时只要含有一个long/double/int,结果会自动转化为long/double/int
运算符
a = 10 把10赋值给a
等于需要用两个符号==,!= 不等于
- — * / %取余(模运算) 二元运算符(需要两个数)
++,--自增自减 一元运算符
b = 3, c = 5
逻辑运算符
逻辑与 两个都为真,结果才为true
逻辑或 有一个为真,结果就是true
逻辑非 true则变为false,false则变为true
位运算(效率高)
& 按位与 上下对照,两个都是1才是1,否则是0
/ 按位或 两个都是0才是0,否则是1
^ 按位异或 相同是0,不同是1
~ 取反
<< 左移(指向左就是左移)
例如2<<3 = 16,相当于x2
右移,相当于除2
字符串连接符
- 任意一侧出现string即可
条件运算符(三元运算符)
优先级问题
打()
注意
- java大小写敏感
- 尽量使用英文
- 文件名和类名(class)一致,首字母大写
- java是一种强类型语言(安全性高 速度慢),所有变量都必须先定义后使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现