Java基本程序设计

来源:互联网 发布:博雅软件集团2017 编辑:程序博客网 时间:2024/05/22 17:26

1)编写java程序完成简单计算

这部分包含两部分内容:一是如何设计算法的问题,二是将算法翻译成程序代码的问题。
变量名应该尽量选择描述性的名字,而不是用xy这样的名字,还要指明变量的数据类型。
Java中基本类型包括整数、浮点数、字符以及布尔类型。加号(+)有两种意义:一种用途是做加法,另一种用途是用做字符串的连接,在源代码中,字符串常量不能跨行,否则会引起编译错误。


2)从控制台读取输入

Java使用System.in来表示标准输入设备,使用System.out来表示标准输出设备,Java并不直接支持控制台输入,但是可以使用Scanner类创建它的对象,以读取来自System.in的输入。

import java.util.Scanner; //Scanner is in the java.util packageScanner input = new Scanner(System.in);

下表是Scanner对象的方法

方法 描述 nextByte() 读取一个byte类型的整数 nextShort() 读取一个short类型的整数 nextInt() 读取一个int类型的整数 nextLong() 读取一个long类型的整数 nextFloat() 读取一个float类型的数 nextDouble() 读取一个double类型的数 next() 读取一个字符串,该字符在一个空白符之前结束 nextLine() 读取一行文本,以按下回车键为结束标志

3)标识符

  • 标识符是由字母、数字、下划线和美元符号构成的字符序列。
  • 标识符必须以字母、下划线或美元符号开头,不能以数字开头。
  • 标识符不能是保留字。
  • 标识符不能是turefalsenull
  • 标识符可以为任意长度。

在编程实践中,尽量不要用美元符号开头或结尾,也尽量不用下划线开头,习惯上,字符$只用在机器自动产生的源代码中。Java是区分大小写的。


4)变量

变量声明方法为:变量类型 变量名; 如int count;double interestRate
如果几个变量为同一类型,允许一起声明它们,如:int i, j, k
按照习惯,变量名使用小写字母,如果多于一个词,那除了第一个词以外,其他词的第一个字母都要大写。变量声明的同时也可以一步完成初始化,鼓励这么做,这会使程序易读,同时避免程序设计错误。


5)赋值语句和赋值表达式

赋值语句的语法为variable = expression;赋值语句是一个语句,行尾是有分号的,本质上是一个表达式,赋值语句常常被称作赋值表达式。


6)定名常量

定名常量,简称常量,表示从不改变的永久数据,如果频繁使用,但又不想重复地输入,就需要声明一个常量,语法如下:

final datatype CONSTANTNAME = VALUE;

常量必须在同一条语句中声明和赋值,单词final是声明常量的java关键字,按照习惯,常量用大写字母命名。
使用常量有三个好处:
- 不必重复输入同一个值;
- 只需在源代码中一个地方做改动,便处处改动;
- 给常量赋一个描述性名字会提高程序易读性。


7) 数值数据类型及其运算

类型名 存储大小 byte 8位带符号数 short 16位带符号数 int 32位带符号数 long 64位带符号数 float 32位,标准IEEE 754 double 64位,标准IEEE 754

double型是float型的两倍,通常情况下应该使用double,因为它比float型更精确。上溢和下溢是一个容易混淆的概念,如果要存储的数值正的太大或负的太小,超过了数据类型的范围,则发生上溢,如果要存储的数非常接近于0,导致计算机存储会因为精度问题而丢失的情况发生是,就说发生了下溢,Java通常将它近似认为是0,所以通常情况下无须考虑下溢问题。涉及浮点数的计算都是近似的,因为这些数没有以准确的精度来存储。


8)显示当前时间

GMT(格林威治标准时间)的格式是hour:minute:second。System类中的方法currentTimeMillis返回从GMT1970年1月1日00:00:00开始到当前时刻的毫秒数,这一时间也称为UNIX时间戳(UNIX epoch)。


9)简捷运算符

运算符 名称 举例 等价于 += 加法赋值运算符 i += 8 i = i + 8 -= 减法赋值运算符 i -= 8 i = i - 8 *= 乘法赋值运算符 i *= 8 i = i * 8 /= 除法赋值运算符 i /= 8 i = i / 8 %= 求余赋值运算符 i %= 8 i = i % 8

简捷运算符中间是没有空格的


10)数据类型转换

总是可以将一个数值赋给支持更大数值范围类型的变量,但是,如果不进行类型转换,就不能将一个值赋给范围较小类型的变量。相应地称为拓宽类型和缩窄类型,拓宽类型不需要显示转换,缩窄类型必须显式完成。类型转换的语法要求目标类型放在括号内,紧跟其后的是要转换的变量名或值,类型转换不改变被转换的变量。


11)字符数据类型及运算

字符数据类型char表示单个字符,注意:'A'是单个字符,而"A"是一个字符串。统一码和ASCII码的知识点较杂,可参考相关资料。统一码包括ASCII码。
下表是Java转义字符序列:

转义序列 名称 \b 退格键 \t Tab键 \n 换行符号 \f 进纸 \r 回车键 \ \ 反斜杠 \’ 单引号 \” 双引号

char型数据可以转换成任意一种数值类型,反之亦然,将一个整数转换成一个char型数据时,只用到该数据的低十六位,其余部分都被忽略。要将一个浮点值转换成char型时,首先将浮点值转换成int型,然后将这个整型值转换成char型。当一个char型数据转换成数值类型时,这个字符的统一码就被转换成某个特定的数值。


12)程序设计风格和文档

除了行注释//和块注释/* .... */之外,Java还支持Java文档注释,javadoc注释以/**........*/开头和结尾,它会注释整个类或整个方法,它能被JDK的javadoc命令提取出来,放入一个HTML文件,这些注释必须放在类或者方法前面,要注释方法中的某一步骤,建议使用行注释。
应该确保程序中为变量、常量、类和方法所选择的描述性的名字是直观易懂的,保持适当的缩进和空白,尽量采用行尾风格。


13)程序设计错误

  • 语法错误是在编译过程中出现的错误,由代码结构体中的错误引起,例如:拼错关键字,忽略了一些必要的标点符号,或者左花括号没有对应的右花括号。编译器会告诉错误在哪儿以及什么原因。因为一个错误常常会显示很多行的编译错误,因此推荐从最上面的行开始向下调试,这样做会有效率得多。
  • 运行错误是引起程序非正常中断的错误,输入错误就是典型的运行错误,例如:输入数据类型不匹配,0作除数等
  • 逻辑错误是指程序没有按预期的方式完成,是最难发现的一种错误,最好能用IDE的debug模式来进行追踪调试。

14)从输入对话框获取输入

两种方法:

- JOptionPane.showInputDialog(x);- JOptionPane.showInputDialog(null, x, y, JOptionPane.QUESTION_MESSAGE);

输入对话框返回的输入是一个字符串。要把一个字符串转换为一个int型值,使用Integer类中的parseInt方法,如:

int intValue = Integer.parseInt(intString);

要将一个字符串转换为一个double型值,使用Double类中的parseDouble方法,如:

double doubleValue = Double.parseDouble(doubleString);