我是靠谱客的博主 勤劳哈密瓜,最近开发中收集的这篇文章主要介绍java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

常量与变量

什么是常量和变量

常量与变量都是程序在运行时用来存储数据一块内存空间

常量:

常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字。常量还可以分为两种意思:

第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:

整型常量: 123

实型常量:3.14

字符常量: 'a'

逻辑常量:true、false

字符串常量:"helloworld"

这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”

第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了

//声明一个int类型的常量i

final int i = 1;//声明一个String对象类型的常量s,"Hello"字符串也是一个常量

final String s = "Hello";

需要注意的是:常量在声明时必须要给这个常量赋一个值。

变量:

是程序运行时用来存储数据的一块内存空间,是程序中最基本的存储单元,我们可以使用变量名访问变量。

Java变量的分类:

按声明位置分:

局部变量

成员变量

方法的参数是局部变量。

public classTest{int i1 = 1; //成员变量

public class static main(String[] args){ //args是方法的参数,所以也是局部变量

int i2 = 2; //局部变量

}

}

按数据类型分:

基本数据类型变量

引用数据类型变量

public classTest{int i = 1; //基本数据类型变量

String s = new String(); //引用数据类型

}

使用变量的步骤:

第一步:声明一个变量——根据类型在内存中开辟空间

第二步:赋值——将数据存入空间

第三步:使用变量——得到内存中的数据使用

我们使用变量前必须要先声明和赋值,声明和赋值可以分开,也可以结合为一步;

成员变量在声明时如果没有为其显式赋值,则会为其分配一个默认值。

public classTest{int i3; //如果是成员变量,系统会为其默认分配一个值0

public static voidmain(String[] args){int i1; //声明

i1 = 1; //赋值

int i2 = 2; //声明的同时为其赋值,2这个值也叫“直接量”

System.out.println(i1); //使用,将变量的值输出到Java控制台}

}

基本数据类型

Java是一种强类型语言,所谓强类型,就是每个变量表达式在编译时就必须要有一个确定的数据类型。Java数据类型分为两大类:基本类型和引用类型。

引用数据类型为:类、接口、数组。

Java中的基本数据类型分为四类八种,分别为:

基本数据类型

数值型

字符类型char

占用空间:2字节

布尔类型boolean

占用空间:1位

整数类型

浮点类型

字节byte

短整型short

整型int

长整型long

单精度型long

双精度型double

1字节

2字节

4字节

8字节

4字节

8字节

-128~127

-32768~32767

-2147483648

~2147483647

-9223372036854774808

~9223372036854774807

-3.403E38

~3.403E38

-1.798E308

~1.798E308

整数类型

Java整形常量默认为int类型,声明long类型常量需要在后面加上L

Java语言整形常量的3种表现形式

十进制整数:如12,-15,0

八进制整数:要求以0开头,如012

十六进制数:要求以0x或0X开头,如0x12

注:因为Java中可以使用十六进制方式赋值,因此类似于十进制10与十六进制A在内存中没有区别。

Java7之后Java中也可以使用二进制的方式为整形赋值。

byte b1 = 127; //正确

byte b2 = 128; //错误,超出范围

short = b1; //正确,将另外一个变量的值赋给该变量,并且没有超出范围

int i1 = 12;//正确

int i2 = 012; //正确

int i3 = 0x12; //正确

System.out.println(i2); //输出10,因为i2是以8进制方式赋值的

System.out.println(i3); //输出18,因为i3是以16进制方式赋值的

long lo = 2147483648L; //long类型声明需要加上L

浮点类型

Java浮点类型常量有两种表现形式:

十进制数形式:例如3.14   314.0   .314

科学计数法形式:如3.14e2   3.14E2   3.14E-2

Java浮点类型常量默认double,如果要声明一个常量为float则需要在后面加F

因为精度问题,因此不要用浮点类型做等于比较

float f1 = 123;float f2 = 123.4F;double d1 = 1234.5;double d = 3.141_592_65_36 //正确,java7后为了使比较长的数据较有可读性,可以在数字之间使用下划线

字符类型

字符类型是单引号括起来的单个字符

Java字符采用Unicode编码,每个字符占两个字节,因而可以用十六进制编码形式表示,如char c = 'u0061';

允许使用转义字符''将其后字符转为其他含义,如char c = 'n';换行

Java 中常用的转义字符

d1cfbef66fa57bd27d760b49ae6ba6ba.png

char c1 = '你'; //正确

char c2 = '你好'; //错误

char c3 = 'u9999'; //正确

System.out.println(c3); //输出'香'

布尔类型

用来存储"真","假"的类型,只有true和false两种值。

boolean b = true;

数据类型的转换

精度排序:(由低到高)

Byte < short < int < long < float < double

由低到高转换时系统会自动转换;高精度转换为低精度时,会有精度损失,须强制转换;运算时,不同类型会自动转换为高精度类型。

byte b = 127;short s = b; //会自动转换为short

b = (byte)s; //不会自动转换,需要强制转换

double常量转换为float常量产生溢出时不能转换

public classTest {public static voidmain(String[] args) throws Exception {double d = 12222222222222222222222222222222222222222222222222222.3;float f = (float) d; //d的值已经超出了float的范围,所以转换会“溢出”,但是编译不会报错

System.out.println(f); //因为产生了溢出,所以输出“Infinity”

}

}

系统在运算时会将数值自动转换为int型,将运算结果赋给原来的类型时需要进行强制转换。

byte b1 = 1;byte b2 = (byte) (b1 + 2); //数值运算时会自动转换为int,所以计算出结果后将值再赋给byte类型变量b2时需要强制转换

如果常量值超出了默认类型时,必须在后面加大于该默认类型的数值类型开头字母,如 long num=30000000000L; 因为整型类型默认为int,但30000000000在int中放不下,所以要在后面加小写l或大写L,转换为long型。

(数据类型名)要转换的变量或值  与  要转换的变量或值+转换符  这两种转换方式有本质上的区别,前一种表示它在计算机中是他原来的类型,再把它强制转换成现在的类型,后一种表示它一开始在计算机里就已经是转换完成了的这种类型。

long lo = (long)2;long lo2 = 2L; //这两种声明或转换有本质区别

最后

以上就是勤劳哈密瓜为你收集整理的java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...的全部内容,希望文章能够帮你解决java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部