-
java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
-
顺序结构是最简单的算法结构
-
语句和语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
package com.zhang.struct; public class ShunXunDemo { public static void main(String[] args) { System.out.println("hello1"); System.out.println("hello2"); System.out.println("hello3"); System.out.println("hello4"); System.out.println("hello5"); } }选择结构
-
if单选择
package com.zhang.struct; import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入内容:"); String s=scanner.nextLine(); //s.equals:判断字符串是否相等 if (s.equals("hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
请输入内容:
hello
hello
End -
if双选择 if(){}else{}
package com.zhang.struct; import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { //考试分数大于60及格,小于60 不及格 Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩:"); int score=scanner.nextInt(); if (score>60){ System.out.println("及格"); }else { System.out.println("不及格"); } scanner.close(); } }
请输入成绩:
80
及格 -
嵌套if多选择
if(){}
else if(){}
else if(){}
else
public class IfDemo03 { public static void main(String[] args) { //考试分数大于60及格,小于60 不及格 Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩:"); int score=scanner.nextInt(); if (score==100){ System.out.println("恭喜满分!"); }else if (score<100 && score>=90) { System.out.println("A级"); }else if (score<90 && score>=80) { System.out.println("B级"); }else if (score<80 && score>=70) { System.out.println("C级"); }else if (score<70 && score>=60){ System.out.println("D级"); }else if (score<60 && score>=0) { System.out.println("不及格"); }else{ System.out.println("成绩不合法"); } scanner.close(); } }
请输入成绩:
96
A级 -
嵌套的if结构
if(){
if(){}
}
-
switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值为一个分支。
switch语句中的变量类型可以是:
byte、short、int、或者char
从java SE开始,开始支持String类型了
同时 case标签必须为字符串常量或者字面量
switch(){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default://可选
//语句
}
public class SwitchDemo01 { public static void main(String[] args) { // 不写 break 会出现 case穿透 char grade='F'; switch (grade){ case 'A': System.out.println("优秀"); break;//可选 case 'B': System.out.println("良好"); break;//可选 case 'C': System.out.println("及格"); break;//可选 case 'D': System.out.println("再接再厉"); break;//可选 case 'E': System.out.println("挂科"); break;//可选 default: System.out.println("未知等级"); } } }
反编译
package com.zhang.struct; public class SwitchDemo02 { public static void main(String[] args) { //JDK的新特性,表达式结果可以是字符串 //字符的本质还是数字 //反编译 java---class(字节码文件)---反编译(IDEA) String name="狂神"; switch (name){ case "秦疆": System.out.println("秦疆"); break; case "狂神": System.out.println("狂神"); break; default: System.out.println("弄啥嘞!"); } } }
1.先找到 结构 找到class文件的 存贮路径
2.在idea中 右击当前 包,找到show in explore ,将上一步找到的class文件 复制 粘贴到 当前 java文件 中
3.在在 idea 中 打开class 文件 即可完成 反编译
循环结构-
while循环
while(){}
public class WhileDemo01 { public static void main(String[] args) { //输出1-100 int i =0; while (i<100){ i++; System.out.println(i); } } }
public class WhileDemo02 { public static void main(String[] args) { //死循环 while (true){ //等待客户端连接 //定时检查 //。。。。。。。 } } }
public class WhileDemo03 { public static void main(String[] args) { //计算1+2+3+。。。+100=? int i=0; int sum=0; while (i<=100){ sum=sum+i; i++; } System.out.println(sum); } }
-
do…while循环
循环至少会执行一次
public class DoWhileDemo01 { public static void main(String[] args) { int i=0; int sum=0; do { sum=sum+i; i++; }while (i<=100); System.out.println(sum); } }
和do-while的区别:
while先判断后执行。do-while是先执行后判断
do-while总是保证循环体会被至少执行一次。
public class DoWhileDemo02 { public static void main(String[] args) { int a=0; while (a<0){ System.out.println(a); a++; } System.out.println("========"); do { System.out.println(a); a++; }while (a<0); } }
-
for循环
for(初始化;布尔表达式;更新){
//代码语句
}
支持 迭代 的一种通用结构
public class ForDemo01 { public static void main(String[] args) { int a=1;//初始化条件 while (a<=100){//条件判断 System.out.println(a);//循环体 a+=2;//迭代 } System.out.println("while循环结束"); //初始化值;条件判断;迭代 for (int i=1;i<=100;i++){ //快捷键 100.for 自动生成 System.out.println(i); } System.out.println("for循环结束"); } }
public class ForDemo02 { public static void main(String[] args) { //练习1:计算0-100之间的奇数和偶数的和 int oddSum=0; //奇数的和 int evenSum=0;//偶数的和 for (int i = 0; i < 100; i++) { if (i%2!=0) {//奇数 oddSum += i; }else { //偶数 evenSum+=i; } } System.out.println("奇数的和"+oddSum); System.out.println("奇数的和"+evenSum); } }
public class ForDemo03 { //练习2:循环输出1-1000之间能被5整除的数,并且每行输出3个 public static void main(String[] args) { for (int i = 0; i <= 1000; i++) { if (i%5==0){ System.out.print(i+"t"); //println 输出完会换行 //print 输出完不会换行 } if (i%(5*3)==0){//整除15 第三个数字了 换行 System.out.println();//换行 //System.out.println("/n");换行 } } } }
//println 输出完会换行
//print 输出完不会换行
public class ForDemo04 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j; i++) { System.out.print(j+"*"+i+"="+(j*i)+"t"); } System.out.println(); } } }
11=1
21=2 22=4
31=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
61=6 62=12 63=18 64=24 65=30 66=36
71=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
import javax.xml.transform.dom.DOMResult; public class ForDemo05 { public static void main(String[] args) { int [] numbers={10,20,30,40,50};// 定义了一个数组 for (int i=0;i<5;i++){ System.out.println(numbers[i]); } System.out.println("=============="); //遍历数组元素 x每次循环从里面取值 for (int x:numbers) { System.out.println(x); } } }
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 4 at com.zhang.struct.ForDemo05.main(ForDemo05.java:10)
这是数组越界 提醒 注意 定义的数组 不要 越界
break continue-
break在任何循环语句的主体部分,均可用break控制循环流程,break用于强行退出循环,不执行循环中剩余的语句(也可用在switch语句中)
public class BreakDemo01 { public static void main(String[] args) { int i=0; while (i<100){ i++; System.out.println(i); if(i==30){ break; } } System.out.println("程序还在执行ing");// break 只是跳出 循环 并未 终止程序 } }
-
continue语句用于用在循环语句中,终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
public class ContinueDemo01 { public static void main(String[] args) { int i=0; while(i<100){ i++; if(i%10==0){ System.out.println(); continue; } System.out.print(" "+i); } } }
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
21 22 23 24 25 26 27 28 29
31 32 33 34 35 36 37 38 39
41 42 43 44 45 46 47 48 49
51 52 53 54 55 56 57 58 59
61 62 63 64 65 66 67 68 69
71 72 73 74 75 76 77 78 79
81 82 83 84 85 86 87 88 89
91 92 93 94 95 96 97 98 99
判断质数 可以 掌握 其他的 可以 了解
public class LAbelDemo { public static void main(String[] args) { //打印 101-150之间所有的质数 //质数 是指 在大于1的自然数中 ,除了1和它本身以外 不再有其他因数的自然数。 int count=0; // 不建议使用 outer:for (int i=101;i<150;i++ ){ for( int j=2;j 打印 杨辉三角 及Debugpublic class TestDemo01 { public static void main(String[] args) { //打印三角形 5行 for (int i = 1; i <= 5; i++) { for (int j=5;j>=i;j--){ System.out.print(" "); } for (int j=1;j<=i;j++){ System.out.print("*"); } for (int j=1;j可以利用 debug来 加强理解 三角形的 理解
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)