if语句运算
package Base.struct;
import java.util.Scanner;
public class Struct2 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
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
System.out.println("成绩不及格");
scanner.close();
}
}
输出结果:
Switch语句运算
package Base.struct;
public class Struct3 {
public static void main(String[] args) {
char grade='P';
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("未知等级");
break;
}
}
}
输出结果:
switch 匹配一个具体的值,jdk7新特性,表达式可以是字符串(字符的本质还是数字)。
反编译: java——class(字节码文件)——反编译
打开文件结构
复制路径打开可看到class文件
打开class文件,可看到反编码字符的哈希库对应值
while循环语句
最简单的while循环举例(一定条件会停止循环的举例),计算100以内的数字和:
package Base.struct;
public class Struct4 {
public static void main(String[] args) {
int i=0;
int sum=0;
while(i<=100){
sum=sum+i;
i++;
}
System.out.println(sum);
}
计算结果:
do…while循环
do while 循环举例:
package Base.struct;
public class Struct4 {
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对比:
package Base.struct;
public class Dowhile {
public static void main(String[] args) {
int a=0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("______下面是do while 循环——————");
do {
System.out.println(a);
a++;
}while (a<0);
}
}
输出结果:while无输出,do while 先输出再执行
for循环
for循环举例(与while循环对比):
package Base.struct;
public class For {
public static void main(String[] args) {
int a=1; //初始化条件
while (a<100){//条件判断
System.out.println(a); //循环体
a+=30; //迭代
}
System.out.println("while循环结束!");
for (int i=1;i<100;i=i+30){
System.out.println(i);
}
System.out.println("for循环结束!");
}
}
输出结果为:
【举例1】0-100之间的奇数和、偶数和:
package Base.struct;
public class For2 {
public static void main(String[] args) {
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);
}
}
输出结果为:
【举例2】用while循环或for循环输出1-1000之间能被5整除的数,每行3个数。
package Base.struct;
public class For3 {
public static void main(String[] args) {
for(int i=0;i<=1000;i++){
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){
System.out.println("");
//System.out.print("\n");
}
}
//print 输出完不会换行,println输出完会换行;
}
}
print 输出完不会换行,println输出完会换行;
输出结果:
【举例3】for循环打印九九乘法表
package Base.struct;
/**九九乘法表
* 1.先打印第一列;
* 2.用另一个for循环包裹起来
* 3.去掉重复项,i<=j
* 4.调整样式
*/
public class For99 {
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();
}
}
}
输出结果:
【举例4】for循环打印三角形
package Base.struct;
public class B3jiao {
//打印三角形 5行
public static void main(String[] args) {
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<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
运行结果:
for循环的两个写法
两个写法意思一样、运行结果一致
package Base.struct;
public class For4 {
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("_____________");
for (int X:numbers){ //第二种写法(增强)
System.out.println(X);
}
}
}
输出结果: