java数据类型
2021/9/19 17:05:11
本文主要是介绍java数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据类型
-
强类型语言
-
要求变量的使用严格符合规定,所有变量都必须先定义后使用
-
-
弱类型语言
-
没有严格的规定
-
-
Java的数据类型分为两大类
-
基本类型
-
引用类型
-
基本数据类型
public class Demo01 { //八大基本数据类型 //整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 40L; //Long类型要在数字后面加L //小数:浮点数 float num5 = 50.1F; double num6 = 3.116927; //字符 char num7 = '中';//代表一个字 //字符串,String不是关键字,是类 String name = "汉青"; //布尔值:true和false boolean flag = true; }
整数和浮点数拓展
public class Demo03 { public static void main(String[] args) { //整数拓展: 进制 --> 二进制0b 八进制0 十进制 十六进制0x int i = 10; int i2 = 010; //八进制0 int i3 = 0x10; //十六进制0x 0~9 A~F System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("===================================================="); //================================================================ //浮点数拓展:银行业务怎么表示 使用BigDecimal //================================================================ //float 有限 离散 舍入误差 大约 接近但不等于 float f = 0.1f;//0.1 //double 最好完全避免使用浮点数进行比较 double d = 1.0/10;//0.1 System.out.println(f==d);//false float f1 = 2113133131f; float f2 = f1 + 1; System.out.println(f1 == f2);//true } }
字符拓展
public class Demo04 { public static void main(String[] args) { //字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强制转换 System.out.println(c2); System.out.println((int)c2);//强制转换 //所有的字符本质上还是数字 //编码 Unicode //U0000 UFFFF char c3 = '\u0061'; System.out.println(c3);//a //转义字符 //\t 制表符 \n 换行 } }
布尔值拓展
public class Demo05 { public static void main(String[] args) { //通过内存分析 String sa = new String("Hello world"); String sb = new String("Hello world"); System.out.println(sa == sb);//false String a = "Hello world"; String b = "Hello world"; System.out.println(a == b);//true //布尔值拓展 //less is more java要精简易懂 boolean flag = true; if (flag){} //if(flag == true){} } }
数据类型转换
强制转换
将精度高的转换为精度低的
注意:会出现精度丢失的情况
自动转换
当出现精度低的要转换成精度高的时候,无需手动操作,java虚拟机会自动执行
不会出现精度丢失
public class Demo06 { public static void main(String[] args){ //强制转换 (类型)变量名 高--->低 int i = 128; byte b = (byte)i; System.out.println(i); System.out.println(b); // -128 内存溢出 //自动转换 (类型)变量名 低--->高 /* 注意点: 1. 不能对布尔值进行转换 2. 不能把对象转换为不相干的类型 3. 在把高容量转到低容量的时候,强制转换 4. 转换的时候可能存在内存溢出,或精度问题 */ System.out.println((int)23.5);//23 System.out.println((int)-45.38f);//-45 } }
public class Demo07 { public static void main(String[] args) { //操作比较大的数字的时候,注意溢出问题 //JDK7新特性,数字之间可以使用下划线来分割 int money = 10_0000_0000; int year = 20; int total = money * year; //-1474836480 计算的时候就出现精度溢出的问题 long total2 = money * year; //-1474836480 默认的是int,转换的时候已经存在问题 long total3 = (long)money * year;//需要先把一个数转换为long类型 System.out.println(total3);//20000000000 } }
这篇关于java数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能
- 2024-11-28如何高效管理数字化转型项目
- 2024-11-28SMART法则好用吗?有哪些项目管理工具辅助实现?
- 2024-11-28深度剖析:6 款办公软件如何构建设计团队项目可视化管理新生态?
- 2024-11-28HTTP缓存课程:新手入门指南
- 2024-11-28实战丨证券 HTAP 混合业务场景的难点问题应对