数据类型

  基本数据类型:即int/char等这样的数值类型,共8种

  引用类型:除了基本数据类型之外都是引用类型:包括API中的类:如String、File;也包括自定义的类:如Personal、ABC;还包括数组:如int[]、String[]

基本数据类型

  类型(八种)

    整型:byte(8位)、short(16位)、int(32位)、long(64位)

    浮点型:float(32位)、double(64位)

    字节型:char(16位)

    布尔型:boolean(1位) 备注:返回值为true或false

  基本类型的赋值

    基本数据类型之间赋值,是将值进行拷贝

      例如:int m=10、int m=20、m=n; 

  基本类型的转换

    自动类型转换:也称作隐式类型转换;将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换

    条件:两种类型之间相互兼容、目标类型大于源类型(即类型提升)

       示例:float f = num、double d = f (float型转double) 低类型转高类型会自动发生,无需显式说明

    强制类型转换:也称显式类型转换;如果被转换的值的数据类型大于其目标类型,将会损失精度丢失部分信息

       示例:int x = 65、char ch = x  这样的语句将报错,因为char类型精度低于int类型,编译器无法将其自动转换,用到强制转换;

          int x = 65、char ch = (char)x (int型转char型) 强制转换需要加括号“(类型)”

引用数据类型

  作用:引用类型使用的场景与基本数据类型完全一样

    作为属性的类型使用;作为方法的形式参数类型使用;作为方法的返回值类型使用

  引用类型的赋值

    引用类型都是对象,所以赋值都是通过new调用构造方法

      例如:Student stu1 = new Student(“张三”,18)、Student stu2 = new Student((“李四”,20)

    引用类型之间赋值,是虚地址之间的赋值

      例如:stu1=stu2,stu2赋值给stu1,指的是把stu2的虚地址赋值给stu1,也就是二者将指向同一个实际对象李四

    例外:new、String类和包装器类可以直接赋值

基本类型和引用类型的区别

        基本数据类型            引用数据类型

  概念    变量(单纯的值)            对象(引用)

  存储位置  在栈中存值             在栈中存引用,在堆中存对象具体的属性值

  赋值方法  直接赋值              new、String类和包装器类可以直接赋值

  ==运算    判断的是数值,二进制一样返回true   判断的是地址,即虚地址一样才返回true

代码示例

 package summary2;

 class BasicDataType    //8种基本数据类型
{
byte bt; //字节型 位数:8 取值范围:-128~127
short sr; //短整型 位数:16 取值范围:-32768~32767
int it; //整型 位数:32 取值范围:-231~231-1
long lg; //长整型 位数:64 取值范围:-263~263-1
float fo; //单精度浮点型 位数:32 取值范围:略
double db; //双精度浮点型 位数:64 取值范围:略
char ch; //字符型 位数:16 取值范围:'\u0000'/'\uFFFF'
boolean bl; //布尔型 位数:1 取值范围:true/false
}
class ReferenceDataType
{
ReferenceDataType(String name,Integer age) //自定义带有两个参数的构造方法
{
String name1 = "李四"; //String类可以直接=赋值
Integer age1 = 19; //Integer包装器类也可以=赋值
String name2 = name1; //引用类型之间的赋值:将name1的虚地址赋给name2
Integer age2 = age1; //此时name1和name2指向同一个对象、值存放在同一个内存里
boolean b1=(name == name1); //引用类型的==运算 name和name1的虚地址不同 返回false
boolean b2=(name1 == name2); //引用类型的==运算 name1和name2的虚地址相同 返回true
System.out.println(name+" "+age+" "+b1+" "+b2); //打印输出传入的参数name和age和返回的布尔值
}
}
public class DataType
{
public static void main(String[] args)
{
BasicDataType BDT = new BasicDataType(); //创建对象、实例化基本数据类型类来引用类中的属性
BDT.it = 12345; //用对象名来调、进行赋值、基本数据类型是直接赋值
BDT.lg = BDT.it; //(int转long)低精度转高精度会自动转换
BDT.fo = 12.3f; //注意float类型的赋值后面有个f
BDT.sr = (short) BDT.fo; //(short转int)高精度转低精度必须强制转换加(类型)
System.out.println(BDT.sr); //注意:强制转换会损失一定的精度值
System.out.println(BDT.it==BDT.lg); //基本类型的==运算直接判断数值,二进制一样返回true
System.out.println(BDT.fo==BDT.sr); //基本类型的==运算直接判断数值,二进制不一样返回false
ReferenceDataType RDT = new ReferenceDataType("张三",18); //自定义引用类型的创建对象、实例化赋值
}
}

Java数据类型、赋值、类型转换、==运算的更多相关文章

  1. java数据类型运算符类型转换

    Java基本数据类型 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下 ...

  2. 大一C语言学习笔记(1)---编译顺序问题;不同数据类型赋值,运算问题;算数运算符易错点(以解一元二次方程为例)

    废话少说,上代码: #include<stdio.h> #include<math.h> int main()//解一元二次方程 { int a,b,c; double too ...

  3. Java数据类型及类型转换

    http://blog.csdn.net/pipisorry/article/details/51290064 java浮点数保留n位小数 import java.text.DecimalFormat ...

  4. java笔记 -- java数据类型与类型转换

    Java是一种强类型语言, 这就意味着必须为每一个变量声明一种类型. Java中一共有8中基本类型: 4种整型: 整型: 用于表示没有小数部分的数值, 允许为负数 类型 存储需求 取值范围 int: ...

  5. Java基本数据类型之间赋值与运算归纳

    前言:面对“byte b1=3;byteb2=7;byte b=b1+b2;”报错,而“int i1=3;int i2=7;int i=i1+i2;”不报错,进行了深入探究,从而引申出java基本类型 ...

  6. java注释 命名 数据类型 基本类型转换 位运算符 逻辑运算符 三目运算符

    一.java注释 1.单行注释  //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释 ...

  7. java基本数据类型总结 类型转换 final关键字的用法

    java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...

  8. JAVA的基本数据类型和类型转换

    一.数据类型 java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. java数据类型分为基本数据类型和引用数据类型 基本数据类型有4类8种 第一类(有4种)整型: ...

  9. 「C语言」数据类型及混合运算与类型转换

    深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录:     ...

  10. JAVA -数据类型与表达式---数据类型转换

    数据类型转换技术 Java中,数据转换的方式有三种:*赋值类型转换*提升类型转换*强制类型转换 1.赋值类型转换 当需要将一个类型的值赋给另一种类型的变量时,该值将被转换为新类型的值,此时就发生了赋值 ...

随机推荐

  1. 深入理解HTTP协议及原理分析

    1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...

  2. andorid 练习微信登陆

    AndroidManifest.xml layout1.xml <?xml version="1.0" encoding="utf-8"?> < ...

  3. hdu 2647 (拓扑排序 邻接表建图的模板) Reward

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2647 老板给员工发工资,每个人的基本工资都是888,然后还有奖金,然后员工之间有矛盾,有的员工希望比某员 ...

  4. Intellij IDEA 快捷键整理-鬼畜版(全键盘开发指南)

    一 .何为鬼畜? 鬼畜一词在ACG爱好者中也代指通过影片(或音讯)剪辑,用频率极高的重复画面(或声音)组合而成的一段节奏配合音画同步率极高的一类影片,而这类鬼畜影片多见于NICONICO.AcFun和 ...

  5. UI设计初学者教程:色彩基础知识

    编辑:千锋UI设计 初学设计都会先认识三原色,通常我们说的三原色指的是颜料三原色:红.黄.蓝:其实三原色还有色光三原色:红.绿.蓝.我们通常说的红黄蓝就是减色法三原色,而红绿蓝是加色法三原色.可能这么 ...

  6. Netty 源码 Channel(一)概述

    Netty 源码 Channel(一)概述 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Channel 为 Netty ...

  7. nginx指令中的优化(配置文件)

    nginx指令中的优化(配置文件)worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数.worker_cpu_affinity 00000001 0000 ...

  8. nginx自旋锁

    #include <stdio.h> #include <stdint.h> #include <unistd.h> /* typedef unsigned lon ...

  9. 【算法专题】工欲善其事必先利其器—— 常用函数和STL

    一.    常用函数 #include <stdio.h> int getchar( void );               //读取一个字符, 一般用来去掉无用字符 char *ge ...

  10. JWT设计实现

    一.JWT基于token的认证流程: 二.JWT SDK的选取: https://jwt.io/ 三.编写JWT Helper: 1.获取token 设置密钥,规定算法,设置过期时间,设置发行方,生命 ...