温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解析Java基本数据类型和运算符

发布时间:2021-10-15 15:37:17 来源:亿速云 阅读:131 作者:柒染 栏目:编程语言

这篇文章将为大家详细讲解有关如何解析Java基本数据类型和运算符,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

基本数据类型

Java 是一种强类型的语言,声明变量时必须指明数据类型。变量(variable)的值占据一定的内存空间。不同类型的变量占据不同的大小。Java中共有8种基本数据类型,包括4 种整型、2 种浮点型、1 种字符型、1 种布尔型,请见下表。

Java基本数据类型

数据类型      说明      所占内存      举例      备注              byte      字节型      1 byte      3,127                    short      短整型      2 bytes      3,32767                    int      整型      4 bytes      3,21474836                    long      长整型      8 bytes      3L,92233720368L      long最后要有一个L字母(大小写无所谓)              float      单精度浮点型      4 bytes      1.2F,223.56F      float最后最好有一个F字母(大小写无所谓)。              double      双精度浮点型      8 bytes      1.2,      1.2D,223.56,223.56D      double最后最好有一个D字母(大小写无所谓)。              char      字符型      2 bytes      'a','A'      字符型数据只能是一个字符,由单引号包围。              boolean      布尔型      1 bit      true, false

Java中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,Java中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:

public class PrimitiveTypeTest {  public static void main(String[] args) {   // byte   System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);   System.out.println("包装类:java.lang.Byte");   System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);   System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);   System.out.println();    // short   System.out.println("基本类型:short 二进制位数:" + Short.SIZE);   System.out.println("包装类:java.lang.Short");   System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);   System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);   System.out.println();    // int   System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);   System.out.println("包装类:java.lang.Integer");   System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);   System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);   System.out.println();    // long   System.out.println("基本类型:long 二进制位数:" + Long.SIZE);   System.out.println("包装类:java.lang.Long");   System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);   System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);   System.out.println();    // float   System.out.println("基本类型:float 二进制位数:" + Float.SIZE);   System.out.println("包装类:java.lang.Float");   System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);   System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);   System.out.println();    // double   System.out.println("基本类型:double 二进制位数:" + Double.SIZE);   System.out.println("包装类:java.lang.Double");   System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);   System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);   System.out.println();    // char   System.out.println("基本类型:char 二进制位数:" + Character.SIZE);   System.out.println("包装类:java.lang.Character");   // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台   System.out.println("最小值:Character.MIN_VALUE="     + (int) Character.MIN_VALUE);   // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台   System.out.println("最大值:Character.MAX_VALUE="     + (int) Character.MAX_VALUE);  } }  

整数型

整数型包括byte、short、int和long。

public class Demo1 {public static void main(String[] args) {//字面值 默认是int类型byte n1 = 12;short n2 = 45;int n3 = 456;long n4 = 67L;// L 或 l  }}

二进制太长可以使用下划线来进行区分

public class Demo1 {public static void main(String[] args) {        int n5 = 0B1010_1111_0011_1100;//二进制用0B或0b表示        int n6 = 017;//八进制用0表示        int n7 = 0xffff;//十六进制用0x或0X表示        long n8 = 12345678987654321L;  }}

浮点型

浮点型包括double和float。

注意:1.不要在数量级相差很大的浮点类型之间进行运算。2.避免进行等量的判断

import java.math.*;public class Demo1 {public static void main(String[] args) {float f1 = 34.5f;//f 或 F 默认为 double类型double d1 = 456.78d;//后缀 d 或 D double d2 = 2.4e20;// e或 E 以 10为底 //浮点型可以表示十六进制,但是必须以科学//计数法表示,而且 以 p为底double d3 = 0x3.4p20;// p或 P以2 double d4 = 2.4e20;double d5 = d4 + 1;double num1 = 0.1;double num2 = 0.2;double num3 = num1 + num2;//0.3//java.langSystem.out.println(num3 == 0.3);//不一样 输出结果falseSystem.out.println(num3);//输出结果 0.30000000000000004//处理 java.math包BigDecimal number1 = new BigDecimal("0.1");BigDecimal number2 = new BigDecimal("0.2");System.out.println(number1.add(number2));//输出结果 0.3}}

字符型

char类型

char类型是一个单一的 16 位 Unicode 字符;  最小值是\u0000(即为0);  最大值是\uffff(即为65,535);  char 数据类型可以储存任何字符;  例子:char letter = 'A';。

只能存储一个字符,只能使用单引号

布尔型

布尔(boolean)型包括true和false

引用数据类型

String

public class Demo2 {public static void main(String[] args) {String name = "郭靖";String address = "北京";//+ 连接字符串System.out.println(name+address);int n1 = 1;int n2 = 1;System.out.println(n1 + n2);//输出结果:2// 2 +"郭靖"-》 “2郭靖”System.out.println(n1+n2+name);//输出结果:2郭靖//"郭靖1"+n2 ->"郭靖11“System.out.println(name+n1+n2);//输出结果:郭靖11}} 

基本数据类型转换

自动类型转换

小-》 大低-》 高

强制类型转换

大-》小高-》低

语法格式为:(强制转换的数据类型)操作数

int num = (int)45.67;

类型提升原则

前提:运算结果:采取高类型(范围大的数据类型作为结果)

运算符

分类:根据操作数的个数

一元

二元

三元

算数运算符

public class Demo5 {public static void main(String[] args) {System.out.println(5 + 2);//输出结果:7System.out.println(5 - 2);//输出结果:3System.out.println(5 * 2);//输出结果:10//------------除法--------------------------//除数和被除数都是整数结果会取整数部分System.out.println(5 / 2);////输出结果:2System.out.println(5.0 / 2);//输出结果:2.5System.out.println(5 / 2.0);//输出结果:2.5System.out.println(5.0 / 2.0);//输出结果:2.5//除数为0 抛出异常//System.out.println(5 / 0);System.out.println(5.0 / 0);//正无穷大 输出结果:InfinitySystem.out.println(-5.0 / 0);//负无穷大 输出结果:-Infinity//非数字NaNSystem.out.println(0.0 / 0);//输出结果:NaN//-----------------取余数,取模----------------------------System.out.println( 5 % 2);//输出结果:1System.out.println(5.0 % 2);//输出结果:1.0System.out.println(5 % -2);//输出结果: 1System.out.println(-5 % 2);//输出结果:-1,符号看被除数 //---------------习题讲解--------------------------------/*根据天数(46)计算周数和剩余的天数*/int days = 46;int week = days / 7;//周int day = days % 7;//余数天System.out.println(week+"周,余数"+day+"天");//----------------------------------------------/*对于随意输入的一个3位数,反转;例如:234反转后(将每一个数字反转输出即可):432*/int num = 234;int n1,n2,n3;n1 = num % 10;//个位n2 = num / 10 % 10;//十位n3 = num / 100;//百位System.out.println(n1+""+n2+""+n3);//"432"System.out.println(n1*100+n2*10+n3);//432}}

关系运算符
逻辑运算符

&& || 短路与和短路或

位运算符

& | 非短路与和非短路或

5 二进制 00000000-00000000-00000000-00000101  2 二进制 00000000-00000000-00000000-00000010//&如果相对应位都是1,则结果为1,否则为05&2 二进制 00000000-00000000-00000000-00000000//|如果相对应位都是0,则结果为0,否则为15|2 二进制 00000000-00000000-00000000-00000111//^如果相对应位值相同,则结果为0,否则为15^2 二进制 00000000-00000000-00000000-00000000//~按位补运算符翻转操作数的每一位,即0变成1,1变成0。~5 二进制 11111111-11111111-11111111-11111010  减一 11111111-11111111-11111111-11111001 取反 00000000-00000000-00000000-00000110 //<<向左移动几位,右边低端位用0补全 5<<2 二进制 00000000-00000000-00000000-00010100//>>向右移动几位,左边高位是什么用什么补位,是1用1,是0用05>>2 二进制 00000000-00000000-00000000-00000001//>>>无符号右移,左边高位全部用0进行补位5>>>2二进制 00000000-00000000-00000000-00000001-6>>>2二进制 00111111-11111111-11111111-11111110

扩展赋值运算符
条件运算符

语法:

比较运算||Boolean?表达式1:表达式2

如果?前的结果是true返回表达式1,如果?前返回false返回表达式2

关于如何解析Java基本数据类型和运算符就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI