Java中的数据类型

/**
* Java中的数据类型:
* 程序当中有很多的数据,每一个数据拥有与之相关的类型。
*
*
* 1. 数据类型的作用:
* 不同类型的数据占用的空间大小不同,数据类型的作用在与指导JVM在运行程序时该给分配多大的内存空间
*
*
* 2. Java数据类型分类
* - 基本数据类型【四大类八小种】
* 第一类:整数型
* byte,short,int,long
* 第二类:浮点型
* float,double
* 第三类:布尔型
* boolean
* 第四类:字符型
* char
*
* - 引用数据类型【暂略】
* - 类
* - 接口
* - 数组
* ......
*
*
* 3. 基本数据类型占用空间大小
*
* 基本数据类型 占用空间大小【字节】 取值
* --------------------------------------------------------------------------
* byte 1 -128~127
* short 2 -32768~32767
* int 4 -2147483648~2147483647
* long 8 -2^63~2^63-1
* float 4
* double 8
* boolean 1 true/false
* char 2 0~65535
*
*
* 3. 基本数据类型默认值
* 整数型 byte,short,int,long
* 默认值:0
* 浮点型 float,double
* 默认值:0.0
* 布尔型 boolean
* 默认值:false
* 字符型 char
* 默认值:\u0000
*
*
* 4. 转义字符 \
* 出现在特殊字符前将其转换成普通字符
*
* 常见的转义字符:
* - \n 换行符
* - \t 制表符
* - \' 一个单引号
* - \\ 普通的反斜杠
* - \" 普通的双引号
*
*
* 5. 中文字符转换unicode编码,JDK中自带的native2ascii.exe命令
*
*
* 6. Java中"整数型字面值"被默认当作int类型
* 如果想"整数型字面值"被当作long类型处理,需要其后添加l/L,建议使用大写L
* 字面值超过2147483648后应该使用long类型处理2147483648L
*
* - 整数型字面值三种表示:
* 十进制【默认】
* 八进制【以0开头】
* 十六进制【以0x开头】
*
* - 小容量可以自动转换大容量
* - 大容量不能直接赋值给小容量,可以强制类型转换【不建议】通过编译但会损失精度
* - 强制类型转换:小容量类型 标识符 = (小容量类型)大容量数据
*
* - byte 在赋值时字面值int在byte范围内,允许大容量(int)直接赋值给小容量(byte)
*
*
* 7. Java中的浮点型:
* - float 单精度 4字节 字面值需要后面加F/f
* - double 双精度 8字节 字面值默认
*
* double的精度太低【相对而言】,不适合做财务软件
* SUN在基础的SE类库提供一种引入数据:java.math.BigDecimal
*
*
* 8. 关于布尔数据类型
* - 只有true、false,不像C语言可以用0,1
*
*
* 9. 基础数据转换
* - 八种基础数据除布尔之外都可以互相转换
* - 自动转换等级:
* byte < short/char < int < long < float < double
* - 字面值不超出byte,short,char的范围,可以直接赋值
* - byte,short,char混合运算,各自先转换成int再运算
* - 多种数据混合运算,先转换成容量最大的类型再做运算
*/ public class DataTypeTest { static int k = 100; static int f; // 成员变量,未赋值
// 成员变量会在未赋值时,系统会有默认赋值 public static void main(String[] args) { System.out.println(k); System.out.println(f); // 此次未赋值,可以正常执行
// 因为使用了成员变量, // 定义一个char类型
char c1 = 'a'; // 命名为 c1,字面值为 'a',注意是半角单引号 System.out.println(c1); char c2 = '\n'; // 转义字符,\n表换行符 /*
验证 \n
System.out.print() 不会换行
System.out.println() 会换行
*/ System.out.print('A');
System.out.print(c2); // 对比有无此行的区别
System.out.println('B'); // unicode编码
char n = '\u4e2d'; // '\u4e2d' 表示 '中',可以使用native2ascii工具验证
System.out.println(n); System.out.println("----------整数类型----------"); // 整数类型
int num1 = 10; // 十进制
int num2 = 012; // 八进制
int num3 = 0xa; // 十六进制 System.out.println(num1);
System.out.println(num2);
System.out.println(num3); // long类型
long numL1 = 1000; // 存在类型转换 100 是 int ,赋值会转换
long numL2 = 100L; // 直接赋值 int num4 = (int)numL1; // 强制转换
System.out.println(num4); byte num5 = (byte)num4; // num4 = 1000,byte范围-128~127,精度丢失
System.out.println(num5);
}
}


基础章


合集总目录:学习笔记--Java合集

学习笔记--Java中的数据类型的更多相关文章

  1. 学习笔记--Java中的变量

    Java中的变量 /** * 关于 Java 语言当中的变量: * * 1. 什么是变量? * - 变量的本质上来说是内存空间,这块空间有(数据类型.名字.字面值) * - 变量包括三部分:数据类型. ...

  2. Android学习笔记----Java中的字符串比较

    用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: string str1 = "abcd", str2 = "abcd"; if(str1==str ...

  3. 2.1多线程(java学习笔记) java中多线程的实现(附静态代理模式)

    一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执 ...

  4. 设计模式学习笔记——java中常用的设计模式

    单例设计模式(Singleton Pattern) 观察者模式(Observer Pattern) 工厂模式(Factory Pattern) 策略模式(Strategy Pattern) 适配器模式 ...

  5. Java学习笔记-Java中的常用类

    Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintSt ...

  6. java学习笔记--java中的基本数组[5]

    java基础很重要, 今天呆家看java视频,顺便总结前几周看的java书籍,做一下简单的总结:1:数组的声明,2:数组的赋值: 3:数组的方法: 声明一个数组主要有两种方式: //类型 []数组名字 ...

  7. java学习笔记——java中对象的创建,初始化,引用的解析

    如果有一个A类. 1.例如以下表达式: A  a1 = new A(); 那么A是类,a1是引用.new A()是对象.仅仅是a1这个引用指向了new A()这个对象. 2.又如: A  a2; A代 ...

  8. java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换

    关于java中的数据类型: 1.数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用的空间大小不同. 数据类型的作用是指导java虚拟机(JVM)在运行程序的 ...

  9. 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式

    今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...

  10. Java中基本数据类型和包装类

    参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...

随机推荐

  1. 为datagridview添加自定义按钮

    先上图: 我是直接网上搜得代码,不是本人写得.下面说说大体思路,继承DataGridViewButtonCell类实现自定义类比如这个:DataGridViewDetailButtonCell 里面, ...

  2. .NET Core 项目Linux环境下生成二维码

    问题: 公司系统开发中,需要对企微授权链接进行二维码生成,然后向客户提供:当然,首当其冲想到的是使用ZXing.NET库进行实现,毕竟生成简单二维码也就那几句代码:然而,在本地环境中,一切都很正常,但 ...

  3. 7.13早考试总结(NOIP模拟13)[工业题·卡常题·玄学题]

    人的记忆本来就是暧昧的,不值得信任. 前言 又是令人头疼的数学部分..还是太菜了.. 晚上还有一场,当场裂开. T1 工业题 解题思路 首先,这个题的暴力还是非常好像的,直接按照题目要求码就好了. 对 ...

  4. OpenCV笔记(9) calcHist绘制直方图

    直方图只是简单地将数据归入预定义的组,并在每个组内进行计数.也可以选择对数据提取特征,再对特征进行计数,这里的特征可以是梯度的长度.梯度的方向.颜色或其他任何可以反应数据特点的特征.也就是说,直方图是 ...

  5. 算法金 | Python 中有没有所谓的 main 函数?为什么?

    ​大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 定义和背景 在讨论Python为何没有像C或Java那样的明确的main函数之前,让 ...

  6. k8s——pod探针

    探针 简单理解: 容器内应用的检测机制,根据不同的探针来判断容器应用当前的状态 为什么会需要探针 # 情况一 现在有一个商品的微服务,跑着跑着突然内存溢出,程序崩掉了,外面的pod虽然在,但是也相当于 ...

  7. ansible 报错 "changed": false, "msg": "Failed to connect to the host

    报错: "changed": false, "msg": "Failed to connect to the host via ssh: root@n ...

  8. 告别Word,用Python打造你的专业简历!

    今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址https://github.com/koek67/resume-builder/blob/main/readme.md 用 ...

  9. LeetCode 680. Valid Palindrome II 验证回文字符串 Ⅱ(C++/Java)

    题目: Given a non-empty string s, you may delete at most one character. Judge whether you can make it ...

  10. 图形库使用 Direct3d

    1 里面的数学 矩阵是三角函数组合出来的 旋转的时候 xy 两个变量距离变 第三轴被影响角度 2视锥 远近四棱锥双剪切平面 3 三维点 A点 B点 C点 确定三位坐标 ,初始坐标是坐标中中心值 x,y ...