一丶变量的基本概念

  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. springCloud--1

    电影微服务是服务消费者,用户微服务是服务提供者. Springcloud对eureka的支持很好,eureka本身是一个基于REST的服务, Eureka里面有一个注册表,Application Cl ...

  2. jmeter+http接口测试

    参考: http://blog.csdn.net/github_27109687/article/details/71968662   Jmeter接口测试+压力测试 http://blog.csdn ...

  3. ABP官方文档翻译 1.6 OWIN集成

    OWIN集成 安装 使用 如果在应用程序里既使用ASP.NET MVC也使用ASP.NET Web API,需要在工程里安装Abp.Owin包. 安装 添加Abp.Owin包到主工程里(一般是web工 ...

  4. 【Deep Learning】两层CNN的MATLAB实现

    想自己动手写一个CNN很久了,论文和代码之间的差距有一个银河系那么大. 在实现两层的CNN之前,首先实现了UFLDL中与CNN有关的作业.然后参考它的代码搭建了一个一层的CNN.最后实现了一个两层的C ...

  5. Java-性能调优-理解GC日志

    [ ~]# cat gc.log.0 | grep 'Full GC' 1.652: [Full GC (System) 1.652: [CMS: 0K->21718K(262144K), 0. ...

  6. tomcat结合httpd和nginx

    httpd结合tomcat: 前提:httpd版本2.4以上,编译安装 httpd:192.168.223.136 tomcat:192.168.223.146 tomcat简单创建一个额外的weba ...

  7. 20145329《Java程序设计》第四周学习总结

    教材学习内容总结 封装.继承.多态 封装:封装类私有数据,让用户无法直接存取. 继承: 定义:避免多个类间重复定义共同行为,就是相同的代码提升为父类,java中只能继承一个父类.用继承的方式编写代码可 ...

  8. 快用Visual Studio(二)- 界面,功能区与命令面板

    Layout Editing Explorer Saving Searching Command Palette File Navigation File and Folder Based Files ...

  9. Mixed Authentication in IIS7

    Process for Mixed Authentication Configuration in IIS7 Integration Mode There're some breaking chang ...

  10. 2019 google kickstart round A

    第一题: n个人,每个人有一个对应的技能值s,现在要从n个人中选出p个人,使得他们的技能值相同. 显然,如果存在p个人的技能值是相同的,输出0就可以了.如果不存在,就要找出p个人,对他们进行训练,治他 ...