Java中的语法结构(程序流程控制)##
Java的语法结构有四种:
1、顺序结构。
顺序结构很简单,就是按顺序执行,输出就可以了。
2、判断结构。
判断结构的一个代表性的语句是if;if语句有三种格式体现:
第一种格式:if(条件表达式){执行语句;}
public class Hello{
public static void main(String[] args){
int x=1;
if(x<6){
System.out.println("happy every day!");
}
}
}
第二种格式:if else语句。
public class Hello{
public static void main(String[] args){
int x=1;
if(x<6) {System.out.println("happy every day!");}
else {System.out.println("Hello Word");}
}
}
if else结构 简写格式(三元运算符):变量=(条件表达式)?表达式1:表达式2;
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
第三种格式:if , else if,else语句
public class Hello{
public static void main(String[] args){
int x=1;
if(x<6) {System.out.println("happy every day!");}
else if(x==8){System.out.println("Hello dear");}
else {System.out.println("NO");}
}
}
3、选择结构。
选择结构的代表性语句为switch语句;switch语句中涉及到四个关键字;分别为:switch,case,break,default。
public class Switch{
public static void main(String[] args){
int x = 3;
switch(x){
case 0:System.out.println("Hello1");break;//找到正确的数的时候break;
case 1:System.out.println("Hello2");break;
case 2:System.out.println("Hello3");break;
case 3:System.out.println("Hello4");break;
default :System.out.println("祝你开心");//如果这些答案都不对,执行default
}
}
}
case:定义备选答案,取值就是它的内容。
default:缺省默认,当所有都不会对时,则执行default。
switch :语句选择 只接受四种值:short、 char、 int 、byte。
4、循环结构。
代表性语句有三种:while;do while;for。
(1)while(条件表达式){执行语句;} //先判断,在执行。
public class Hello{
public static void main(String[] args){
int x=1;
while(x<3){
System.out.println("x="+x);
x++;} //如果不加x++这条语句,那就会一直输出x=1。
}
}
(2)do while;先执行后判断。
do{执行语句;}
while(条件表达式);
public class Hello{
public static void main(String[] args){
int x=1;
do{
System.out.println("x="+x);
x++;}
while(x<3);
}
}
(3)for(初始化表达式;循环条件表达式;循环后的操作条件表达式){执行语句;}
for语句执行的步骤为:先执行初始化表达式;其次执行循环条件表达式;然后是执行语句;最后才是执行循环后的操作条件表达式。
关于for循环,下面举几个常见的例子:
范例1:
//小球从100米高空落下,每次返弹的高度为原来高度的一半,计算在第十次落地的之后,小球的反弹高度和小球走过的总路程。
public class Loop1 {
public static void main(String[] args) {
double dis= 100.0, hei = 50.0;
for(int i = 2;i<=10;i++){
dis = dis + hei * 2;
hei = hei/2;
}
System.out.println("第十次的时候小球经过的总路程为" +dis+" ;" +"小球在第四次落地之后的反弹高度为"+hei );
}
}
范例2:
//有红球3个,白球3个,黑球6个,随手抓起8个,计算所有的可能性。
class Loop1{
public static void main(String[] args){
int white=3 ,red=3,black=6;
int count=0;
for(red=0;red<=3;red++)
for(white=0;white<=3;white++)
for(black=0;black<=6;black++)
if(red+white+black==8){
count++;
System.out.println("第"+count+"种"+count+"红球有 "+red+";"+"白球有 "+white+";"+"黑球 "+black);
}
}
}
范例3:
//判断一个数是不是素数。
class Loop1{
public static void main(String[] args){
int num = Integer.parseInt(args[]);
boolean isPrime = true;
for(int i=2;i<num-1;i++){
if(num%i==0)
isPrime = false;
break;
}
System.out.println(isPrime?num+"是素数":num+"不是素数");
}
}
范例4:
//打印等腰三角形。
class Loop1{
public static void main(String[] args){
for(int i=1;i<=5;i++){
for(int j=i;j<=5;j++){
System.out.print(" ");
}
for(int k=1;k<=i;k++){
System.out.print("* ");
}
System.out.println();
}
}
}
范例5:
//把任意一个整数转换成二进制输出
class Loop1{
public static void main(String[] args){
int num = Integer.parseInt(args[0]);
int res=num,remain,div=2;
String binaryString="";//定义一个字符串;要存放余数。
while(res>=div){
remain = res%div;
res=res/2;
binaryString = remain + binaryString;
}
binaryString = res+ binaryString;
System.out.println(binaryString);
}
}