强类型语言,即Strongly Typed Language,从字面上理解,就是Java语言对类型要求很严格。

Java语言对类型要求有哪些呢?

1、变量必须先声明类型,然后使用

例如:

int i;Object object;i = 12;

2、给变量赋值时,或者方法返回值时,必须类型兼容

2.1、相同类型之间赋值合法

例如,下面的赋值是合法的:

2.2 null可以赋值给任何引用类型

例如,下面的赋值是合法的:

2.3 byte类型的值可以赋值给short、int、long、float、double类型

例如,下面的赋值是合法的:

2.4 short类型的值可以赋值给int、long、float、double类型

例如,下面的赋值是合法的:

2.5 int类型的值可以赋值给long、float、double类型

例如,下面的赋值是合法的:

2.6 long类型的值可以赋值给float、double类型

例如,下面的赋值是合法的:

2.7 float类型的值可以赋值给double类型

例如,下面的赋值是合法的:

2.8 引用类型之间赋值,子类可以赋值给超类

例如,下面的赋值是合法的:

3、强制类型转换(cast)

3.1 强制类型转换的语法

强制类型转换的语法是:

Type1 type1Value = (Type1)type2Value;

3.2 下面的基本类型赋值不合法

下面基本类型之间直接赋值不合法:

(1)doube向float、long、int、short、byte类型赋值;

(2)float向long、int、short、byte类型赋值;

(3)long向int、short、byte类型赋值;

(4)int向short、byte类型赋值;

(5)short向byte类型赋值;

例如,下面的赋值不合法,编译不能通过:

3.3 用整型常量给整型变量赋值时,常量不能超过该整型类型的取值范围

例如,给byte类型赋值0xA0,编译不能通过:

3.4 不能用double型常量给float类型变量赋值

例如,下面的代码编译不能通过:

3.5 基本类型赋值时,如果类型不能兼容,可以使用强制类型转换(但是精度和值可能会受影响)

例如,下面的代码可以编译通过:

4、为了防止引用类型在强制类型转换时抛出CastException异常,可以先使用instanceof进行类型判断

例如,下面的代码可以确保不会抛出CastException异常:

java long类型赋值_Java语言编程第22讲——如何理解“Java是强类型语言”相关推荐

  1. c语言 链表_C语言编程第22讲——单向有序链表的C语言实现

    1.单向有序链表的含义 单向有序链表可以解析为四个名词: 表:一组元素: 链表:表中的元素不是从前往后一个挨着一个,而是通过一个元素才能找到另一个元素: 单向:表中的元素只能从前往后访问: 有序:表中 ...

  2. java枚举类型赋值_java枚举类型(转载)

    public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般 ...

  3. 多重继承_Java语言编程第25讲——Java中多重继承,也会导致模棱两可的歧义

    前面第23讲介绍Java语言通过interface实现多重继承,是一种很优雅的实现.即便是这样,也不能完全避免多重继承带来的歧义. 下面用一个很简单的例子来说明: 1.定义一个很简单的接口One,它只 ...

  4. java类声明语句_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  5. java 枚举类型初始化_java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enumColorSelect { RED_BAGE= 0, GREEN_BAGE, BL ...

  6. java 浮点类型声明_java 浮点数据类型

    Java的浮点类型有两种:float和double.Java的浮点类型有固定的表数范围和字段长度,字段长度和表数范围和机器无关.Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示 ...

  7. java静态类如何赋值_Java class对象说明 Java 静态变量声明和赋值说明

    先看下JDK中的说明: java.lang.Object java.lang.ClassInstances of theclass Class represent classes and interf ...

  8. java long类型判断_Java中的long类型和Long类型比较大小

    Java中我们经常要做一些判断,而对于判断的话,用的最多的便是">"."=="." Java中Long和long的区别 Java的数据类型分为两 ...

  9. java 注解变量赋值_Java Annotation详解...

    元数据的作用 如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类: l 编写文档:通过代码里标识的元数据生成文档. l 代码分析:通过代码里标识的元数据 ...

最新文章

  1. 某多多买菜程序员:最长持续工作时间高达30小时!睁眼就工作,闭眼就睡觉!多多买菜离职率超级高!公司不得不降低门槛持续招人!...
  2. 进入Linux单用户模式
  3. IOC和DI是什么?
  4. 阿里云ECS服务器多种实例规格如何选择
  5. Request.GetOwinContext()打不到
  6. 《元宇宙的未来猜想和投资机遇分析 》
  7. php 递归穿件文件夹,PHP递归复制整个文件夹
  8. Linux sogou input method
  9. 在线英文翻译中文比较
  10. 不用Bootcamp双系统,在Mac上跑Windows是啥感觉?
  11. java中级程序员面试题_51CTO下载-JAVA中级程序员面试题
  12. [乐意黎]Nginx 重写wordpress路径于二级子目录方法
  13. LibreOJ 2060 食物链
  14. 线段树1——神奇的数据结构
  15. ear的英语怎么念_ears用英语怎么读?
  16. python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
  17. 4月4日服务器例行维护公告,4月17日服务器例行维护公告
  18. java 打印机编程_Java 打印程序设计实例 - java如何实现打印功能
  19. 通过view实现实时监测数据的实时更新展示
  20. Linux_终端命令大全

热门文章

  1. 蒋步星:轻量级大数据计算引擎
  2. 案例分析:FICO如何从VMware迁移到OpenStack
  3. Redhat7没有安装ifconfig命令的解决方法
  4. 使用汉文博士检索汉字
  5. WordPress企业主题:BDV适合于小型公司、企业,主要以产品类为主
  6. Resharper进阶一:简要介绍
  7. 跟着图灵去听课——海底捞敏捷之道纪要
  8. 热烈庆祝个人博客突破1万人!
  9. django之关系及查询,数据类型,约束,分页
  10. Date() 小于等于当天