java基本结构
顺序结构
一句一句往下执行,顺序结构是最简单的语法结构。java
1 2 public classHello{3 public static voidmain(String []args)4 {5 System.out.println("Hello1");6 System.out.println("Hello2");7 System.out.println("Hello3");8 System.out.println("Hello4");9 System.out.println("Hello5");10 System.out.println("Hello6");11 }12 }
选择结构
常见选择结构if()数组
语法:服务器
if( boolean类型数据)spa
{code
boolean类型条件成立时执行,不成立时跳过。blog
}字符串
if() else型string
语法:it
if(条件)for循环
{ 成立时执行。}
else
{ 不成立时执行。 }
eg:
1 packageStruct;2 3 importjava.util.Scanner;4 5 public classDeom01 {6 public static voidmain(String[] args)7 {8 Scanner scanner=newScanner(System.in);9 System.out.println("请输入一个整型数据");10 int x=1;11 if(scanner.hasNextInt())12 {13 x=scanner.nextInt();14 System.out.println("获得的整型数据为:"+x);15 }16 else
17 System.out.println("输入的数据不是整型的哦");18 scanner.close();19 }20 }21
esle if型
语法:
if(条件1) {1成立时执行}
else if(条件二) {2成立时执行}
else if(条件三) {3成立时执行}
else
{ 以上都不符合时执行。}
注:
else if能够无限嵌套,可是其中只有一条会被执行,执行语句后跟的else if()和else 都被跳过,再也不判断执行。
eg:
1 packageStruct;2 3 importjava.util.Scanner;4 //判断成绩分级
5 public classDeom02 {6 public static voidmain(String[] args) {7 int score=-1;8 System.out.println("输入分数:");9 Scanner scanner=newScanner(System.in);10 if(scanner.hasNextInt())11 score=scanner.nextInt();12 if(score>=60&&score<=69)13 System.out.println("及格");14 else if(score>=70&&score<80)15 System.out.println("良好");16 else if(score>=80&&score<90)17 System.out.println("优秀");18 else if(score>=90&&score<=100)19 System.out.println("很是优秀啊");20 else if(score>0&&score<60)21 System.out.println("不及格啊");22 else
23 System.out.println("输入的成绩不合法");24 25 }26 }
switch(){case}结构
语法:
switch(比较值)
{
case 选值1:
成立时的操做;
break;
case 选值2:
成立时的操做;
break;
......
default:
以上都不成立时的操做;
}
注:字符串String的比较在java SE 7及以上才可使用,case穿透现象是指当
case成立后其后和自己都没有break时,其后全部的选项都会被执行。
eg:
1 packageStruct;2 3 importjava.util.Scanner;4 5 public classDemo03 {6 public static voidmain(String[] args) {7 Scanner s=newScanner(System.in);8 System.out.println("输入成绩等级!");9 String x =s.next();10 switch(x){11 case "A":12 System.out.println("成绩为A");13 break;14 case "B":15 System.out.println("成绩为B");16 break;17 case "C":18 System.out.println("成绩为C");19 break;20 default:21 System.out.println("输入有误!");22 }23 24 }25 }
反编译
简单讲解利用IDEA进行反编译,
首先,打开File--->project struct--->复制文件夹路径
打开个人电脑输入路径进入文件夹,找到.class文件,将该文件复制进咱们当前的包路径,在IDEA中打开该文件,便可看到反编译的代码。
循环结构
一、while(){}循环
语法:
while(布尔语句)
{ 循环内容;}
当布尔语句为true时循环执行,当布尔语句为false时循环中止。先判断后执行,错误一次都不执行当一直为true时为死循环,程序一直执行,少数状况下例如等待服务器响应等会用到,通常应避免死循环。通常须要一个表达式失效的条件结束循环。
eg:
1 packageStruct;2 3 public class Demo04while { //计算1+2+3+4···+100的值
4 public static voidmain(String[] args) {5 int x=0;6 int sum=0;7 while(x<100)8 {9 x++;10 sum+=x;11 }12 System.out.println(sum);13 }14 }
二、 do{ }while();循环
语法:
do{ 循环内容; }while(布尔语句);
与while的区别主要是,无论布尔语句正确与否都会先执行一次,后再根据布尔语句肯定是否继续循环。
三、for(){}循环
语法:
for(初始化; 布尔语句; 迭代)
{ 循环内容 }
IDEA快捷键,100.for 能够快速写出for循环100次。
执行顺序为:先执行初始化,而后是布尔判断,true时执行循环,false时跳过循环,执行循环后,进行迭代,迭代后继续判断布尔语句的正确与否,而后继续循环或结束循环。
初始化能够为空(在for外面写 ),布尔语句觉得空是死循环,迭代也能够写在循环体内部
eg:
1 2 packageStruct;3 4 public classDemofor05 {5 public static void main(String[] args) {//输出一百之内能被5整除的数,每行输出三个
6 for(int i=1;i<=100;i++)7 {8 if(i%5==0)9 {10 System.out.print(i+"\t");11 if(i%(5*3)==0) //出现能被3*5整除的说明已经输出3次了,换行!
12 System.out.println();13 }14 }15 }16 17 }
循环的嵌套使用,外层循环一遍,内层循环一圈!
for( )
{
for( ) { }
}
常见案例:打印9 9乘法表!
packageStruct;
public classDemo06For {public static voidmain(String args[])
{for (int i = 1; i <=9; i++) { //外层循环
for (int i1 = 1; i1 <=i; i1++) { //内层循环
System.out.print(i1+"*"+i+"="+i*i1+"\t");
}
System.out.println();
}
}
}
for(){}加强!
java5之后新增的共能,
语法:
for(声明语句 : 表达式 ) //声明语句是定义的变量,表达式是数组或者返回值为数组的方法。
{
循环内容;
}
eg:
1 int []numbers={1,2,3,4,5};2
3 for( intx : numbers)4
5 {6
7 System.out.print(x);8
9 }
结果:
循环五次,每次的输出结果为numbers数组里的值1,2 ,3,4,5
break和continue
break;跳出当前循环,即该循环中止再也不执行。
continue;跳出本次循环,开始下次循环。
标签操做,给外层循环一个标签,在内层循环continue或者break标签能够直接跳出这个外层循环
eg
1 outer: for(int i=1;i<5;i++)2 {3 for(int x=1;x<5;x++)4 {5 if(x==2)6 {7 continue outer;//能够直接结束外层的本次循环,开始下一次循环
8 }9 }10 }11