day.6

#IDEA扩展

打开文件所在位置-production文件夹下的就是java的编译以后的字节码文件(class文件)

 #IDEA实现反编译,打开存放class文件的文件夹,把class文件复制,然后粘贴到java文件夹的位置,然后再打开IDEA,会自动反编译

java文件所在位置可以打开File-Project Settings-Project,在Project compiler output那显示的文件夹位置,就是java文件存放位置(总存放位置)

 

1.if选择结构

一些时候需要判断一个东西是否可行,然后我们才使之执行,这样一个过程在程序中用if语句来表示,代码执行顺序:从左到右,依次执行

#if单选择结构

语法:

if(布尔表达式){

//如果布尔表达式为true将执行

}

  String str=s.next();

if(str.equals("hello")){
System.out.println(str);
}

#if双选择结构

if(布尔表达式){

//如果布尔表达式为true将执行

}else{

//如果布尔表达式为false将执行

}

String str=s.next();
if(str.equals("hello")){
           System.out.println(str);
      }else{
          System.out.println("end");
      }

#if多选择结构

if(布尔表达式1){

//如果布尔表达式1为true将执行

}else if(布尔表达式2){

//如果布尔表达式2为true将执行

}else if(布尔表达式3){

//如果布尔表达式3为true将执行

}......

else{

一开始的if里面的布尔表达式为false将执行

}

int score=s.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>=0){
    System.out.println("D级");
}else{
    System.out.println("输出不合法");
}

#嵌套的if结构

if(布尔表达式1){

//如果布尔表达式1为true将执行

    if(布尔表达式2){

       //如果布尔表达式2为true将执行

   }

}

int s1=s.nextInt();
if(s1>=0&&s1<=100){
    if(s1>=0&&s1<=50){
        System.out.println("这个数在0-50之间");
    }
    if(s1>50&&s1<=100){
        System.out.println("这个数在50-100之间");
    }

}else {
    System.out.println("这个数不在0-100之间");
}

2.switch多选择结构

switch case语句是一个多选择结构,用于判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。case标签必须为字符串常量或字面量(字符)

#switch语句中的变量类型可以是:

byte、short、int或者char(javase7开始,已经支持String类型了)

语法:

switch(expression){

case value1:(case数量任意)

//语句

break;//可选

case value2:

//语句

break;//可选
default://可选

//语句

}

char grade='C';
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;
    default:
        System.out.println("输入错误");

这段代码会输出合格

3.循环结构

会循环执行某些语句,一般为了避免死循环,需要加限制条件来结束循环

#while循环(先判断再执行)

语法:

while(布尔表达式){

//布尔表达式为true执行(如果一直为true,则会产生死循环)

}

*使布尔表达式失效来停止循环

//输出1-100
int i=0;
while(i<100){
    i++;
    System.out.println(i);
}

# do while循环(先循环再判断)(至少能执行一次)

语法:

do{

//代码语句

}while(布尔表达式);

//计算1+2...+100

do{
    sum+=i;//
    i++;
} while (i<=100);
System.out.println(sum);

#for循环  是支持迭代的一种通用结构,是最有效、最灵活的循环结构(循环次数在执行前确定)  最先执行初始化步骤。可以声明一种类型,可初始化一个或者多个循环控制变量,也可以是空语句。然后,检测布尔表达式的值,如果为true,循环体被执行,false则循环终止,开始执行循环体后面的语句,执行完一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)

再次检测布尔表达式,循环执行上面这些操作

在IDEA里可以快速生成for循环 如: 100.for然后回车,能写出for循环

语法:

for(初始化;布尔表达式;更新){

//代码语句

}

//计算0-100之间的奇数和偶数的和
int osadd=0;//偶数和
int jsadd=0;//奇数和
for (int i = 0; i < 100; i++) {
    if(i%2!=0){
        jsadd+=i;
    }else{
        osadd+=i;
    }
}
System.out.println("0-100内的偶数和"+osadd);
System.out.println("0-100内的奇数和"+jsadd);

//打印九九乘法表

法1:

for (int i=1;i<=9;i++){
    for(int j=1;j<=i;j++){
        System.out.print(i+"*"+j+"="+(i*j)+" ");
    }
    System.out.println();//换行
}

法2:

for (int i=1;i<=9;i++){
    for(int j=1;j<=9;j++){
        if(i>=j){
            System.out.print(i+"*"+j+"="+(i*j)+" ");
        }
    }
    System.out.println();//换行
}

#死循环

while(true){

}

for (; ; ) {//这也是死循环的一种,没有初始值,也没有判断
    
}

do{

} while(true);

4.增强for循环(偷懒用)

主要用来便利数组跟一些集合(java5的时候引进的)

语法:

for(声明形式:表达式){

//代码句子

}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等

表达式:表达式是要访问的数组名,或者是返回值为数组的方法

int []numbers={10,20,30,40,50};//一维数组
for(int x:numbers){//遍历数组的元素(把数组里的每项遍历出来,赋值给x)
    System.out.println(x);
}
//等同于
for (int i = 0; i < 5; i++) {
    System.out.println(numbers[i]);
}

4.break 、continue

#break

在任何循环语句的主体部分,均可以用break控制循环的流程,break用于强行退出循环,不执行循环中的剩余语句。(在switch中也能使用)

int i=0;
while (i<100){
    i++;
    System.out.println(i);
    if(i==30){
        break;//只是跳出这个循环没有终止程序
    }
}
System.out.println("===");

#continue

也用于循环语句,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断

int i=0;
while(i<100){
    i++;
    if(i%10!=0){
        System.out.println();
        continue;//使程序调到循环的最开始(即用来跳过一些东西)
    }
    System.out.print(i);//这把输出的只有10,20,30,40,50,60,70,80,90,100
}

#go to关键字

在java中是个保留字,未正式使用(不安全)

可以用标签使用它

label

#扩展(标签使用)

//打印101-150之间的质数
//质数:大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
int count=0;
//先定义一个标签
outer:for(int i=101;i<150;i++){
    for(int j=2;j<i/2;j++){
        if(i%j==0){
            continue  outer;//返回标签位置
        }
    }
    System.out.println(i+" ");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值