3.3.1 程序的三种基本流程
简单语句
- 最简单的语句
方法调用语句
赋值语句,注意分号(;)
- 如:
System.out.println(“Hello World”);
a = 3+x;
b = a>0?a:-a;
s = TextBox1.getText();
d = Integer.parseInt( s );
程序的注释
Java中可以采用三种注释方式:
- // 用于单行注释。注释从//开始,终止于行尾;
- /* … */ 用于多行注释。注释从/*开始,到*/结束,且这种注释不能互相嵌套;
- /** … */ 是Java所特有的doc注释。它以/**开始,到*/结束。
JavaDoc
- 其中,第3种注释主要是为支持JDK工具javadoc而采用的。javadoc能识别注释中用标记@标识的一些特殊变量,并把doc注释加入它所生成的HTML文件。常用的@标记如下。
- @see:引用其他类。
- @version:版本信息。
- @author:作者信息。
- @param:参数名说明。
- @return:说明。
- @exception:异常说明。
- 对于有@标记的注释,javadoc在生成有关程序的文档时,会自动地识别它们,并生成相应的文档。
- 如:
- 生成:
- javadoc HelloDate.java
分支语句--if
if(条件表达式) 语句块; // if分支 else 语句块; // else分支
例子:
public class LeapYear{ public static void main( String args[ ] ){ int year=2003; if( (year%4==0 && year%100!=0) || (year%400==0) ) System.out.println(year+" is a leap year."); else System.out.println(year+" is not a leap year."); } }
分支语句--switch语句
- 使用switch要注意:
变量类型是整数、字符、字符串(String)
case后面是常量
注意break
例子:
public class GradeLevel{ public static void main( String args[ ] ){ System.out.println("\n**** first situation ****"); char grade='C'; switch( grade ){ case 'A' : System.out.println(grade+" is 85~100"); break; case 'B' : System.out.println(grade+" is 70~84"); break; case 'C' : System.out.println(grade+" is 60~69"); break; case 'D' : System.out.println(grade+" is <60"); break; default : System.out.println("input error"); } } }
IDE中的窗体设计
- Eclipse中
项目上点右键 New—Other—Windows Builder—Swing Designer—Jframe
在窗体上右键,Layout,(absolute)
加上按钮等组件,设置其属性
组件上右键,Add New Event Handler
- Netbeans类似
新建—Other—Swing GUI窗体
布局可设为null
循环语句
- 循环语句功能
在循环条件满足的情况下,反复执行特定代码
- 循环的五个要素
初始化部分(init_statement)
循环条件部分(test_exp)
循环体部分(body_statement)
迭代部分(alter_statement)
结束后处理
循环语句的三种写法
for 循环语句
语法格式 for (init_statement; test_exp; alter_statement){ body_statement } 应用举例 intresult = 0; for(inti=1; i<=100; i++) { result += i; } System.out.println("result=" + result);
while 循环语句
语法格式 [init_statement] while( test_exp){ body_statement; [alter_statement;] } 应用举例 intresult = 0; inti=1; while(i<=100) { result += i; i++; } System.out.println("result=" + result); 注意不要死循环
do/while 循环语句
语法格式 [init_statement] do{ body_statement; [alter_statement;] }while( test_exp); 应用举例 intresult = 0, inti=1; do{ result += i; i++; }while(i<=100); System.out.println("result=" + result);
例子:
import java.awt.*; import javax.swing.*; public class Circle99Frame extends JFrame { public static void main(String[]argv) { JFrame frame = new Circle99Frame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize( 600, 600 ); frame.setVisible(true); } public void paint(Graphics g) { g.drawString("circle 99", 20, 20); int x0 = getSize().width /2; int y0 = getSize().height /2; for( int r=0 ; r<getSize().height/2; r+=10 ) { g.setColor( getRandomColor() ); g.drawOval( x0-r,y0-r/2, r*2, r*2 ); } } Color getRandomColor() { return new Color( (int)( Math.random() * 256 ), (int)( Math.random() * 256 ), (int)( Math.random() * 256 ) ); } }
Goto语句及其弊端
- 有关Goto语句的争论
- Java中的解决方式
在循环中:break 标号,continue 标号
其中,在循环前面可以用标号来表明是哪重循环
break语句
break语句用于终止某个语句块的执行 { …… break; …… } break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块 label1: { …… label2: { …… label3: { …… break label2; …… } } }
例子:
public class TestBreak{ public static void main(String args[]){ for(int i= 0; i<10; i++){ if(i==3) break; System.out.println(" i=" + i); } System.out.println("Game Over!"); } }
i=0 i=1 i=2 Game Over!
continue 语句
- continue语句用于跳过某个循环语句块的一次执行
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
例子:
public class ContinueTest { public static void main(String args[]){ for (int i = 0; i < 100; i++) { if (i%10==0) continue; System.out.println(i); } } }
^^^ 94 95 96 97 98 99
特殊流程控制语句
使用break或continue标号
例子:
public class Prime100Continue{ public static void main( String args[ ] ){ System.out.println(" **** 100--200的质数 ****"); int n=0; outer: for(int i=101;i<200;i+=2){ //外层循环 for(int j=2; j<i; j++){ //内层循环 if( i%j==0 ) //不是质数,则继续外层循环 continue outer; } System.out.print(" "+i);//显示质数 n++; //计算个数 if( n<10 ) //未满10个数,则不换行 continue; System.out.println( ); n=0; } System.out.println( ); } }
**** 100--200的质数 **** 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
(本页内容摘自:https://www.icourse163.org/learn/PKU-1001941004?tid=1002731007#/learn/content?type=detail&id=1003758031&sm=1)