第三节 Java编程规范以及语法基础

一、开发应用程序的5个阶段:

  1. 需求:了解问题本身,获得程序需要输入的数据和预期应产生的结果。
  2. 设计:在需求的基础上,找出解决问题的方法步骤。
  3. 分析:比较分析所有的解决方法,选择最好的方法来编写程序代码。
  4. 编写程序代码:选择语言工具进行编写代码。
  5. 验证:
    证明:执行程序时证明执行结果正确,输入数据符合既定组合,程序规格说明也都符合算法的需求。
    测试:程序需要测试各种可能情况、条件和输入数据,以测试程序无误,如有错误产生,就需要除错来解决问题。
    调试:如果程序无法输出正确结果,通过调试来找出错误的地方。要找出更正错误的方法。

二、算法

  1. 算法条件:
    输入:多个输入,也可无输入。
    输出:至少有一个输出结果。
    明确性:指令步骤明确。
    有限性:这组命令会结束。
    有效性:每个步骤可执行。
  2. 算法描述:一般语言文字、伪代码、流程图。

三、编程规范

(一)、源文件命名:

  1. Java源程序是扩展名为 .java的简单文本文件。
  2. 源文件命名约定:与类名保持一致保存时后缀为:. java
  3. 当一个源文件中有多个类时, 只能有一个类用public修饰, 源文件名必须是那个public 类的名字;如果没有public 类,源文件和其中任何一个类名相同即可。
  4. Java程序编译时,对应源文件中定义的每个类,生成一个以这个类名字命名、 以.class为后缀的字节码文件,源代码中定义了几个类,编译结果就生成几个字节码文件。

(二)、源程序录入注意事项:

  1. 字母大小写: Java是区分大小写的语言,程序中出现的关键字和标识符涉及到大小写字母时,要严格细分,不能混淆。
  2. 标点符号: 程序中涉及语法规定的{ }、( )、[]、,、; 、:、 ‘’、“”标点符号,都必须是英文的。 字符串中的标点符号则不做要求。
  3. 代码行缩进: 代码行采用按级别缩进格式,缩进时可按Tab键,用“;”分号表示语句的结束。
  4. 注释:
    行注释符 / /:用于单行注释。
    块注释符 / * */:用于多行注释 。
    文档注释符/ ** **/:包含在这部分中的注释可以通过javadoc命令来自动生成API文档。

四、语法基础

(一)、关键字

(二)、标识符

  1. 标识符可以由 英文字母、数字、下划线_和美元符号$ 组合而成。

  2. 标识符不能以数字开头。

  3. 标识符不能与关键字同名

  4. 标识符区分字母的大小写

  5. 标识符习惯用法:
    类名: 要求每个单词的首字母大写 ,如:HelloWorldApp 。
    常量名: 为全大写,如果是由多个单词构成,可以用下划线隔开,如:WEEK_OF_MONTH。
    变量名、对象名、方法名、包名等: 标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如:getAge。

  6. 分隔符:“;”、“[]”、“()”、“{}”

  7. 注释:“//”、“/* * / ”、“/** */”

(三)、数据类型

  1. java的数据类型分类:
  2. java基本数据类型取值范围:
数据类型所占字节表示范围
long(长整型)8-9223372036854775808~ 9223372036854775807
int(整型)4-2147483648~ 2147483647
short(短整型)2-32768~32767
byte(位)1-128~127
char(字符)20~65535
boolean(布尔)1true 或 false
float(单精度)4-3.4E38~ 3.4E38
double(双精度)8-1.7E308~ 1.7E308
数据类型的精度和范围大小
double>float>long>int>char>short>byte
  1. 转义字符:
    在这里插入图片描述

(四)、变量

  • 变量是指在程序运行过程中其值可以改变的量,先定义后使用。
    [修饰符] 类型标识符 变量名[=常量 ];
    如:public int i=0;

(五)、常量

  • 常量是指在程序运行过程中其值始终保持不变的量。

(六)、运算符和表达式

  1. 运算符分类:
    1. 双目算术运算符:+(加)、-(减)、*(乘)、/(除)和%(取余)。
    2. 单目运算符:++(自增)、–(自减)、-(负号) 。
    3. 关系运算符: <、<=、>、>=、==、!=(结果是布尔类型, true或false)。
    4. 条件运算符:表达式1 ?表达式2 :表达式3 。
    5. 逻辑运算符:&&(条件与)、||(条件或)、!(非)、^(异或)。
    6. 赋值运算符:=
    7. 位运算是对整数类型的操作数按二进制的位进行运算,所运算
      结果仍然是整数类型值。
运算符用例功能
~(位反)~a将a逐位取反
&(位与)a&ba、b逐位进行与操作
I(位或)aIba、b逐位进行或操作
^(位异或)a^ba、b逐位进行异或操作
<<(位左移)a<<ba向左移动b位,空位补0
>>(有符号右移)a>>ba向右移动b位,空位补符号位,正数补0,负数补1
>>> (无符号右移)a>>>ba向右移动b位,移动后的空位均用0填充

例如:a=15,b=2;计算~a和a^b的值。(用8位表示)
(1)将整数转换为二进制表示。a= 0000 1111,b= 0000 0010
(2)对a按位进行取反操作。~ 0000 1111 =1111 0000 (-16的补码)
(3)对a,b按位进行异或操作。
0000 1111
^ 0000 0010
0000 1101
所得结果:~a=-16,a^b=13。
Alt

  1. 运算符优先级:
    Alt
    Alt

(七)、数组

一维数组

二维数组

(八)、字符串

  1. 字符串不是一种基本数据类型,通过String类定义。 例如:String str=“helloword!”;
  2. 字符串比较 :
    == 比较s1和s2是否为同一个引用,是则为true,不同则为False。
    equals()方法则用于比较二者的内容是否相同,相同则为true,不同则为False。
    字。
  3. 字符串方法:
    • public int compareTo(String anotherString)方法——若当前字符串与参数字符串完全相同/大于/小于时,则返回0/正数/负数。
    • public int length()方法——获得字符串长度
    • public String toUpperCase()方法——将字符串中所有字母转换为大写字母 。
    • public String toLowerCase()方法——将字符串中所有字母转换为小写字母 。
    • public boolean startsWith(String prefix)方法——判断当前字符串的前缀是否为指定的字符子串。
    • public boolean endsWith(String suffix)方法——判断当前字符串的后缀是否为指定的字符子串。
    • public int indexOf(String ch)方法——从前往后查找字符ch在当前字符串中第一次 出现的位置,若找不到返回-1。
    • public int indexOf(String ch,int start)方法——在当前字符串中从指定位置向后查找,并返回该字符首次出现的位置。
    • public char charAt(int index)方法——获取字符串中某个字符的方法,index表示位置,从0开始。
    • public String concat(String str)方法——将参数字符串连接在当前字符串的尾部。

例: String s=“Study”,s1=“学习”;
System.out.println(s.length( ));//显示5
System.out.println(s1.length( ));//显示2

(九)、流程控制语句

三种基本控制语句:顺序结构语句、选择结构语句 、循环结构语句

1. 多分支If语句:

if(布尔表达式1)
语句1
else if(布尔表达式2)
语句2

else if(布尔表达式n)
语句n
[else
语句n+1]

Created with Raphaël 2.2.0 开始 布尔表达式1 语句1 结束 布尔表达式2 语句2 布尔表达式n 语句n [语句n+1] yes no yes no yes no

2. switch语句:

  • switch(表达式)
    { case 值1:语句块1;
    case 值2:语句块2;
    ………
    case 值n:语句块n;
    [default: 语句块n+1;]
Created with Raphaël 2.2.0 开始 表达式=值1 语句块1 语句块2 语句块n 结束 表达式=值2 表达式=值n [语句块n+1] yes no yes no yes no
  • switch(表达式)
    { case 值1:语句块1;
    break;
    case 值2:语句块2;
    break;
    ………
    case 值n:语句块n;
    break;
    [default:
    语句块n+1;]
Created with Raphaël 2.2.0 开始 表达式=值1 语句块1 结束 表达式=值2 语句块2 表达式=值n 语句块n [语句块n+1] yes no yes no yes no

3. while语句

while (布尔表达式)
{
循环体
}

4. do while语句

do{
循环体
}while(布尔表达式);

5. for循环语句

for循环语句和while循环语句的小区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,变量就从内存中消失不能再被访问到,而while循环结束还可以继续使用。

6. break语句:

  • 用于 switch语句中,表示从switch语句中跳出,转去执行其后的语句。
  • 用于循环语句中,表示从循环语句中跳出,转去执行其后的语句。
  • 不带标号的break语句:从它所在的switch分支或最内层的循环体中跳转出来,执行分支或循环体后面的语句。
  • 带标号的break语句:break 标号名; 表示从该标号所代表的语句块中跳出来,流程进入该语句块后面的语句。

在这里插入图片描述

7. continue语句:

  • 用在 while 和 do-while 语句中,表示转去执行条件判断,以决定是否开始新一轮循环。
  • 用在for循环语句中,表示转去执行“表达式3”,再进行条件判断,以决定是否开始新一轮循环。

8. return语句:

  • 用来使流程从方法调用中返回,表达式的值就是调用方法的返 回值,如果方法没有返回值,可以省略此语句。

五、程序的结构:

(一)、Java Application 程序

Java Application 程序: 是完整的程序,需要独立的解释器来解释执行,必须有main()方法。Java application 有图形界面字符界面两种形式。

  • 运行application程序:
    Alt

(二)、Java Applet 小程序

Java Applet 小程序: 是嵌在HTML编写的Web页面中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。Java applet 只有图形界面

  • 运行applet小程序:编写一个html文件,用标记把XXX.class嵌入到HTML文件中,然后在DOS命令行方式下输入命令: appletViewer 文件名. html
    在这里插入图片描述

(三)、示列

字符界面示列一:

public class JavaAppCharInOut     //含main方法的主类
{
      public static void main(String args []) //main方法作为程序入口
     {
          System.out.println("大家好,希望大家早成高手");
    }
}

Java application图形界面示列二:

import java.awt.*;        //加载图形界面设计要用的抽象窗口工具包
class JavaAppGraphics  extends Frame //定义一个继承于Frame类的子类
{
     Label  prompt;                                   //声明一个标签
     JavaAppGraphics ( )
   {
     prompt= new Label("祝你学习顺利!");  //设置标签提示字符信息
     setLayout(new FlowLayout()); //设置窗体上各控件的布局为流式布局
     add(prompt);                          //将标签加载到窗体中
     setSize(260,100);                     //设置窗体宽度、高度
     setVisible(true);                       //让窗体可见
   }
   public static void main(String ar[])
   {
       new JavaAppGraphics ( );        //构造一个新窗体对象
  }
}

Java applet图形界面示列三:

import java.awt.Graphics;       //加载awt包中的Graphics类
import java.applet.Applet;      //加载applet包中的Applet类
public class JavaAppletShow extends Applet  //定义一个继承于Applet类的子类
{
  public void paint(Graphics g)     //可在界面上绘制文本和图形、图象的方法
  {
      g.drawString("好好学习,天天向上! ",10,20);
  }
}

六、学习方法指导

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值