JAVA基础02基本程序设计

这篇博客详细介绍了JAVA编程中的基本程序设计概念,包括标识符的规则、变量的声明与使用、赋值语句的语法以及数值数据类型的运算。强调了变量的声明和初始化的重要性,以及使用命名常量和遵循命名习惯对程序可读性的影响。还讨论了数值类型、数值操作符、赋值操作符的增强形式以及自增和自减操作符的用法。此外,还提到了数值类型转换中的常见错误和陷阱,如溢出和取整错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2. 基本程序设计

2.1 标 识 符

标识符是为了标识程序中诸如类方法和变量的元素而采用的命名

所有的标识符必须遵从以下规则

  • 标识符是由字母数字下划线( _ ) 和美元符号($) 构成的字符序列
  • 标识符必须以字母下划线)或美元符号$)开头不能以数字开头
  • 标识符不能是保留字参见附录中的保留字列表)
  • 标识符不能是 truefalse null
  • 标识符可以为任意长度

注意:由于 Java 是区分大小写的所以 areaArea AREA 都是不同的标识符

提示:标识符是用于命名程序中的变量方法类和其他项具有描述性的标识符可提高程序的可读性。避免采用缩写作为标识符使用完整的词汇会更具有描述性。不要用字符 $ 命名标识符习惯上字符 $ 只用在机器自动产生的源代码中

 

 

2.2 变 量

变量用于表示在程序中可能被改变的值

变量用于表示特定类型的数据为了使用变量可以通过告诉编译器变量的名字及其可以存储的数据类型来声明该变量。变量声明告知编译器根据数据类型为变量分配合适的内存空间。

下面是一些变量声明的例子

int count; // Declare count to be an integer variable
double radius; // Declare radius to be a double variable
double interestRate; // Declare interestRate to be a double variable

如果几个变量为同一类型允许一起声明它们如下所示

datatype variablel, variable2, ... ( variablen;

变量之间用逗号分隔开例如

int i, j, k; // Declare i, j, and k as int variables

变量通常都有初始值可以一步完成变量的声明和初始化例如考虑下面的代码

int count = 1;

它等同于下面的两条语句

int count;
count = 1;

也可以使用简捷的方式来同时声明和初始化同一类型的变量例如

int i = 1, j = 2;

在赋值给变量之前必须声明变量方法中声明的变量在使用之前必须被赋值

任何时候都要尽可能一步完成变量的声明和赋初值这会使得程序易读同时避免程序设计错误。

每个变量都有使用范围变量的使用范围是指变量可以被引用到的程序的部分。

一个变量在可以使用前,必须被声明和初始化

 

 

2.3 赋值语句和赋值表达式

声明变量之后可以使用域值语句assignment statement) 给它赋一个值Java , 将等号( = )作为赋值操作符(assignment operator)。赋值语句的语法如下所示

variable=expression;( 变量=表达式;)

表达式expression) 表示涉及值变量和操作符的一个运算它们组合在一起计算出一个新值。例如考虑下面的代码

int y = 1; // Assign 1 to variable y
double radius * 1.0; // Assign 1.0 to variable radius
int x=5 * (3 / 2); // Assign the value of the expression to x
x = y + 1; // Assign the addition of y and 1 to x
double area = radius * radius * 3.14159;// Compute area

变量也可用在表达式中变量也可以用于 = 操作符的两边例如

x=x + 1;

在这个赋值语句中X+1的结果赋值给 X假设在语句执行前 X 1那么语句执行后它就变成了 2

要给一个变量赋值变量名必须在赋值操作符的左边因此下面的语句是错误

1=x;// Wrong

在数学运算中x =2*x+1表示一个等式但是Java x=2*x+1是一个赋值语句, 它计算表达式 2*x+1, 并且将结果赋值给 x

Java 赋值语句本质上就是计算出一个值并将它赋给操作符左边变量的一个表达式。由于这个原因赋值语句常常称作赋值表达式assignment expression)例如下面的语句是正确的:

System.out.println(x = 1);

它等价于语句

x=1;
System.out.println(x);

如果一个值要赋给多个变量可以采用以下语法

i =j = k = 1;

它等价于

k=l;
j=k;
i=j;

在赋值语句中左边变量的教据类型必须与右边值的数据类型兼容例如int x =1.0 是非法的因为 x 的数据类型是整型 int不使用类型转换的情况下是不能把 double 值1.0) 赋给 int 变量的

 

 

2.4 命名常量

命名常量是一个代表不变值的标识符

一个变量的值在程序执行过程中可能会发生变化但是命名常量named constant) 或简称常量,则表示从不改变的永久数据在程序清单中,π是一个常量如果频繁使用它,但又不想重复地输入 3.14159, 代替的方式就是声明一个常量π。

常量必须在同一条语句中声明和赋值

使用常量有三个好处

1 不必重复输入同一个值

2 ) 如果必须修改常量值例如,将π的值从 3.14 改为 3.14159)只需在源代码中的一个地方做改动

3 ) 给常量赋一个描述性名字会提高程序易读性。

 

 

2.5 命名习惯

严格遵循 Java 的命名习惯可以让你的程序易于理解以及避免错误

应该确保程序中为变量常量类和方法所选择的描述性名字是直观易懂命名是区分大小写的

下面列出变量常量方法和类的命名习惯

  • 使用小写字母命名变量和方法如果一个名字包含多个单词就将它们连在一起, 第一个单词的字母小写,而后面的每个单词的首字母大写例如变量 radius 和 area 以及方法 print
  • 类名中的每个单词的首字母大写例如类名 ComputeArea System
  • 大写常量中的所有字母两个单词间用下划线连接例如常童 PI 和常量 MAX_ VALUE。

对类命名时不要选择Java 库中已经使用的名称例如因为 Java 已定义了 System类,就不要用 System 来命名自己的类

 

 

2.6 数值数据类型和操作

2.6.1 数值类型

每个数据类型都有它的取值范围

下表列出了六种数值数据类型、它们的范围以及所占存储空间

 

2.6.2 从键盘读取数值

Scanner使用方法

Scanner  scanner=new Scanner(System.in);

int  xxx=scanner.nextInt();

 

2.6.3 数值操作符

数值数据类型的操作符包括标准的算术操作符加号+)减号(- )、乘号* )、除号(/) 和求余号(%)如表所示。

操作数是被操作符操作的值

注意:当除法的操作数都是整数时除法的结果就是整数小数部分被舍去例如5/2 的结果是 2 而不是 2.5而 - 5/2 的结果是 - 2 而不是 - 2.5。为了实现浮点数的除法其中一个操作数必须是浮点数。例如:5.0/2 的结果是 2.5

 

2.6.4 幂运算

使用方法 Math.pow(a,b)来计算 a^bpow 方法定义在 Java APIMath 类中

 

 

2.7 数值型直接量

一个直接量literal)是一个程序中直接出现的常量值

  • 整型直接量

只要整型直接量与整型变量相匹配就可以将整型直接量陚值给该整型变量如果直接量太大,超出该变量的存储范围就会出现编译错误例如语句 byte b=128 就会造成一个编译错误,因为 byte 型变量存放不下 128 (注意byte 型变M的范围是 -127~128)。

  • 浮点型直接量

浮点型直接量带小数点默认情况下是 double 型的例如S.0 被认为是 double 型而不是 float 可以通过在数字后面加字母 f F 表示该数为 float 型直接量也可以在数字后面加 d D 表示该数为 double 型直接量例如可以使用100.2f 100.2F 表示 float型值,100.2d 100.2D 表示 double 型值

  • 科学记数法

浮点型直接量也可以用 a * 10^b 形式的科学记数法表示,例如123.456 的科学记数法形式是 1.23456 * 10^2 ,0.012 345 6的科学记数法是 1.23456* 10^-2。 一种特定的语法可以于表示科学记数法的数值。例如1.23456 * 10^2可以写成 1.23456E2 或1.23456E+2而1.23456 * 10^- 2 等于 1.234S6E -2。E (e) 表示指数既可以是大写的也可以是小写的

 

 

 

2.8 增强赋值操作符

操作符 +、 - 、*、/、% 可以结合赋值操作符形成增强操作符

经常会出现变量的当前值被使用修改然后再重新赋值给该变量的情况例如下面语句将变量 count 1

count=count + 1;

Java 允许使用增强赋值操作符来结合赋值和加法操作符的功能例如上面的语句可以写成:

count += 1;

符号 +=称为加法赋值操作符addition assignment operator)其他简捷赋值操作符如表中所示

增强赋值操作符在表达式中所有其他操作符计算完成后执行例如:

x /=4 + 5.5 * 1.5;

等同于

x=x /(4 + 5.5 * 1.5);

注意:在增强操作符中是没有空格的。例如:+   =应该是 +=。

 

 

2.9 自增和自减操作符

自增操作符++) 和自减操作符 -- ) 是对变量进行加 1 和减 1 的操作

++和 -- 是对变量进行自增1和自减 1的简写操作符由于这是许多编程任务中经常需要改变的值,所以这两个操作符使用起来很方便例如下面的代码是对 i 自增1, 而对 j自减 1:

int i=3, j=3;
i++ // i becomes 4
j--; // j becomes 2

 

 

2.10 数值类型转换

通过显示转换浮点数可以被转换为整数

double d=4.5;
int i=(int)d; // i becomes 4, but d is still 4.5

将一个 int 型变量赋值给 short 型或 byte 型变量必须显式地使用类型转换例如,下述语句就会有一个编译错误

int i =1;

byte b = i;// Error because explicit casting is required

然而只要整型直接量是在目标变量允许的范围内那么将整型直接量赋给 short 型或 byte 型变量时就不需要显式的类型转换

 

 

2.11 常见错误和陷阱

  • 常见错误 1: 未声明未初始化的变置和未使用的变量

变量必须在使用之前声明为一个类型并且賦值一个常见的错误是没有声明变量或者初始化一个变量。

  • 常见错误 2: 整数溢出

数字以有限的位数存储当一个变量被陚予一个过大以存储大小而言的值以至无法存储该值,这称为溢出

  • 常见错误 3: 取整错误

一个取整错误也称为凑整错误是在计算得到的数字的近似值和确切的算术值之间的不同。例如如果保留三位小数位数1/3 近似等于 0.333, 如果保留 7 近似值是0.333 333 3因为一个变量保存的位数是有限的因此取整错误是无法避免的。涉及浮点数的计算都是近似的,因为这些数没有以准确的精度来存储

  • 常见错误 4: 超出预期的整数除法

Java 使用同样的除法操作符来执行整数和浮点数的除法当两个操作数是整数时/ 操作符执行一个整数除法,操作的结果是整数小数部分被截去要强制两个整数执行一个浮点数除法时,将其中一个整数转换为浮点数值

  • 常见陷阱冗余的输入对象

编程新手经常为每个输入编写代码创建多个输入对象

 

 

 

 

附录

下面是 Java 语言保留使用的 50 个关键字:

关键字 goto const C++ 保留的关键字,目前并没有在 Java 中使用到。如果它们出现在 java 程序中Java 编译器能够识别它们并产生错误信息

字面常量 truefalse null 如同字面值 100 — 样,不是关键字但是它们也不能用作标识符,就像 100 不能用作标识符一样

在代码清单中我们对 truefalse mill 使用了关键字的颜色以和 Java IDE 中它们的颜色保持一致。

 

 

 

 

 

 

编译运算练习

1.

 

 

2.

 

 

3.

 

 

4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值