首页 > 编程语言 >Java基础3

Java基础3

时间:2024-07-24 21:52:06浏览次数:9  
标签:Java 数据类型 float 基础 char 浮点 double

变量

概念:内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化。

变量的构成三要素:  数据类型、变量名、存储的值

Java中变量声明的格式:  数据类型  变量名 = 变量值

说明:

1.变量都有其作用域。变量只在作用域内是有效的,出了作用域就失效了。

2.在同一个作用域内,不能声明两个同名的变量。

3.定义好变量以后,就可以通过变量名的方式对变量进行调用和运算。

数据类型

补充:引用数据类型包括:类(class)、数组([ ])、接口(interface)、枚举(enum)、注解(annotation)、记录(record) 前三种占主要

上图说明
1.java数据类型分为两大类基本数据类型,引用类型

⒉.基本数据类型有8中数值型 [ byte , short , int , long , float ,double, char , boolean ]

3.引用类型 [ 类,接口,数组 ]

整数类型:

整型的使用细节

1. Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证java程序的可移植性。

2. Java的整型常量默认为int型,声明long型常量须后缀加'l'或'L'

3. java程序中变量常声明为int型,除非不足以表示大数,才使用long

4. bit:计算机中的最小存储单位。byte:计算机中基本存储单元,1byte = 8 bit.

补充:

字节(Byte): 是计算机用于计量存储容量的基本单位,一个字节等于 8 bit。

位(bit):是数据存储的最小单位。二进制数系统中,每个0或1是一个位,叫做bit(比特),其中8bit就称为一个字节(Byte)。

转换关系: 8 bit = 1 Byte    1024 Byte = 1 KB    1024 KB = 1 MB    1024 MB = 1 GB    1024 GB = 1 TB

浮点型:

1.关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位

2.尾数部分可能丢失,造成精度损失(小数都是近似值)。

浮点型使用细节
1.与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。[float 4个字节; double是8个字节]
2. Java的浮点型常量(具体值)默认为double型,因为double的精度更高,声明float型常量,须后加'f'或‘F'
3.浮点型常量有两种表示形式

  • 十进制数形式:如:5.12   512.0f  .512(必须有小数点)
  • 科学计数法形式:如:5.12e2 [5.12*10的2次方]   5.12E-2[5.12/10的2次方]

浮点型的精度说明:

1.并不是所有的小数都可以精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂

2.浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域。如果需要精确数字计算或保留指定位数的精度,需要使用BigDecimal类。

//float num1 = 1.1 ; // 对不对? 错误  因为小数默认为double型,没有声明不能够直接存放在float中。
float num2 = 1.1F;  //对的
double num3 = 1.1;  //对
double num4 = 1.1f;  //对

浮点数使用陷阱:

//2.7 和 8.1/3比较看看一段代码
double num11 = 2.7;
double num12 = 8.1/3;//2.7
System.out.println(num11);//2.7
System.out.println(num12);//接近2.7的一个小数,而不是2.7
//得到一个重要的使用点:当我们对运算结果是小数的进行相等判断是,要小心
//应该是以两个数的差值的绝对值,在某个精度范围类判断
if( num11 == num12){
System.out.print1n("相等");}
//正确的写法
if(Math.abs(num11 - num12)<0.000001 ) {
System.out.println("差值非常小,到我的规定精度,认为相等...");
}

 字符型数据 char

 char型数据用来表示通常意义上“字符” (占2字节)。

表示形式1 :使用一对' '表示,内部有且仅有一个字符。

编译通过: char a1 = 'a'    char a2 = '你'  char a3 = '1'  char a4 = '&'  char a5 = 'γ'

编译不通过:  char a1= 'ab'  char = ''  (''里面没有字符也不可以!)

表示形式2: 直接使用Unicode值来表示字符型常量: '\uXXX'    例如: char a1 = '\u0036';

表示形式3: 使用转义字符  char a1 = '\t'  char a2 = '\n'

表示形式4: 使用ASCII码  char a1 =97  System.out.print(a1)  输出a(ASCII码是97)

 

标签:Java,数据类型,float,基础,char,浮点,double
From: https://www.cnblogs.com/gjwqz/p/17753988.html

相关文章

  • Java二叉树经典进阶OJ题解
     目录一、判断一颗二叉树是否为对称二叉树1.题目描述:2.代码示例:3.通过演示与分析:二、根据先序遍历结果构造二叉树1.题目描述:2.代码示例:3.通过演示与分析:三、层序遍历的非递归实现1.题目描述:2.代码示例:3.通过演示与分析:四、判断是否为完全二叉树1.题目描述:2.......
  • 第十二节 JMeter基础-中级地址信息【IF控制器】
    声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改。 背景:提交订单前,我们需要核对一些信息,比如商品信息,收货地址,支付方式等。现在核对一下收货地址信息。思路:1、前提条件:A用户登录。2、先判断地址列表是否有收货地址3、如果没有收货地址,则新增默认收货地......
  • Java基础常见面试题学习(上)
    1、JVMvsJDKvsJRE①Java虚拟机(JVM)是运行Java字节码的虚拟机。JVM有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的JVM实现是Java语言“一次编译,随处可以运行”的关键所在。JVM并不是只有一种!只要满足JVM规范,......
  • IPython的跨界魔术:%%javascript命令深度解析
    IPython的跨界魔术:%%javascript命令深度解析IPython,作为Python编程的强大交互式工具,提供了多种魔术命令来扩展其功能。其中,%%javascript魔术命令允许用户在IPythonNotebook中直接执行JavaScript代码,打通了Python和JavaScript两个世界,为数据可视化、Web内容操作等提供了便......
  • 密码学-RSA基础题解题脚本-Python
    importgmpy2#计算大整数模块importlibnumimportrsafromCrypto.PublicKeyimportRSA#安装时安装pycryptodome模块#已知:p,q,e,cdefknown_p_q_e_c():p=int(input('请输入一个素数p:'))q=int(input('请输入另一个素数q:'))e=int(input('请输入公钥e:'))......
  • Java流程控制
    Java流程控制用户交互ScannerScanner类获取用户输入Scanners=newScanner(System.in);通过next()与nextLine()获取输入字符串,读取前一般需要hasNext()与hasNextLine()判断是否还有输入的数据注意导入java.unil.Scanner以及关闭scanner顺序结构选择结构if单选择......
  • JAVA小白自学日记Day9
     1.序列化序列化版本号:serialVersionUID,是一个类的序列化版本号。如果在反序列化时,类的serialVersionUID与序列化时的版本号不匹配,那么会抛出 InvalidClassException 异常,表示类的版本不兼容,无法进行反序列化。如果流量没有定义,JDK会自动给与一个版本号,当该类发生变化(......
  • java连接redis和基础操作命令
    引入依赖<!--引入java连接redis的驱动--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.1</version></dependency>单机模式连接redismain(){//连接redis的信息默......
  • java中的一些经典算法code
    //1.importjava.util.LinkedList;importjava.util.Queue;publicclassCandyGame{//定义一个点的类,用于记录位置和当前累计的糖果数量staticclassPoint{intx,y,steps,candies;Point(intx,inty,intsteps,intcandies){......
  • Java后端开发知识点积累20240724
    1.使用流(Stream)API和lambda表达式来从一个dateBaseList列表中提取所有的title字段,并将这些title值收集到一个新的列表中dateBaseList.stream().map(InspectionManageEntity::getTitle).collect(Collectors.toList());2.@PathVariable注解作用@PathVariable是Spring框架中的......