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. ACL配置

    标准acl 1-99:抓源地址 扩展acl 100-199:抓源地址,目标地址,具体数据包(如:icmp,tcp,udp,ospf,ip等) 实验内容 1:ACL实现禁止192.168.1.0网段所有 ...

  2. Maven测试篇

     maven的生命周期: 讲解Maven测试篇之前将首先介绍一下Maven生命周期的相关概念,如果你熟知这部分概念可以略过此小节内容. 大多数时候,我们在构建一个项目时,不外乎是对其进行清理.编译.测 ...

  3. 一、Openstack_Ocata环境部署准备

    OpenStack Ocata环境搭建准备 1.workstation下配置3个虚拟交换机 点击编辑-->虚拟网络编辑器 名称 IP地址 作用 VMnet1 10.1.1.0 Openstack ...

  4. 基于Express+Socket.io+MongoDB的即时聊天系统的设计与实现

    记得从高中上课时经常偷偷的和同学们使用qq进行聊天,那时候经常需要进行下载qq,但是当时又没有那么多的流量进行下载,这就是一个很尴尬的事情了,当时就多想要有一个可以进行线上聊天的网站呀,不用每次痛苦的 ...

  5. 【小练习03】CSS-表格(table)--天气预报

    表格基础知识链接:http://blog.csdn.net/baidu_37107022/article/details/71713281 练习要求实现如下效果图: 代码演示 <!DOCTYPE ...

  6. 用JQuery写的滚动条,可以改变样式哦!

    很早之前在做项目的时候要用到自定义的滚动条,可是现在的CSS2只能改改颜色什么的,对于改变形状或者更高级的用法根本不可能实现,没办法只能自己写一个了.(好像CSS3可以该形状,不过没研究过有兴趣的童鞋 ...

  7. 踩一踩微信小程序开发的坑---tabBar

    最近忙于开发视频直播的项目,小程序学习也放置了两三个星期了,web开发者工具更新到新版,发现上个版本做的demo不显示了

  8. 用hmmlearn学习隐马尔科夫模型HMM

    在之前的HMM系列中,我们对隐马尔科夫模型HMM的原理以及三个问题的求解方法做了总结.本文我们就从实践的角度用Python的hmmlearn库来学习HMM的使用.关于hmmlearn的更多资料在官方文 ...

  9. Webpack 开发工具与模块热替换

    Webpack 开发工具与模块热替换 ​⚠️ 注意: 永远不要在生产环境中使用这些工具,永远不要. devtool 当 JavaScript 异常抛出时,你常会想知道这个错误发生在哪个文件的哪一行.然 ...

  10. 基于Jmeter的轻量级接口压力测试(一)

    一.操作步骤: 1.在测试计划下新增一个线程组,并在线程组下新增一个http请求: 2.读取配置文件中的参数:在添加的http请求下添加配置元件-CSV DATA SET CONFIG 3.配置待测试 ...