java基础之java中的基本数据类型

学习java一段时间了,使用java也差不多一年多了,可是对于后续的java的学习真的是后劲不足,或者是说懒惰吧,回想一下这一年多,用java最多的就是Android开发,说内心话,在使用java的时候,好多基础的东西却没有认真去总结。学而不思则惘,思而不学则殆。
有必要总结下java的基础知识了。

0.java中基本数据类型。
    java中,基本数据类型主要有四类八种
    分别是
    第一类:布尔型

boolean 两个值,true 或者 false。不像大多数其他语言,Java中有单独的boolean类型,取值只有true 或者 false,且不能喝整数型互相转化。根据Java虚拟机规范,boolean类型是没有单独的jvm指令去操作的,Java编程语言中操作boolean类型的值的表达式会被编译成使用jvm的int类型的值,另外,jvm提供允许创建boolean数组,但是对boolean数组的访问和修改是采用byte数组的指令。在Oracle实现的的JVM上,boolean数组被编码为byte数组,每个元素占用一个字节。


第二类:文本型
        char 2个字节,值得注意的是在C语言中,char是占1字节的,因此表达中文时需要使用两个字符,char c = '中',这样会出现乱码的。在C语言中,char可以当成byte用,而java里面却不行。

 第三类:整数型

byte 1个字节
        short 2个字节
        int 4个字节
        long 8个字节

第四类:浮点型
        float 4个字节
        double 8个字节

注意事项:
     1.在声明整形数字的时候,例如9999999999(大于9个9的时候),需要在数字后面加上l或者L,否则编译器会报错,因为java语言默认整形数字是int类型的,而int类型的变量最大能表示出9个9,(但是最大值可以表示2147483647即10位数),因此在定义long变量的时候,如果后面的字面量没有超过int的最大值的时候,是没有问题的,编译器自动转型为long型,但是超出int的最大值的时候就必须在字面量的后面加上l或者L了。

long val = 999999999;(9个9,编译器通过,因为后面字面量未超出int型的最大值)
     long val = 9999999999;(10个9,编译器不通过)

long val = 9999999999L;(通过)

2.在声明小数形数字的时候,例如2.5,如果是float型的,要在数字后面加上f或者F,否则编译器会报错,因为java语言默认小数型数字是double型的

例如: float val = 2.5f;(或者2.5F)
                double val = 2.5;

以下是代码实例:

  public class Test {/**     * @param args     */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("char型" + Character.SIZE / 8 + "字节");
System.out.println("---------------------------------");
System.out.println("byte型" + Byte.SIZE / 8 + "字节");
System.out.println("short型" + Short.SIZE / 8 + "字节");
System.out.println("int型" + Integer.SIZE / 8 + "字节");
System.out.println("long型" + Long.SIZE / 8 + "字节");
System.out.println("---------------------------------");
System.out.println("float型" +Float.SIZE / 8 + "字节");
System.out.println("double型" + Double.SIZE / 8 + "字节");           }
}

输出:

char型2字节
---------------------------------
byte型1字节
short型2字节
int型4字节
long型8字节
---------------------------------
float型4字节
double型8字节
java基本数据类型大小
boolean
1 字节/4字节(不确定)
byte
1字节
short
2字节
int
4字节
long
8字节
float
4字节
double
8字节

1.java中的引用数据类型
java中的引用类型的变量是存放在栈内存中的,而new出来的对象却是放在堆内存的。
例如: int[] a = new a[]{1,2,3,4};
    其中变量a是存放在栈内存中的,后面new 出来的  a[]{1,2,3,4}这个对象是存放在堆内存中的。

除此之外,java中的引用还有具体的分类

java中按照对对象引用的强弱关系分类依次为:
1.强引用 StrongReference
2.软引用 SoftReference
3.弱引用 WeakReference
4.虚引用 PhantomReference

具体关于java引用的内容我将进一步学习,并更新到我的博客。

转载于:https://www.cnblogs.com/Spground/p/8536171.html

java基础之java中的基本数据类型相关推荐

  1. java基础学习 --- 第二节 变量、数据类型和运算符

    java基础学习 - 第二节 变量.数据类型和运算符 一.变量 1.变量就是会发生改变的数据,程序运行时,这些数据以变量的形式被保存到计算机的内存中.如图 2.使用变量的步骤:     声明变量 - ...

  2. Java基础之Java8中Map的compute的使用

    Java基础之Java8中Map的compute的使用 一.介绍 Java8更新后,Map接口中提供了compute方法.下面我们先看看官方文档的对它的使用说明. 如果看完上面的还是不太明白的话,看下 ...

  3. Java基础之Java8中map和flatMap的使用

    Java基础之Java8中map和flatMap的使用 一.介绍 首先,看下map和flatMap的官方文档说明 map flatMap 其实单纯的看api说明还是比较抽象,下面我将以几个实战例子来帮 ...

  4. java基础总结-java技术栈快速复习

    java基础 java基础概念 java概述和语言背景 java语言是没有sun公司(Stanford University Network:斯坦福大学网络)在1995年推出的计算机语言 java之父 ...

  5. JAVA基础之java语法

    JAVA基础之java语法 第一个java程序 // HelloWorld类名和文件名相同 public class HelloWorld {// 公开的 static 静态的 void 没有返回值 ...

  6. 一文带你深入理解【Java基础】· Java基本语法:程序流程控制

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  7. Java基础篇--Java 数组

    Java基础篇--Java 数组 Java 数组 声明数组变量 创建数组 处理数组 For-Each 循环 数组作为函数的参数 数组作为函数的返回值 多维数组 多维数组的动态初始化(以二维数组为例) ...

  8. Java基础:Java抽象接口

    在Java中,一个没有方法体的方法应该定义为抽象方法,而如果一个类中含有抽象方法,则该类必须定义为一个抽象类.接口是功能的集合,同样可看做是一种特殊的数据类型,是比抽象类更为抽象的类,接口只描述所应该 ...

  9. 【Java基础】· Java基本语法:程序流程控制习题总结

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

最新文章

  1. 这个神经网络电饭煲卖2万,我的米不配下锅
  2. Visual C#的SQL Server编程
  3. j2ee简介(来自http://dev.csdn.net/article/37/37543.shtm)
  4. mysql 架构名_MySQL 逻辑体系架构
  5. java上传视频代码下载_java 实现视频上传
  6. 两个链接合并_如何找到两个链接列表的合并点
  7. 栈结构的总结【数据结构F】
  8. (转)C++优先队列中元素及结构体的排序
  9. HTML5 学习总结(二)——HTML5新增属性与表单元素
  10. javaweb实训第二天上午——jQuery笔记
  11. vue识别不了.ico后缀的图片,显示[object Module]
  12. 【Codeforces 1344 A】Hilbert‘s Hotel,哈希表,set维护
  13. input[type=radio]自定义样式
  14. 基于Attention Model的Aspect level文本情感分类---用Python+Keras实现
  15. [No0000105]java sdk 开发环境变量powershell 自动配置脚本
  16. 皮尔逊相关系数和斯皮尔曼相关系数(等级系数)与典型相关分析
  17. echarts中国地图,设置地图外边框,内各省界线不同样式
  18. 关于ISO 17799 / BS 7799 信息安全管理体系(转载)
  19. 《The Django Book》笔记(未完结)
  20. 冰冻三尺,非一日之寒。数据解析——xpath(4)

热门文章

  1. OMEGA3-补充注意事项
  2. xxxx must either be declared abstract or implement abstract method ‘map(T)‘ in ‘MapFunction‘
  3. 关于华科的计算系统结构专业
  4. mongodb幽灵操作的解决方案
  5. ubuntu让/etc/hosts修改后立刻生效
  6. xfce4开始菜单中的小老鼠图标不见了
  7. kaggle提交前预估本地cv和LB上的score是否相差很大
  8. java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object解决
  9. 大话数据结构18:最小生成树算法
  10. Sublime Text 2 支持GB2312和GBK