首页 > 编程知识 正文

《java从入门到精通》(java编程完整教程)

时间:2023-05-05 19:46:42 阅读:90848 作者:3055

源地址: GitHub || GitEE

一、基本类型

1、基本类型

声明不使用New创建且不是按引用传递的变量。 变量值直接放置在堆栈上,并且大小不会随运行环境而变化,因此很有效率。 使用new创建的引用对象存储在堆中。

2、基本信息

的基本类型如下。 字节、短、整数、长、浮点、双精度、布尔、字符。 通过相关的方法可以看到范围的大小。

公共类inttype 01

publicstaticvoidmain (字符串[ ]数组) {

系统输出打印;

System.out.println (最小值: ' Integer.MIN_VALUE );

System.out.println (最大值(整数.最大值);

系统输出打印;

System.out.println (最小值: '双精度. min _ value );

System.out.println (最大值: '双精度.最大值_值);

}

}

二、案例用法

1、类型转换

自动转换:范围窄的数据类型可以自动转换为范围宽的数据类型。

强制转换:将一种数据类型转换为另一种数据类型。

类型升级:表达式的运算有不同的数据类型,类型会自动升级为范围更广的类型。

公共类inttype 02

publicstaticvoidmain (字符串[ ]数组) {

//自动转换

int i=112;

长j=I;

system.out.println(j

//strong制切换

双精度d=13.14;

intf=(int ) d;

系统输出打印机(f;

//类型设定

长r=I * j;

系统输出打印机(r;

}

(注意)类型转换最值得注意的问题是范围大小问题。

2、包装器类型

基本数据类型不符合面向对象的思想,因此出现了包装器类型,为包装器添加了更多的属性和方法。 自动包装器功能可以将基本类型转换为包装器类型。 对于每个原始类型,Java都提供了包类,如Integer、Double、Long、Boolean和Byte。

公共类别类型03

publicstaticvoidmain (字符串[ ]数组) {

整数1=空值;

杜比1=13.14;

长LON1=123 l;

}

{1}整数变量的默认值为空。 这表明Integer可以区分未来收入和值0的差异。 这有点像考试得了0分和没得0分的区别。

3、字符类型

字符类型变量用于存储包含汉字的Unicode编码字符。

公共类别类型04

publicstaticvoidmain (字符串[ ]数组) {

char cha1='知';

系统输出(cha 1;

}

请注意,unicode代码字符集中可能不包含:特殊的生僻字。

4、赋值和运算

=和=的区别:短S1=1; s1=s1 1和短s1=s1 1; s1=1; 问题。

公共类别类型05

publicstaticvoidmain (字符串[ ]数组) {

短S1=1;

//s1=s1 1; //变异错误: s1自动转换为int型

s1 =1;

system.out.println(S1;

}

==运算符由java语言规定,由编译器进行识别处理,因此可以正确编译。

5、布尔类型

2>

两个逻辑值: true和false,通常用来表示关系运算的结果。

public class IntType06 { public static void main(String[] args) { // 存在精度损失问题:0.30000000000000004 System.out.println(3*0.1); // true System.out.println(0.3 == 0.3); // false System.out.println(3*0.1 == 0.3); } }

三、Float和Dubble

1、基础概念

这两个类型可能大部分情况下都说不明白关系和区分,首先要理解几个基础概念。

浮点数:在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数乘以某个基数(计算机中通常是2)的整数次幂得到

单精度浮点数:单精度浮点数是用来表示带有小数部分的实数,一般用于科学计算。占用4个字节(32位)存储空间

双精度浮点数:双精度浮点数(double)是计算机使用的一种数据类型,使用64位(8字节)来存储一个浮点数。

2、对比分析

Float基本描述位数:32 最小值:1.4E-45 最大值:3.4028235E38Double基本描述位数:64 最小值:4.9E-324 最大值:1.7976931348623157E308案例描述

float和double声明和转换相关演示案例。

public class IntType07 { public static void main(String[] args) { // float 声明 float f1 = 12.3f ; // double 声明 double d1 = 13.4 ; // 向下转型,需要强制转换 float f2 = (float) d1 ; System.out.println("f1="+f1+";d1="+d1+";f2="+f2); } }

四、高精度类型

1、BigInteger

支持任意大小的整数运算,且不会再运算过程有任何丢失情况,没有对应的基本类型,运算也会变得相对复杂,运算速度自然也就会下降。

2、BigDecimal

支持任意精度的定点数,通常用来进行精确的货币计算,在公司的日常开发中,这里通常是硬性要求。

public class IntType08 { public static void main(String[] args) { BigDecimal dec1 = new BigDecimal(3.0) ; BigDecimal dec2 = new BigDecimal(2.11) ; // 精确加法运算 BigDecimal res1 = dec1.add(dec2) ; System.out.println(res1); // 精确减法运算,并截取结果 // HALF_UP:四舍五入 BigDecimal res2 = dec1.subtract(dec2); System.out.println(res2.setScale(1, RoundingMode.HALF_UP)); // 精确乘法运算 BigDecimal res3 = dec1.multiply(dec2) ; System.out.println(res3.doubleValue()); // 精确除法运算,并截取结果 // ROUND_DOWN:直接按保留位数截取 BigDecimal res4 = dec1.divide(dec2,2,BigDecimal.ROUND_DOWN); System.out.println(res4); } }

<END>

Java并发编程 | 线程的创建方式,状态周期管理

JavaEE编程基础:监听器、过滤器、拦截器,应用详解

JavaEE编程基础:会话跟踪技术,Session和Cookie详解

JavaEE编程基础:Servlet核心API用法详解

JavaEE编程基础:Http请求说明,握手挥手机制详解

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。