Java的基本数据类型和运算方法(必看篇)
发布时间 - 2026-01-11 02:22:12 点击率:次编码

ASCII--0~127 65-A 97-a
西欧码表---ISO-8859-1---0-255---1个字节
gb2312----0-65535---gbk---2个字节
Unicode编码体系---utf-8---3个字节
中 f
bit位 Byte字节 1Byte = 8bit 1KB=1024B MB GB TB PB---计算机中存储单位
常量
整数常量---所有的整数 3,99,107
小数常量---所有的小数 3.5 100.9
字符常量---用单引号将一个字母、数字、符号标识起来 ‘a' ‘=' ‘ '
字符串常量---用双引号将一个或者多个字符标识起来 “abc” “234” “q2” “”
布尔常量---用于表示逻辑值---true/false
空常量---null
5-整数, 5.0-小数 ‘5'-字符 “5”-字符串 ‘5.0'-写法错误 “5.0”-字符串
进制
二进制:满二进一,0~1 1+1=10 0b10011 0b0011,从JDK1.7开始,允许以0b作为开头来标识一个数字是一个二进制数字
八进制:满八进一,0~7, 7+1=10 要求必须以0作为开头 06 015
十进制:满十进一,0~9
十六进制:满十六进一,0~9,,A~F,9+1=A f+1=10 要求以0x作为开头 0x5 0xad
进制的转换
十进制转换成二进制:不断除以2取余,然后将余数倒排
二进制转换成十进制:从低位次起,按位次乘以2的位次次幂,然后求和
二进制转换成八进制:从低位次起,每三位划分为一组,不足三位补0,产生一位八进制数字,将这些数字按序排列即可
八进制转换成二进制:一变三---一位八进制数字产生三位二进制数字
二进制转换成十六进制:四变一的过程
变量
System.out.println(i);
int i = 5;---不行---变量必须先声明在使用
int i;
System.out.println(i);---不行----变量在使用之前必须先初始化
数据类型
基本数据类型
数值型
整数型
byte---字节型---1个字节--- -2^7~2^7-1 --- -128~127
byte b = 5; byte b2 = -128;
short---短整型---2个字节--- -2^15~2^15-1 --- -32768~32767
short s = 54; short s = -900;
int---整型---4个字节--- -2^31~2^31-1
int i = 100000;
int j = 100_000_000;--从JDK1.7开始是允许的。在编译的时候会自动忽略这些_ -> int j = 100000000;
int i = 00001111;---八进制
Java中整数默认类型就是int
long---长整型---8个字节--- -2^63~2^63-1---以L作为结尾标识这个数字是一个long类型的数字
long l = 3L;
浮点型
float---单精度---4个字节---必须以f作为结尾
float f = 3.2f;
double---双精度---8个字节
Java中小数默认是double类型
double d = 3.5;
double d = 4.6D;---可以
double d = 3.9e4; //是十进制的科学计数法
double d = 0x3p2; //是十六进制的科学计数法 -> 12
字符型
char---2个字节--- 0 ~65535
char c = ‘a';
char c = ‘中';
布尔型
boolean---true/false
boolean b = false;
引用数据类型
类---class 接口---interface 数组---[]
数据类型的转换
隐式转换/自动类型转换
byte b = 100;
int i = b;
long l = 63;---可以---当整数的值在int类型的范围内的时候,可以不用添加L这个结尾
规律一:小的类型可以转化为大的类型---byte->short->int->long float->double
int i = 5;
float f = i;
long l = 6;
float f = l;
规律二:整数可以转化为小数,但是可能产生精度损失
char c = ‘a';
int i = c;
规律三:字符型可以转化为整型
short s = ‘a';---可以
char c = 100;---可以
char c = ‘a';
short s = c;---不可以
定义了char类型的变量c,存储的数据是一个字符,不需要检查具体的字符编码,当赋值给short类型的时候,short需要检查这个字符对应的编码是否在short类型的取值范围内,这个时候无法确定这个字符对应的具体编码,由于short类型的取值范围和char类型没有完全重合,为了防止出现超过范围的情况,不允许赋值。
short s = 97;
char c = s;--不可以
显式转换/强制类型转换
long l = 54;
int i = (int)l;
double d = 3.5;
int i = (int)d;---小数强转成整数的时候,小数部分直接舍弃
double类型不能精确存储小数
Hexadecimal--十六进制
Decimal--十进制
Octal---八进制
Binary--二进制
运算符
算术运算符
+加 -减 *乘 /除 %取模 ++自增 --自减 +字符串拼接
int i = 5210 / 1000 * 1000;--->i = 5000;
注意:
1. 整数运算完成之后结果一定是整数
2. 整数除以0的时候,编译通过,运行报错---ArimeticException---算术异常
3. 小数除以0的结果是Infinity
4. 0/0.0的结果是NaN---Not a Number---非数字
5. byte/short类型在运算的时候会自动提升为int类型
%取余运算
-5%3=-2 -4%3=-1 -3%7=-3
5%-3=2 7%-2=1 2%-8=2
-5%-3=-2 -9%-3=0
对于负数的取余,先按照正数的取余运算,看取余符号左边的数字的符号,如果左边是负数,那么结果就是负数
5%1.2=0.2 6%1.3=0.8
4.3%1.4=0.1
++/--
对于++在原来的基础上自增1
int i = 5;
int j = ++i;---> i自增1,然后将i的值赋值给j---先自增,再运算
int j = i++;--->先获取i的值5,i自增变成6,然后将获取的值5赋值给j---先运算,再自增
int i = 3;
int j = ++i * 2;-> j = 8;
int j = i++ * 2;->j = 6
int i = 6;
int j = i++ + ++i;->i = 8; j = 14;
int j = ++i + i++;->i = 8; j = 14
byte b = 5;
b++;---JVM在底层会对结果进行强制类型转换,将结果再转换为byte类型
char c = ‘a';
System.out.println(c + 4);--可以
char c2 = ‘d';
System.out.println(c + c2);---提升为int类型之后再进行运算
+ 字符串拼接运算
“a” + “b”---> “ab”
“a” + 3---> “a3”
“a” + true-> “atrue”
2 + 4 + “f”-> “6f”
“f” + 2 + 4-> “f24”
赋值运算符
= += -= *= /= %= &= |= ^= <<= >>= >>>= ~=
int i= 5;
i += 3; -> i = i + 3; -> i = 8;
i -= 2;-> i = i - 2;-> i = 3;
int j;
j += 4;---不行
int i = 5;
i += i -= i *= 5;--> i = -15;
i = 5 + ( 5 - (5 * 5)) ;
i += i -= i *= ++i;--->i = -20;
i += i*= i-= (i++ + --i);---> i = -20;
i = 5 + ( 5 * (5 - (5 + 5)));
byte b = 5;
b += 3;---可以
byte b = 125;
b += 3;---可以--- -128
比较/关系运算符
==相等 !=不等 > < >= <= instanceof
3 == 4;-> false
instanceof---判断对象与类的关系的--只能用于引用数据类型
String s = “abd”;
System.out.println(s instanceof String);---true
System.out.println(“def” instanceof String);---true
逻辑运算符
用于运算逻辑值
&与 |或 !非 ^异或 &&短路与 ||短路或
true&true=true true&false=false false&true=false false&false=false
true|true=true true|false=true false|true=true false|false=false
!true=false !false=true
true^true=false true^false=true false^true=true false^false=false
对于&&,如果前一个表达式的值为false,那么就能确定整个表达式的值为false,&&后边的运算就不再进行了
三元/三目/条件运算符
逻辑值?表达式1:表达式2
如果逻辑值为true,执行表达式1;反之执行表达式2
int i = 5, j = 7;
i > j ? System.out.println(i): System.out.println(j);---不行!三元运算符运算完成之后必须有结果!
double d = i > j ? i * 2.5 : j;---两个表达式的返回值类型要么一致,要么相容
从控制台获取数据
import java.util.Scanner; //写在package之下,class 之上
Scanner s = new Scanner(System.in);
int i = s.nextInt();
double d = s.nextDouble();
String str = s.nextLine();
String str2 = s.next();
以上这篇Java的基本数据类型和运算方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# java数据类型和运算
# Java基本数据类型和运算符详解
# Java数据类型与MySql数据类型对照表
# java中long数据类型转换为int类型
# Java中八种基本数据类型的默认值
# Java数据类型转换详解
# Java的数据类型和参数传递(详解)
# Java运算符>、>>、>>>三者的区别
# Java中比较运算符compareTo()、equals()与==的区别及应用总结
# 详解Java中运算符及用法
# java数据类型和运算符的深入讲解
# 运算符
# 转换成
# 是一个
# 整型
# 值为
# 不可以
# 给大家
# 布尔
# 转化为
# 必须先
# 西欧
# 二进制数
# 结果是
# 就能
# 多个
# 浮点
# 不需要
# 基础上
# 希望能
# 会对
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速生成专业多端适配建站电话?
如何快速重置建站主机并恢复默认配置?
javascript基本数据类型及类型检测常用方法小结
原生JS获取元素集合的子元素宽度实例
linux top下的 minerd 木马清除方法
,交易猫的商品怎么发布到网站上去?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何处理异常和错误?(Handler示例)
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
使用Dockerfile构建java web环境
利用python获取某年中每个月的第一天和最后一天
如何快速建站并高效导出源代码?
Java类加载基本过程详细介绍
Thinkphp 中 distinct 的用法解析
Android自定义控件实现温度旋转按钮效果
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
iOS UIView常见属性方法小结
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Python文件流缓冲机制_IO性能解析【教程】
如何快速打造个性化非模板自助建站?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Java遍历集合的三种方式
JS实现鼠标移上去显示图片或微信二维码
网站建设要注意的标准 促进网站用户好感度!
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel如何创建自定义中间件?(Middleware代码示例)
Laravel如何实现API资源集合?(Resource Collection教程)
PHP 500报错的快速解决方法
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
jQuery中的100个技巧汇总
Laravel如何实现事件和监听器?(Event & Listener实战)
Swift中循环语句中的转移语句 break 和 continue
如何快速搭建个人网站并优化SEO?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
javascript日期怎么处理_如何格式化输出
如何在阿里云购买域名并搭建网站?
node.js报错:Cannot find module 'ejs'的解决办法
香港服务器租用费用高吗?如何避免常见误区?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何基于PHP生成高效IDC网络公司建站源码?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)

