一丶变量的基本概念

  1.什么是变量

    (1).内存中的一个存储区域

    (2).该区域有自己的名称(变量名),和类型(数据类型)

    (3.)该区域的数据可以在同一类型范围内不断变化(定义变量的主要目的是因为数据的不确定性)

  2.为什么要定义变量

    用来不断存放同一类型的常量,并可以重复使用

  3.变量的类型

    

    一般使用使用Int,byte也比较常用  因为他是数据的最小单元

二丶类型的提升&强制转换

  1.两个不同类型无法进行 计算 ,因为内存空间大小不一致

  2.除非是数值类型,因为可以类型自动提升

  

  注:图中是byte类型自动类型提升为整型  音为byte类型是一个八位,int 是四个八位,所以可以自动提升,反之,int 自动类型转换byte则不可以 ,因为会丢失精度

   如果必须要将byte转换为Int 类型 ,则需要强制类型转换(int有四个8位,若要强制转为为byte 则会把前面三个8位舍弃掉,丢失精度,慎用)

三丶类型运算细节

  

//1
byte a=4;
a=3+7;

//2
byte b=3;
byte c=7;
a=b+c; System.out.println(a);

1.第一代码块执行过程是首先声明变量,判断赋给变量的值是否在byte类型的取值范围内(-128~127)如果在,则会自动将int类型转换为byte类型(也就是去掉前面的3个8位),第二行复制代码,因为3和7的和是整型,所以在赋值时也是先判断赋给a的值是否在byte类型范围内,如果存在,则赋值给a,如果不存在则编译报错;

2.第二代码块同上,声明两个变量,然后把两个变量值相加,因为b和c是变量,变量的值是变化的,不确定的,因为无法再程序运行之前判断两个变量的值是否在byte取值范围内,所有会直接编译报错。

int a=5;
int b=Integer.MAX_VALUE;
int c=10;
a=b+c;
System.out.println(a);

1.而int 类型不会出现问题,因为整型计算得到的所有结果都是整型,如果运算结果大于整型取值范围,则会去掉高位,保留32位

  

    

java语言基础-变量的更多相关文章

  1. Java语言基础---变量与数据类型

    变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. day02<Java语言基础+>

    Java语言基础(常量的概述和使用) Java语言基础(进制概述和二,八,十六进制图解) Java语言基础(不同进制数据的表现形式) Java语言基础(任意进制到十进制的转换图解) Java语言基础( ...

  4. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  5. 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

    Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...

  6. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  7. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  8. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  9. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

随机推荐

  1. android - Session 'app': Error Installing APK

    File->Settings->Build,Execuion,Deployment->Instant Run 然后把Enable Instant Run to...那一项的勾去掉就好 ...

  2. jenkins windows执行批处理脚本总是失败

    使用jenkins 在使用编译vc++的一个项目,在执行批处理脚本的时候总是失败, 但是在控制台无论是管理员还是普通用户都能正常编译,jenkins每次都失败,看日志就是调用一个cmd命令直接失败,e ...

  3. DDOS防护原理

    1.常见DDoS攻击分类 DDoS粗略分类为流量型攻击和CC攻击.流量型攻击主要是通过发送报文侵占正常业务带宽,甚至堵塞整个数据中心的出口,导致正常用户访问无法达到业务服务器.CC攻击主要是针对某些业 ...

  4. 20145322第四周JAVA程序设计基础学习总结

    20145322 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 一.继承共同行为 何谓继承 1 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再 ...

  5. 组播的介绍以及CS模型实现

    1.组播介绍 组播组可以是永久的也可以是临时的.组播组地址中,有一部分由官方分配的,称为永久组播组. 永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化.永久组播组中成员的数量都可以是任意 ...

  6. <The old man and the sea>

    Every day is a new day. It is better to be lucky. But i would rather be exact. Then when luck comes ...

  7. Spring @Scheduler使用cron时的执行问题

    主要想弄清使用Spring @Scheduler cron表达式时的两个问题: 同一定时任务,第二次触发时间到了,第一次还没有执行完成时会执行吗? 不同的定时任务,相互之间是否有影响? 结论写在前面: ...

  8. An Overview of Forms Authentication (C#)

    https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-security/introduction/an-o ...

  9. 爬虫之JSON

    数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适 ...

  10. Spring Cloud 坑点

    1 配置中心 1.config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/spr ...