本文共 2919 字,大约阅读时间需要 9 分钟。
选择结构
if单选择
if双选择结构
if多选择结构
switch多选择结构
switch语句用来匹配一个特定的值
字符串经编译后比较的是字符串的哈希值
char c = 'C';
switch (c){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("其他等级");
}
IDE的反编译
右键Project Structure(一个文件夹图标)-->点击project选项-->查看project compiler output的文件目录-->打开此文件目录--->将对应的.class文件从物理层拷贝到.java文件所在文件夹
循环结构
while循环
格式:while(表达式){循环内容}
特点:
表达式为boolean值,如果为true程序会一直执行也就是死循环,一般我们都需要将表达式的值设为false,当循环达到某个特定条件就结束循环;极少数情况下,我们会让程序一直执行,比如服务器的请求响应监听等
案例
//案例:计算1+2+3+4+...+100的值
//定义一个计数器i,从1开始进行累加
int i = 0;
//定义一个变量记录总和
int sum = 0;
//循环累加,i进行自增,当i>100时循环停止
while (i<=100){
sum += i;
i++;
}
System.out.println("sum = " + sum);
do...while循环
格式:do{循环内容}while(表达式)
do...while与while的区别:
while循环是先判断再执行,而do...while是先执行再判断
do...while保证循环体至少执行一次。这是二者的主要差别
int i = 0;
while (i < 0){
i++;
System.out.println("while循环中i= " + i);
}
System.out.println("============================");
do {
i++;
System.out.println("do...while中i=" + i);
}while (i<0);
//显示结果:
============================
do...while中i=1
for循环
for( ; ; ){}:为死循环
案例:
案例1:计算0-100间奇数和偶数的和
//计算0-100间,奇数与偶数的和
int oddSum = 0;
int evenSunm = 0;
for(int i=0;i<=100;i++){
if (i%2!=0){//奇数
oddSum+= i;
}else {//偶数
evenSunm+= i;
}
}
System.out.println("奇数的和:oddSum=" + oddSum);
System.out.println("偶数的和:evenSum=" + evenSunm);
案例2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
//案例2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if (i%5 == 0){
System.out.print(i + "\t");
}
if (i%(5*3)==0){
System.out.println();
}
}
//while循环
int i =0;
while (i<=1000){
if (i%5==0){
System.out.print(i + "\t");
}
if (i%(5*3)==0){
System.out.println();
}
i++;
}
案例3:打印九九乘法表
//打印九九乘法表
/*
1.先打印第1列,从第一列开始
2.在第1列外面加个循环,使固定的1变为一个变量
3.去除重复项
4.美化输出
*/
for (int i = 1; i <= 9; i++) {//控制行数
for (int j = 1; j <= i; j++) {//控制每行的个数
System.out.print(j + " * " + i +" = " + (i*j) + "\t");
}
System.out.println();
}
break 与Continue
break退出整个循环,不执行剩下的循环语句
continue退出本次循环,还会执行下一次循环的语句判定
练习
案例:打印三角形
//打印三角形 5行
/*
分析:
1.先打印一个5*5的正方形
2.将第一个内循环,打印出一个倒三角(第一行打印5个*)
3.将第二个内循环,打印出一个直角三角。(第一行打印1个*)
4.将第三个内循环,按照第二个内循环打印,但是注意,因为第一行已经有了一个*,所以第三个内循环需要
*/
for (int i = 1; i <=5; i++) {//打印的是5*5的正方形
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
System.out.print("*");
}
System.out.println();
}
*
***
*****
*******
*********
//打印菱形
/*
分析:
1.相当于是两个三角形拼接成
*/
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
System.out.print("*");
}
System.out.println();
}
//打印倒三角
for (int i=1;i<=5;i++){
for (int j=1;j<=i;j++){//设置倒三角
System.out.print(" ");
}
for (int j=5;j>=i;j--){//打印第一个直角三角
System.out.print("*");
}
for (int j=5;j>i;j--){//打印第二个直角三角
System.out.print("*");
}
System.out.println();
}
转载地址:http://ytdoo.baihongyu.com/