前言:
现时同学们对“java输入变量”都比较关切,看官们都需要学习一些“java输入变量”的相关内容。那么小编在网上搜集了一些对于“java输入变量””的相关内容,希望各位老铁们能喜欢,同学们一起来了解一下吧!1. 变量、常量
在说变量之前,有一个概念需要了解即标识符,简单来说标识符就像名字一样用来表示一个事物,标识符只是为了命名变量、常量、方法、类和包,所以做到标识符见名知意是能很好的提高程序的可读性的。
在Java中标识符的命名应该遵循以下规则:
标识符必须由数字、字母、下划线(_)和美元符号($)构成标识符不能以数字开头标识符不能是Java的保留字,如:int、class等标识符可以为任意长度
注意:
Java是区分大小写的,也就是说Area、area是两个不同的标识符。
1.1 变量
变量简单来说就是用来存储一个可能会被改变的值,然后提供给程序进行计算,例:x = 5,其中x就是一个变量,随后我们可能利用这个变量进行赋值运算等操作。
在使用变量前需要进行定义,指定该变量能存储什么类型的数据,变量的定义如下:
数据类型 变量名称;
下面是一些变量声明的示例:
int x; // 声明整型类型的变量xdouble y; // 声明双精度类型的变量y
声明变量之后,可以对变量进行初始化,即给变量一个初始值。可以将定义变量以及初始化变量一步完成,如:
int total = 1;// 上面的语句等同于int total; // 定义变量total = 1; // 初始化// 变量定义完成后就可以使用变量了total = 2; // 这里我将total的值修改为2
注意:变量在初始化或者赋值前必须进行声明,方法中的变量在使用之前必须进行赋值;
1.2 常量
针对于变量来说,常量表示的是一个不能被改变的值,一旦定义之后就无法改变,例如我们需要计算一个圆形的面积时需要使用进行计算,这时的值是永远不会改变的,所以可以定义为常量,常量的定义语法如下:
final 数据类型 常量名 = 值;
常量必须在一条语句中进行声明和赋值,其中final为Java的关键字,简单理解为用其标识的变量的值就不能在程序中进行修改,尽量在命名常量时使用大写字母命名。示例如下:
final double PI = 3.1415926;
使用常量的好处:
在需要重复使用一个值时不用去定义多个变量,共同使用一个常量即可;
若需要修改值,如将3.1415926修改成为3.14,则只用修改一处源码即可,然后编译;
1.3 变量和常量的作用域
在说作用域之前补充一个概念代码块。
代码块:使用{}括起来的代码被称为代码块。
作用域: 顾名思义就是变量或者常量可以使用的区域。
变量的作用域:
变量的作用域为声明的代码块,即在当前的{}内,出了这个{}就不生效了,当前的{}中可以存在多个子代码块,在子代码块中变量仍然生效,如:
{ int x = 0; { x = 10; } public void test() { x = 20; }} // 变量x在这个大括号中都可以使用x = 5; // 报错,Cannot resolve symbol 'x',标识该变量还未声明,这是一个新的变量不等同于上一个大括号内的变量x
变量的作用域可以分为如下几类,在后续的文章中将陆续说明:
类变量实例变量局部变量
常量的作用域:
其实常量不存在作用域,可以理解为定义了一个常量,可以在程序的任何地方去使用。
常量的使用:
在Java中使用常量,主要有以下几种方式:类属性,枚举,常量类,接口常量。
1.类属性:简单来说就是常量与这个类相关,但是数量不多,其他地方用不到,这时我们就可以直接在类中定义常量,当前类去使用,若是程序很多地方都需要使用该常量,这应该用枚举、常量类或者接口常量来管理;public static final String SUMMER = "夏天";
2.枚举:适合管理数量确定的一些数据,如一周固定为七天,然后将周一周二之类的数据在枚举类中定义,在后续的文章中将说明枚举的相关内容;
3.常量类:将常量定义在一个类中,但是该类不允许被继承,即用final关键字修饰,其中的常量定义时用static关键字修饰;
public final class Week {
public static String MONDAY = "Monday";
}
// 其他地方调用,使用类名.常量名即可
Week.MONDAY;
4.接口常量:跟常量类类似,只是将常量放置在接口中public interface Week {
String MONDAY = "Monday";
}
// 其他地方调用,使用接口名.常量名即可
Week.MONDAY;
2. 赋值语句以及赋值表达式
变量在声明之后,使用赋值语句给其赋值,在Java中将”=“作为赋值运算符,赋值语句的语法如下:
变量名 = 表达式;
表达式(expression)表示将值或者变量通过运算符组合在一起产生新的值。因此赋值语句也可以成为赋值表达式。
以下代码将展示赋值语句的使用:
int x = 5; // 直接将x赋值5double r = 1.0; // 直接将浮点类型的r赋值为1.0x = x + 1; // 将x加1后重新赋值给x,x的值变为6double area = r * r * 3.14; // 将变量r相乘后再乘以3.14后的值赋值给变量area
注意:
要给一个变量赋值,变量必须在赋值运算符的左边,例如:1 = x;就是错误的赋值。
在赋值语句中,左边变量的数据类型必须与右边值的数据类型,保持一致或者兼容,例如int类型的变量只能赋值为整数类型的且数值范围小于int类型的数据值。
3. Java的基本数据类型
在Java程序语言中有四类八种基本数据类型:
整型
byte、short、int、long
浮点型
float、double
字符型
char
布尔型
boolean
“位”是计算中存储数据的最小单位,记为:bit(b)。
在二进制计数系统中一个0或者1代表一位,特别注意1 Byte = 8 bit。
3.1 整型
整型数据类型的取值范围:
类型名
范围
存储大小
byte
~
8位带符号数
short
~
16位带符号数
int
~
32位带符号数
long
~
64位带符号数
注意:
定义double类型的变量时, 总是以L或小写l结尾,例:
double x = 12 l (很多时候l和数字1会很像,容易产生不必要的误会)
double x = 12 L(推荐)
3.2 浮点型
浮点型数据类型取值范围:
类型名
范围
存储大小
float
-3.4 E+38 ~ 3.4 E+38
32位(4个字节),标准IEEE 754
double
-3.4 E+38~3.4 E+38
64位(8个字节),标准IEEE 754
float:浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位二进制指数和一个 23 位尾数,尾数表示浮点数有效数字。
double:双精度浮点型,此数据类型与float相似,但精确度比float高,具有8个字节。
注意:
Java中的浮点数数据类型默认为double(双精度)可以d或D结尾,例:1.25 d或1.25 D。
若要定义float(单精度)必须在该变量或常量量后面附加一个F或f:
float x = 1.25 f
float x = 1.25 F
3.3 字符型
字符型数据类型用来表示单个字符,直接用单引号括住,如:
char letter = 'a';
一个字符在计算中是以0和1构成的序列的形式来存储的,就是说计算机只知道以二进制进行表示的数据。涉及到字符那就有必要了解一下什么是字符集和编码。
那什么是编码和解码?
简单来说人类的语言由各种字母或者符号来进行标识,以方便人们进行沟通交流,那计算机只认识0和1组成的二进制“语言”,那将人类的语言翻译给计算机识别的过程就可以称为编码,反之将计算机语言翻译给人类认识就称为解码。
正式点表达即:将字符映射为它的二进制形式的过程称为编码,字符有多种不同的编码方式。编码表定义该如何编码每个字符。
Unicode和ASCII码是什么东西?
计算机最初出现在美国,我们知道英语是由26个字母来组合表示的,那么也就是说用字母、数字和标点符合可以覆盖了所有的英语所表达的意思,我们将字母、数字和标点符号称为可见字符,但是对于计算机来说还有一些控制文本的符号,如:空格、转行等,我们将其称之为控制字符,那么美国人就将可见字符和控制字符组合在一起就成了一个字符集,那么字符集简单来说就是字符的集合。至此将包含了可见字符和控制字符的128个字符集称为ASCII字符集,如下:
码位
解释
0
空字符
1
标题开始
2
正文开始
...
...
10
换行
...
...
13
回车
...
...
31
单元分隔符
32
空格
33
!
...
...
48
0
...
...
57
9
...
...
65
A
...
...
90
Z
...
...
97
a
...
...
122
z
...
...
126
~
127
删除
其中第 0~31 个字符以及第 127 个字符(最后一个字符)都是不可见的(无法显示),即控制字符,32~126位可见字符。
那么字符集有了,怎么向计算机编码呢?美国人也很直接,直接将每个字符的码位的转换成二进制存储,那转换后的二进制我们就称为ASCII码。
随着计算机的普及,ASCII码已经不能覆盖全球的所有字符了,例如博大的中华文化岂是128个字符能表示的,所以由中国国家标准总局发布了GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,总共收录了6763个汉字,随着添加的汉字不断增加,随后又发布了GBK 即汉字内码扩展规范,GBK 共收入 21886 个汉字和图形符号。可见不同的国家发布不同的字符集,有很多种编码,到后面实在是太混乱了,所以由国际标准化组织(ISO)提出了Unicode。
Unicode其实可以将其看为一个标准,其诞生的目的就是要将全球的所有字符收纳到其中。Unicode一开始是使用UCS-2(16位)字符集,其只能表示的字符只有65536个,仍然不够表示全世界的字符,所以对其进行扩展,扩展到了32位即UCS-4字符集,可以表示近43亿个字符。
那什么是UTF-8呢?
UTF-8是一种编码规则,可以理解为将字符集码位用一种规则进行编码。针对编码及其规则,后续进行说明,现在了解他们是什么即可。
3.4 布尔类型什么是布尔类型的数据?
直接理解为,将值赋予true或者false,即对于关系真或者假。
布尔类型有什么用?
简单来说就是表示两个值之间的比较结果是为真还是为假,根据真假进行不同的操作,如:若买一个东西需要88,那我拥有的钱满足某个条件即可表示为真,反正为假,这里简单来说拥有的钱大于88为真,反之为假,那我有100,大于了88,结果为真,我可以买下这个东西,若我只有80,那么结果为假,我不能买这个东西。这个过程其实就是一个判断的过程,那这个判断的结果就需要使用布尔类型的数据来标识。
在计算机中布尔类型的数据用于两个值之间的比较,那么值之间的比较有如下关系,我们使用比较运算符来表示:
运算符
含义
示例
布尔类型结果
>
大于
8 > 6
true
<
小于
8 < 6
false
>=
大于等于
8 >= 6
true
<=
小于等于
8 <= 6
false
==
等于
8 == 6
false
!=
不等于
8 != 6
true
在Java中的实例如下:
x > 10; x < 10; x >= 10; x <= 10; x == 10; x != 10;3.5 运算符
两个值之间可以进行数值计算,那么就要使用数值运算符,Java中的运算符如下:
运算符
含义
示例
结果
+
加
1 + 1
2
-
减
1 - 1
0
*
乘
1 * 2
2
/
除
1.0 / 2.0
0.5
%
求余
20 % 3
2
注意:
当两个整型类型的数据相除时,结果为整型,小数部分抹除。
3.6 基本数据类型的默认值
在Java中基本数据类型可以定义后不进行赋值,Java会为其赋予默认值。
byte x; // 默认值为0short x; // 默认值为0int x; // 默认值为0long x; // 默认值为0Lfloat x; // 默认值为0.0fdouble x; // 默认值为0.0dchar ch; // ''boolean b; // false
标签: #java输入变量