程序流程和异常
-
顺序结构
在Java程序中,语句执行的基本顺序按照各语句初选的位置先后顺序执行,称之为顺序结构,它是最简单的结构语句,它的执行顺序是自上而下,依次执行的。import java .util.Scanner;
public class SeqStatement {
public static void main(String[] args) {
double a,b,c,p,area;
Scanner scan = new Scanner (System.in);
System.out.printin(“请输入三角形的边A:”);
String s = scan.nextline();
a = Double.parseDouble(s);
System.out.printin(“请输入三角形的边B:”);
s = scan.nextline();
b= Double.parseDouble(s);
System.out.printin(“请输入三角形的边C:”);
s = scan.nextline();
c= Double.parseDouble(s);
System.out.println("三角形的三边分别是:a = %6.1f, b = %6.1f, c = %6.1f, \n ",a,b,c);
p = (a+b+c)\2;
area = Math.sqrt(p*(p-a)(p-b)(p-c));
System.out.println("三角形的面积 = %8.1f\n,“area);
}
- 选择结构
选择结构根据条件来控制代码的执行分支,也称分支结构。Java中包括两种控制分支的条件语句:if语句和switch语句。
if :
if(条件表达式)
语句/语句块;
(1)条件表达式可以是关系表达式、逻辑表达式、算数表达式等;
(2)语句/语句块可以是单个语句,也可以是多个语句。如果要执行多个语句,则需要使用花括号({})将这些语句组合成为一个代码块;
例子如下:
public class SingleDecision{
public static void main(String[] args) {
int a,b,t;
a = (int)(Math.random() * 101);
b = (int)(Math.random() * 101);
System.out.println(“原始值: a = %d, b = %d\n”,a,b);
if (a < b) {
t = a;
a = b;
b = t;
}
System.out.println(“降序值: a = %d, b = %d\n”,a,b);
}
}
if— else :
if(条件表达式)
语句/语句块1;
else
语句/语句块2;
当条件表达式的值为真(ture)时,执行if语句侯后面的语句1,否则执行else后的语句2.
例子: 比较两个数的大小
if嵌套 :
在if语句中包含一个或多个if语句,称其为if的嵌套。
if(条件表达式1){
if(条件表达式11){
语句1;
} else{
语句2;
}
} else{
if(条件表达式12)
语句3;
} else
语句4;}
为了正确表达if语句的嵌套关系,使用花括号确定if和else的配对关系。
例子:判断某一年是否是润年
switch :
switch语句是一个控制语句,它通过将控制传递给其体内的case语句来处理多个选择和枚举。
switch(控制表达式){
case 常量表达式 1;
语句序列1;
break;
case 常量表达式 2
语句序列2;
break;
…
case 常量表达式n
语句序列n;
break;
default;
语句序列n+1;
break;
}
for循环 :
for 循环语句是计数型循环语句,一般用于已知循环次数的情况,所以也称为定次循环。for循环是计算一个初始化表达式序列,当某个条件为真时,重复执行相关的循环语句序列并计算一个迭代表达式序列。
for(初始化设置表达式;循环执行条件;循环变量的增减值){
循环语句序列;
}
例子:求1 ~ 100的和,以及1 ~ 100中所有基数的和、偶数的和。
扫描类Scanner :
Java.uti.lScanner是Java5的新特征。
1、创建Scanner对象
Scanner sc = new.Scanner(System.in);
创建对象后,线程会阻塞,使控制台处于等待输入的状态,当输入完毕,按回车键以后,所输入的字符串内容会全部传给Scanner对象。
2、读取文件
一般就是通过字符串、输入流、文件等来直接构建Scanner对象。
3、用法
(1)Scanner默认使用空格符作为分割符来分割文本,也允许指定新的分隔符。
(2)next()方法输出的字符串没有空格,而nextLine()方法输出的带空格。因为nextLine()方法的结束符是回车键,可以返回回车键之间的所有字符。
String str = scanner.next() 遇到空格就结束
String str = scanner.nextLine() 识别空格
Scanner对象调用下列方法,读取用户在命令行中输入的各种数据类型:
next.Byte()
next.Double()
next.Float()
next.Int()
next.Line()
next.Long()
next.Short()
求斐波那契数列的前40项的和 :
用for循环产生20个随机数(10-20)
求一个数字的二进制数有几个1
5>输入一个数字,求他是几位数,并且顺序输出,逆序输出