Java基本数据类型和运算符详解_java

来源:脚本之家  责任编辑:小易  

数据类型基本数据类型char int double byte float boolean long short引用数据类型String String strings=new String();数组 数据类型[]数组名=new 数据类型[];类 类名 对象名=new 类();运算符关系运算符有六个:等于(=)、不等于!大于(>)、大于等于(>=)、小于(<)、小于等于()。逻辑运算符 逻辑运算符有:逻辑与(&)、逻辑或(|)、逻辑非!逻辑异或(^)、逻辑与(&)、逻辑或(|)。计算运算符<一元运算符有:正(+)、负(-)、加1(+)和减1(-)。例如:int i=6,j,k,m,n;j=i;取原值,即j=6k=-i;取负值,即k=-6m=i+;先m=i,再i=i+1,即m=6,i=7m=i;先i=i+1,再m=i,即i=7,m=7n=j-;先n=j,再j=j-1,即n=6,j=5n=-j;先j=j-1,再n=j,即j=5,n=5二元运算符有:加(+)、减(-)、乘(*)、除(/)、取余(%)。其中+、-、*、/完成加、减、乘、除四则运算,%是求两个操作数相除后的余数。a%b=a-(a/b)*b赋值运算符与其他运算符的简捷使用方式运算符 用法 等价于 说明s+i s=s+i s,i是数值型s-=i s=s-i s,i是数值型s*=i s=s*i s,i是数值型s/i s=s/i s,i是数值型s%i s=s%i s,i是数值型a&b a=a&b a,b是逻辑型或整型a|=b a=a|b a,b是逻辑型或整型A^=b a=a^b a,b是逻辑型或整型i是整型s>>=i s=s>>i s,i是整型s>>>=i s=s>>>i s,i是整型www.zgxue.com防采集请勿采集本网。

本文实例讲述了Java基本数据类型和运算符。分享给大家供大家参考,具体如下:

基本数据类型

if(true&false){}/比较boolean类型 int i=1;声明int类型 if(i=1&i=2){}/比较int类型 double d=1.2d;if(d=1.2&d=1.3){}/比较double类型 float f=1.3f;if(f=1.3&f=1.4){}/比较float类型 String s=

Java 是一种强类型的语言,声明变量时必须指明数据类型。变量(variable)的值占据一定的内存空间。不同类型的变量占据不同的大小。

变量 需要先声明数据类型 表达式由运算符和变量组成 呃 这个问题还真难答啊 不是到问题想要什么样的回答

Java中共有8种基本数据类型,包括4 种整型、2 种浮点型、1 种字符型、1 种布尔型,请见下表。

这是三元运算符,语法就是条件表达式?表达式1:表达式2。根据条件表达式的返回结果(通常是布尔型的,也就是true和false)来判断执行表达式1还是2, 举个例子, a>b?最大值=a:最大值=b;设a=5,b=1;则a

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,

运算符就是运算符 没有类型之分 表达式就是整形的加号比如:a=b+1 字符串连接符:String str=\"J\"+a+\"A;输出Jb+1A

1.2D, 223.56, 223.56D

double最后最好有一个D字母(大小写无所谓)。
char 字符型 2 bytes 'a','A' 字符型数据只能是一个字符,由单引号包围。
boolean 布尔型 1 bit true, false  

1 public class Test { public static void main(String[]args){ 加个强制类型转换 2 试试 System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);溢出还早呢

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相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

是的,这是编程的基础。任何一门编程语言都是这样,多看多自己写就掌握了内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • java中八种基本数据类型的默认值
  • java数据类型转换详解
  • java的基本数据类型和运算方法(必看篇)
  • java中的string对象数据类型全面解析
  • java的数据类型和参数传递(详解)
  • 浅析java中对象的创建与对象的数据类型转换
  • java运算符>、>>、>>>三者的区别
  • java中使用异或运算符实现加密字符串
  • java instanceof 运算符的使用方法
  • java中的位运算符、移位运算详细介绍
  • java 逻辑运算符中&&与&,||与|的区别
  • 浅析java中遍历map的两种方式
  • java 高并发中volatile的实现原理
  • tomcat和spring中的事件机制深入讲解
  • servlet监听实现统计在线人数功能 附源码下载
  • 深入解析java的设计模式编程中的模板方法模式
  • java银行管理系统源码
  • java springmvc学习使用详解
  • java使用openoffice对于word的转换及遇到的问题解决
  • 解析java编程之synchronized锁住的对象
  • java依赖-关联-聚合-组合之间区别_动力节点java学院整理
  • java。是不是要不 基础数据类型。 还有运算符。 跟控制语句。数组。 这些掌握。
  • 求java中关于数据类型和运算符方面的一些例题,要有答案的
  • Java程序,刚学了数据类型和运算符和流程控制.
  • 谁能告诉我Java变量和数据类型和运算符这个关系 我老搞不懂
  • java & 运算符可以哪些数据类型,比较? 1 & 12 怎么比较? 1 & 布尔型的怎么比较?
  • java的表达式,运算符,变量,数据类型之间的关系是什么?
  • 大数据Java—条件运算符(? :)的类型深入,专业人士帮我讲解一下,不懂的勿回
  • java中运算符号是哪一种数据类型?
  • JAVA关于数据类型算术运算符的一个问题
  • [JAVA]输入一个数判断是否为素数,刚学过数据类型,运算符,控制语句.
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页javajava面向对象程序设计入门与进阶教程java数据结构与算法教程java操作dom节点技巧总结java文件与目录操作技巧汇总java缓存操作技巧汇总java中八种基本数据类型的默认值java数据类型转换详解java的基本数据类型和运算方法(必看篇)java中的string对象数据类型全面解析java的数据类型和参数传递(详解)浅析java中对象的创建与对象的数据类型转换java运算符>、>>、>>>三者的区别java中使用异或运算符实现加密字符串java instanceof 运算符的使用方法java中的位运算符、移位运算详细介绍java 逻辑运算符中&&与&,||与|的区别浅析java中遍历map的两种方式java 高并发中volatile的实现原理tomcat和spring中的事件机制深入讲解servlet监听实现统计在线人数功能 附源码下载深入解析java的设计模式编程中的模板方法模式java银行管理系统源码java springmvc学习使用详解java使用openoffice对于word的转换及遇到的问题解决解析java编程之synchronized锁住的对象java依赖-关联-聚合-组合之间区别_动力节点java学院整理java使double保留两位小数的多方java8 十大新特性详解java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例java 字符串截取的三种方法(推荐spring结合redis如何实现数据的缓存spring boot定时任务接收邮件并且存储附件java instanceof 运算符的使用方法java 连接access数据库的两种方式spring @conditional注解讲解及示例详解java处理异常的机制关键字throw和throws使java-servlet-转发and路径(详解)spring boot(五)之跨域、自定义查询及分页java编程实现高斯模糊和图像的空间卷积详ai算法实现五子棋(java)
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved