002 基本程序设计

本贴最后更新于 2043 天前,其中的信息可能已经时移世异

本文为《Java 语言程序设计》第十版 章节笔记

2.1 引言

2.2 编写简单的程序

编写程序设计如何设计算法以及如何将算法翻译成程序指令,即代码。

算法描述的是:如果要解决问题,所需要执行的动作以及这些动作执行的顺序。

变量代表了储存在计算机内存中的一个值。变量名尽量选择描述性的名字(descriptive name)声明变量 :为了能让编译器知道变量什么,需要指明它们的数据类型。

原始数据类型(基本数据类型):整数、实数、字符、布尔类型。

在源代码中,字符串常量不能跨行,可以将其分为几个单独的子串,用连接符(+)将它们组合起来。

2.3 从控制台读取输入

Java 使用 System.out 来表示标准输出设备,用 System.in 来表示标准输入设备。默认情况下,输出设备是显示器,输入设备是键盘。

使用 println 方法在控制台上显示基本值或字符串。

Java 并不直接支持控制台输入,但是可以用 Scanner 类创建它的对象,以来读取来自 System.in 的输入。eg:
Scanner input = new Scanner(System.in);

2.4 标识符

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

规则:

  • 由字符、数字、下划线(_)、美元符号($)构成
  • 以字母、下划线、美元符号开头,不能以数字开头
  • 不能是保留字
  • 不能是 true、false 和 null
  • 标识符任意长度

一般 $ 开头的只用在机器自动产生的源代码中。

2.5 变量

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

声明变量 :为了能让编译器知道变量什么,需要指明它们的数据类型,即储存在变量中的数据类型。eg:double radius

变量声明告知编译器根据数据类型为变量分配何时的内存空间。

一个变量必须先声明再赋值。任何时候,都要尽可能一步完成变量的声明和赋值。
eg:

double i; //声明单个变量
double i, k, g; // 声明多个变量
i = 2.0; // 给单个变量赋值
i = k = g =1.0; // 给多个变量赋值
double i = 2.0; // 声明和赋值一起
// 那同时给多个变量声明和赋值呢?分两条语句,先声明,再赋值。

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

2.6 赋值语句和赋值表达式

赋值语句的语法:

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

等号左右两边数据类型必须兼容。

2.7 命名常量

命名常量(named constant)或简称常量,表示从不改变的永久数据。

语法:
final datatype CONSTANTNAME = value ;
常量必须在同一条语句中声明和赋值。单词 final 是声明常量的 Java 关键字。

2.8 命名习惯

  • 变量和方法 使用小写字符命名,驼峰命名法
  • 类名 中的每个单词的首字母大写
  • 常量 中的所有字母大写,单词间用下划线连接

2.9 数值数据类型和操作

2.9.1 数值类型

类型名 范围 储存大小
byte -2^7 (-128)~ 2^7 -1(127) 8 位带符号数
short -2^15(-32 768)~ 2^15-1(32767) 16 位带符号数
int -2^31(-2 147 483 648)~ 2^31-1(2 147 483 647) 32 位带符号数
long -2^63 ~ 2^63-1 (-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807) 64 位带符号数
float 负数范围:-3.4028235E+38 ~-1.4E-45 正数范围:1.4E-45 ~ 3.4028235E+38 32 位,标准 IEEE 754
double 负数范围:-1.797691348623157E+308 ~ -4.9E-234 正数范围:4.9E-324 ~ 1.7976931348623157E+308 64 位,标准 IEEE 754

2.9.2 从键盘读取数值

Scanner input = new Scanner(System.in);
System.out.print("Enter a byte value: ");
byte byteValue = input.nextByte();

Scanner 对象方法:

  • nextByte()
  • nextShort()
  • nextInt()
  • nextLong()
  • nextFloat()
  • nextDouble()

2.9.3 数值操作符

  • +
  • -
  • *
  • /
  • %

为了实现浮点数的除法,其中一个操作数必须是浮点数。
/、% 的结果正负都是看 被除数的正负。

2.9.4 幂运算

Math.pow(a, b)

2.10 数值型直接量

整型直接量默认是 int 型的,浮点直接量默认是 double 型的。

科学计数法
1.23456 * 10^2 可以写成 1.23456E2 或 1.23456E+2;
而 1.23456 * 10^-2 等于 1.23456E-2。

2.11 表达式求值以及操作符优先级

先括号,再乘除,最后加减。

2.12 实例学习:显示当前时间

import java.util.Date;
import java.text.SimpleDateFormat;

public class test {
    public static void main(String[] args) { 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(df.format(new Date()));
    }
}

2.13 增强赋值操作符

  • +=
  • -=
  • *=
  • /=

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

2.14 自增和自减操作符

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

  • ++var:先加 1 再参加计算
  • var++:先参加计算,最后 var 值加 1
  • --var:先减 1 再参加计算
  • var--:先参加计算,最后 var 值减 1

2.15 数值类型转换

总是可以将一个数值赋给支持更大数值范围类型的变量,Java 自动拓宽。
将一个值赋给一个范围较小的类型的变量,就需要显式的进行转换,同时会丢失精度。

End

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3168 引用 • 8207 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...