首页 Java java教程 [Java入门笔记]Java语言基础(二):常量、变量与数据类型

[Java入门笔记]Java语言基础(二):常量、变量与数据类型

Dec 22, 2016 am 11:16 AM

常量与变量

什么是常量和变量

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

常量:

常量的值在程序运行时不能被改变,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 class Test{   int i1 = 1;  //成员变量     public class static main(String[] args){  //args是方法的参数,所以也是局部变量     int i2 = 2;  //局部变量   } }

按数据类型分:

  基本数据类型变量

  引用数据类型变量

public class Test{   int i = 1;  //基本数据类型变量   String s = new String();  //引用数据类型 }

 

使用变量的步骤:

第一步:声明一个变量——根据类型在内存中开辟空间第二步:赋值——将数据存入空间        第三步:使用变量——得到内存中的数据使用

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

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

public class Test{   int i3;  //如果是成员变量,系统会为其默认分配一个值0
  public static void main(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.798

   

整数类型

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 中常用的转义字符

85.jpg

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;  //会自动转换为shortb = (byte)s;  //不会自动转换,需要强制转换

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

public class Test {    
   public static void main(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语言基础(二):常量、变量与数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

php8数据类型怎么转换 php8数据类型怎么转换 Nov 16, 2023 pm 02:51 PM

php8数据类型的方法有字符串转换为整数、整数转换为字符串、字符串转换为浮点数、浮点数转换为字符串、数组转换为字符串、字符串转换为数组、布尔值转换为整数、整数转换为布尔值和变量类型判断和转换。详细介绍:1、字符串转换为整数包括intval()函数和(int)强制类型转换;2、整数转换为字符串包括strval()函数和(string)强制类型转换;3、字符串转换为浮点数等等。

MySQL数据库中性别字段应该使用什么数据类型? MySQL数据库中性别字段应该使用什么数据类型? Mar 14, 2024 pm 01:21 PM

在MySQL数据库中,性别字段通常可以使用ENUM类型来存储。ENUM是一种枚举类型,它允许我们在一组预定义的值中选择一个作为字段的值。在表示性别这样一个固定且有限的选项时,ENUM是一个很好的选择。让我们来看一个具体的代码示例:假设我们有一个名为"users"的表,其中包含了用户的信息,包括性别。现在我们要为性别创建一个字段,我们可以这样设计表结构:CRE

MySQL中最适合用于性别字段的数据类型是什么? MySQL中最适合用于性别字段的数据类型是什么? Mar 15, 2024 am 10:24 AM

在MySQL中,最适合用于性别字段的数据类型是ENUM枚举类型。ENUM枚举类型是一种允许定义一组可能取值的数据类型,性别字段适合使用ENUM类型是因为性别通常仅有两个取值,即男和女。接下来,我将通过具体的代码示例来展示如何在MySQL中创建一个性别字段并使用ENUM枚举类型存储性别信息。以下是操作步骤:首先,在MySQL中创建一个名为users的表格,包括

python数据类型有哪些 python数据类型有哪些 Dec 11, 2023 pm 04:17 PM

python数据类型有:1、整型;2、浮点型;3、复数;4、布尔型;5、字符串;6、列表;7、元组;8、集合;9、字典。详细介绍:1、整型,用于表示整数,可以是正数、负数或零,在Python中,整型可以表示的数值范围是平台特定的;2、浮点型,用于表示带有小数部分的数字,浮点型可以表示正数、负数和零;3、复数,用于表示复数,包括实部和虚部;4、布尔型,用于表示布尔值等等。

Python 语法的思维导图:深入理解代码结构 Python 语法的思维导图:深入理解代码结构 Feb 21, 2024 am 09:00 AM

python凭借其简单易读的语法,广泛应用于广泛的领域中。掌握Python语法的基础结构至关重要,既可以提高编程效率,又能深入理解代码的运作方式。为此,本文提供了一个全面的思维导图,详细阐述了Python语法的各个方面。变量和数据类型变量是Python中用于存储数据的容器。思维导图展示了常见的Python数据类型,包括整数、浮点数、字符串、布尔值和列表。每个数据类型都有其自身的特性和操作方法。运算符运算符用于对数据类型执行各种操作。思维导图涵盖了Python中的不同运算符类型,例如算术运算符、比

MySQL中性别字段最佳数据类型选择是什么? MySQL中性别字段最佳数据类型选择是什么? Mar 14, 2024 pm 01:24 PM

在设计数据库表时,选择合适的数据类型对于性能优化和数据存储效率非常重要。在MySQL数据库中,存储性别字段的数据类型真是没有所谓的最佳选择,因为性别字段一般只有两个取值:男或女。但是为了效率和节省空间,我们可以选择合适的数据类型来存储性别字段。在MySQL中,存储性别字段最常用的数据类型是枚举类型。枚举类型是一种能够把字段的值限定在一个有限的集合内的数据类型

MySQL中布尔类型的使用方法详解 MySQL中布尔类型的使用方法详解 Mar 15, 2024 am 11:45 AM

MySQL中布尔类型的使用方法详解MySQL是一种常用的关系型数据库管理系统,在实际应用中经常需要使用布尔类型来表示逻辑上的真假值。MySQL中布尔类型有两种表示方式:TINYINT(1)和BOOL。本文将详细介绍MySQL中布尔类型的使用方法,包括布尔类型的定义、赋值、查询和修改等操作,同时结合具体的代码示例进行说明。1.布尔类型的定义在MySQL中,可

C语言的基本语法和数据类型介绍 C语言的基本语法和数据类型介绍 Mar 18, 2024 pm 04:03 PM

C语言是一种广泛使用的计算机编程语言,具有高效、灵活和强大的特点。要想熟练使用C语言进行编程,首先需要了解其基本语法和数据类型。本文将介绍C语言的基本语法和数据类型,并举例说明。一、基本语法1.1注释在C语言中,可以使用注释来对代码进行说明,以便于理解和维护。注释可以分为单行注释和多行注释。//这是单行注释/*这是多行注释*/1.2关键字C语

See all articles