1.当赋值的值超出声明变量的范围时候,会报错!
byte a =200 //会报错,因超出范围。
byte a =(byte)200;//进行一个强制转换,就不会报错,不过会超出范围,超出部分会从头开始加,
由于byte的范围为-128~127,所以是-128+73为所得结果。
2.声明一个整数类型时候,默认都是int类型(4个8位);如果具体的数值比声明变量的取值范围小,则不报错。
例:short a =222;
3.long l = 88888888888l 很明显,这一长串数字是好超过int的取值范围的,所以会报错,但是因为不超过long的取值范围,
所以我们可以声明一个long变量来装它, 不过需要在后边加“l”(不区分大小写)。
4.声明一个float变量,如 float f = 12.555;因为声明一个小数默认的类型是double类型(8个八位), 所以;由高精度转换为低精度的float(4个8位)型时,会丢失精度报错,在后边加”f“就将其转换成float类型,就不会报错了。
5.char 用来声明一个字符,char c = 'e'; System.out.println(c);输出的是这个字符,不过进行运算时候
使用变量的ascll编码的位置。
char c2 = '\n';表示换行; 进行运算时候运算的也是其位置!
6.类型转换优先级:double float long int char short byte
7.short s = 133;
char c = 'a';
short s1 = s+c; 输出结果会报错,因为两个数相加,默认为int类型,用short来装它,会报损失精度的错误,
此时需要加上一个强制转换:short s1 = (short)(s+c);
8.隐式转换:由低精度自动转换为高精度;例:long l = 5834;默认数值类型都为int类型,但是,你既然
用long来声明,你的精度比我还高,那我就不说什么了,默默地转过去吧。
9.显示转换:也叫强制转换,一般由高精度转向低精度。比如short s1 = (short)(s+c);我本来比你精度高,我是
int,你却用低精度的short来装我,我肯定不同意(报错),说以,得强制转换,不同意也得同意。
10.+= 的赋值原理:byte b = 4;char c = 0.4;b += c;由于char优先级比byte要高,所以b = b+c,
是要报错的,不过b += c,却不报错,因为它先把c的值赋给b,赋值之后,b就成char
类型了,然后再加上b的值,char的优先级要高,所以不会报错。

java中变量赋值的理解的更多相关文章

  1. java中变量命名和引用变量的一个坑

    这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西.第二个主题,就是讨论一下对象引用变量的一个注意点.

  2. java中线程同步的理解(非常通俗易懂)

    转载至:https://blog.csdn.net/u012179540/article/details/40685207 Java中线程同步的理解 我们可以在计算机上运行各种计算机软件程序.每一个运 ...

  3. java中的赋值

    java中的赋值使用符号“=”. 按照java编程思想的解释:它的意思是“取等号右边的值,把它复制给左边”. 当然左边必须是一个明确的,已命名的变量. 基本类型: int a=2; int b=3; ...

  4. Java中线程同步的理解 - 其实应该叫做Java线程排队

    Java中线程同步的理解 我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread). 线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可 ...

  5. 对Java中字符串的进一步理解

    字符串在程序开发中无处不在,也是用户交互所涉及到最频繁的数据类型,那么字符串不仅仅就是我们简单的理解的String str = "abc";一起来更加深入的看一下 在Java中,字 ...

  6. Java中对Clone的理解

    面试中经常遇到Clone的相关知识,今天总算是把Clone理解的比较透彻了!Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Cl ...

  7. 微冷的雨之Java中的多线程初理解(一)

    在讲解多线程前,我们必须理解什么是多线程?而且很多人都会将进程和线程做对比. 进程和线程 进程:进程是操作系统结构的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在 ...

  8. 慕课网-安卓工程师初养成-2-7 Java中变量的使用规则

    来源:http://www.imooc.com/code/1242 不得不接受的变量小脾气: 1.Java 中的变量需要先声明后使用 2.变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值 ...

  9. Java中的ThreadLocal深入理解

    提到ThreadLocal,有些Android或者Java程序员可能有所陌生,可能会提出种种问题,它是做什么的,是不是和线程有关,怎么使用呢?等等问题,本文将总结一下我对ThreadLocal的理解和 ...

随机推荐

  1. HIVE安装配置

    Hive简介 Hive 基本介绍 Hive 实现机制 Hive 数据模型 Hive 如何转换成MapReduce Hive 与其他数据库的区别 以上详见:https://chu888chu888.gi ...

  2. linux命令11

    tar命令的使用 tar文件是把几个文件的(或)目录集合在一个文件夹里,是创建备份和归档的最佳工具. [root@localhost ~]# tar --help用法: tar [选项...] [FI ...

  3. Windows7 安装完成mysql dos启动服务出现服务名称无效

    错误提示:  WIN 7 cmd命令行下,net start mysql,出现 服务名无效提示: 错误分析: Mysql服务未安装 解决方案:在mysql 安装目录下bin文件夹  安装Shift+鼠 ...

  4. 做电子商务的七个SEO技巧

    随着电子商务网站的迅速增加,为了适应不断增长的网络客户多样化需求.越来越多的人注意到,从网站上购买既节省了时间和金钱,因此电子商务社区越来越激烈.网站需要具有独特的设计风格和功能,而不是网站内容的不断 ...

  5. nginx之 nginx-1.9.7 + tomcat-8.5.15 反向代理+应用负载均衡 安装配置

    环境说明:nginx 反向代理服务器 ip 为: 10.219.24.26tomcat1 应用服务器 ip 为: 10.219.24.21tomcat3 应用服务器 ip 为: 10.219.24.2 ...

  6. flask 扩展之 -- flask-moment

    一. 安装 $ pip install flask-moment 二. 初始化 from flask_moment import Moment moment = Moment(app) 三. 解决依赖 ...

  7. Testlink研究小结

    1.Redmine与Testlink的关联 (1)redmine中的项目对应testlink的测试项目 (2)testllink执行用例时发现的问题可以记录到redmine中 2.Testlink优点 ...

  8. SICP-2.2-数据的抽象

    数据的抽象 生活中有许多的事物具有复合结构,例如地理位置所用的经纬度,便是通过一个复合结构来代表位置,在我们的程序当中,我们设法将经度纬度组合成一对,我们既可以把他们当做一个整体单元来进行操作,而且也 ...

  9. java亿级流量电商详情页系统的大型高并发与高可用缓存架构实战视频教程

    亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 完整高清含源码,需要课程的联系QQ:2608609000 1[免费观看]课程介绍以及高并发高可用复杂系统中的缓存架构有哪些东西2[免费观看]基于 ...

  10. 【Android Developers Training】 24. 保存键值对

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...